(allure报告定制-完整版)allure报告定制代码实现
前提:安装allure
安装allure-pytest库
pip install allure-pytest
使用@allure.feature
来标记一个特性,使用@allure.story
来标记一个故事,使用@allure.step
来标记一个步骤。
当你运行测试并生成Allure报告时,你可以在命令行中使用allure serve
命令来查看报告。你也可以将报告生成为HTML文件,然后在浏览器中打开它。
定制化可以添加链接/附件/描述等,这边不做介绍,查看更多。
1.用例代码:
import allure @allure.epic('项目名称01') @allure.feature('登录模块') # 一般用在类上方 @allure.title('测试用例标题') @allure.story('登录成功') @allure.severity(allure.severity_level.CRITICAL) def test_login(): with allure.step('输入用户名'): print('请输入用户名') user = input() with allure.step('输入密码'): print('请输入密码') password = input() with allure.step('点击登录按钮'): print('点击登录按钮') # 这里假设有一个名为click_login的函数可以模拟点击登录按钮 # click_login(user, password) with allure.step('检查是否登录成功'): # assert check_login(user) assert user != password
2.运行用例
在运行pytest时通过--alluredir
参数指定allure结果的输出目录,且将历史记录清除,例如:
控制台运行:
pytest --alluredir ./reports/allure_result --clean-alluredir
如果运行有问题,增加 -s 指令
pytest -s --alluredir ./reports/allure_result --clean-alluredir
运行结果:在设置的目录下,新增一个 reports 的文件夹,且有一个 allure_result 的文件
直接查看报告:
allure serve allure-report
3.生成HTML报告:
在项目目录下,新增一个 allure_report 文件,里面可以直接查看HTML文件
allure generate ./reports/allure_result -o ./reports/allure_report
运行结果:
查看HTML文件
4.报告页面设置为“中文”
设置一次后,以后生成的报告都会显示中文模式
5.更换logo和名称
6. allure报告设置自动运行
(1)配置文件pytest.ini
增加生成allure属性
[pytest] addopts = -v -s --html=./report/report.html --alluredir ./report/result --clean-alluredir testpaths = ./testcode python_files = test_*.py python_classes = Test* python_functions = test_*
(2)主函数run.py
import pytest import os import time if __name__=="__main__": pytest.main(["-s","./","--capture=sys"]) #--capture=sys会把报错的情况写进测试报告中 os.system('allure generate report/result -o report/{}.html --clean'.format(time.strftime("%Y%m%d-%H%M%S")))
如果每次都覆盖前一个报告,可以不添加时间戳
os.system('allure generate report/result -o report/allure_html --clean')
参数说明:
./temp 临时的json格式报告的路径
-o 输出output
./report 生成的allure报告的路径
–clean 清空./report路径原来的报告
运行结果: