自动化测试报告Allure的配置及入门
if __name__=='__main__': # -s 参数不加的时候,日志会自动捕捉到Allure报告里去 # pytest.main(['-sv','./case/test_excel_V2.py']) # 生成allure报告的数据源文件,json格式;--clean是每次清空 pytest.main(['-v','--alluredir','./result','--clean-alluredir','./case/test_excel_V31.py']) # 生成allure报告,此处的--clean是能保证可以重复生成allure报告;此处的-o 是输出报告,./report # 是输出报告的名称; os.system('allure generate ./result -o ./report --clean')
一、Allure配置
前提:需要JDK1.8以上
1、下载allure;从github上下在allure,进行解压;https://github.com/allure-framework/allure2/releases
2、解压;
3、配置环境变量:将解压后的allure的bin目录,配置到环境变量中(path)
4、安装插件:allure-pytest (生成报告的插件)
pip install allure-pytest
5、验证 allure --version; 验证allure-pytest: pip show allure-pytest
6、一般配置好allure后,如果allure没有生效,需要重启pycharm
二、使用
1、生成allure报告的json数据源;--alluredir,后面加上路径,即是json数据源的路径
pytest.main(['--alluredir=result']) 或
pytest.main(['--alluredir','./result']
1.2 生成可展示的web版报告
os.system('allure generate ./result -o ./report')
1.3 注意:调试时,需要把pycharm的testing工具选择为Unitest,而不是pytest(因为是pytest时,生成不了报告)
2、在命令行中启动allure服务 (用来查看报告),需要进入到对应目录
allure serve + 报告数据的路径
二、用例失败重运行
1、安装插件 pytest-rerunfailures
pip install pytest-rerunfailures
2、通过 --reruns 指定失败后重运行的次数,--reruns-delay 指定失败后重运行的时间间隔
如 pytest --reruns 3 --reruns-delay 5
三、allure的装饰器
1、使用allure装饰器,抓取请求参数;@allure.step()
@allure.step();这个allure装饰器,可以自动捕捉请求参数到报告中去
这样生成的allure报告,会带上请求参数;
@allure.step('发送post请求') def post(self,url,headers=None,data=None,json=None,**kwargs): return requests.post(url,headers=headers,data=data,json=json,**kwargs)
如下面红框里的,就是带@allure.step()装饰器生成的请求参数信息;

2、使用allure装饰器,动态生成用例标题,模块名,备注信息,用例级别
allure.dynamic.xxxx xxx代表对应的要动态生成的信息
动态获取feature模块名(大模块) |
allure.dynamic.feature(data[12]) |
动态获取story模块名 (小模块) |
allure.dynamic.story(data[11]) |
动态生成标题 (用例标题) |
allure.dynamic.title(data[10]) |
动态获取备注信息 |
allure.dynamic.description(data[13]) |
动态获取用例级别(blocker,critical,normal,minor,trival) |
allure.dynamic.severity(data[14]) |
比如
feature,可以定义为xx商城;story可以是该商城下的不同模块,如登录,注册;也可以根据需要实际来展示和定义;
3、关于allure的用例级别:
- blocker:阻塞缺陷(功能未实现,无法下一步)
- critical:严重缺陷(功能点缺失)
- normal:一般缺陷(边界情况,格式错误)(如果不写,默认是该级别)
- minor:次要缺陷(界面错误与ui需求不符)
- trivial:轻微缺陷(必须项无提示,或者提示不规范
'allure' 不是内部或外部命令,也不是可运行的程序 或批处理文件。如果运行生成allure报告时,报此错误,大多是没有配置allure环境变量;具体如何配置,见下面文章详情;
https://blog.csdn.net/weixin_45135767/article/details/108695300
https://www.cnblogs.com/jjliu2018/p/16067876.html
https://blog.csdn.net/ccb1991/article/details/91902446
浙公网安备 33010602011771号