'allure' 不是内部或外部命令,也不是可运行的程序 或批处理文件。如果运行生成allure报告时,报此错误,大多是没有配置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')
一、pytest测试报告
1、从github上下在allure,进行解压;https://github.com/allure-framework/allure2/releases
2、将解压后的allure的bin目录,配置到环境变量中(path)
3、安装插件:allure-pytest (生成报告的插件)
pip install allure-pytest
4、执行用例的时候,加上 --alluredir=报告数据存放的路径,
pytest.main(['--alluredir=report'])
5、在命令行中启动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.step('发送post请求') def post(self,url,headers=None,data=None,json=None,**kwargs): return requests.post(url,headers=headers,data=data,json=json,**kwargs)
2、使用allure装饰器,动态生成用例标题,模块名,备注信息,用例级别
allure.dynamic.xxxx xxx代表对应的要动态生成的信息
动态生成标题 |
allure.dynamic.title(data[10]) |
动态获取story模块名 |
allure.dynamic.story(data[11]) |
动态获取feature模块名 |
allure.dynamic.feature(data[12]) |
动态获取备注信息 |
allure.dynamic.description(data[13]) |
动态获取级别信息(blocker,critical,normal,minor,trival) |
allure.dynamic.severity(data[14]) |
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
标签:allure,测试报告,报告,--,dynamic,pytest,data From: https://www.cnblogs.com/yxm-yxwz/p/16530501.html