pytest 集成allure配置
https://docs.qameta.io/allure/#_pytest 帮助文档
【配置allure】
window机器解压allure的安装包,并完成环境变量配置,配置到allure/bin目录下,
pycharm的终端pip install pytest-allure 。配置好后需要重启pycharm。
【执行生成allure报告并展示】
1.执行pytest --alluredir=./result/2 test**.py
注意 alluredir={dir}不能有空格,否则不会生成结果到result的目录下
使得在目录下产生对应用例的pytest执行结果
2、可以使用这两个方式看到allure的报告
方式1:allure serve ./result/1 这时会直接在chrome浏览器看到运行的报告
方式2:产生allure报告文件
allure generate ./result/1 -o ./report –clean 在report目录下产生allure的报告,有一个index.html文件这个就是allure的报告
allure open -h 127.0.0.1 -p 8330 ./report 启动一个类似tomcat的服务打开./report目录下的html页面
【allure参数化配置】
@allure.feature -标注模块
@allure.story -标注case
Allure.step 标注在一些关键步骤中,建议每一次页面的切换标注一个step
【指定模块或方法执行用例】
pytest --allure-features "登录模块" ./testcase/testAllure.py 仅执行文件中的指定模块
pytest --allure-stories "登录成功" ./testcase/testAllure.py 执行指定的story
pytest --allure-stories "登录成功","密码缺失" ./testcase/testAllure.py
注意,如果同时指定一个feature和这个feature下的story,因为feature的优先级高,只会优先执行这个feature,会忽略story参数
【allure报告关联测试用例链接】
【allure关联bug】
@allure.issue(‘bugid’,”bug描述”) 失败用例关联bug链接
执行的时候要加上--allure-link-pattern=
http://www.Jira.com/dev_23/bugissue/{}
{}会被失败用例中标记的bugid替换
举例:pytest --alluredir=./result/1 ./testcase/testAllure.py --allure-link-pattern=
http://www.Jira.com/dev_23/bugissue/{}
【 如何做到按照选择的范围执行用例】
方法一:
@pytest.mark根据打的标签去执行
方法二:@pytest.feature @pytest.story选择模块、case去执行
方法三:根据优先级去执行
通过在class或case上增加标注
@allure.severity(allure.severity_level.CRITICAL)
然后在执行case时设定执行级别
pytest --alluredir=./result/1 ./testcase/testAllure.py --allure-severities=bl
ocker,critical
【allure报告中增加text文本、html页面、图片】
这个场景会应用于前端UI自动化,比如脚本执行完的出错截屏、出错html页面都可以保存出来,然后显示到报告中
a.添加html代码段
allure.attach(html,attachment_type=allure.attachment_type.HTML)
b.添加图片
allure.attach.file("C:/Users/Joven/Pictures/Saved Pictures/pictest.jpg",name="出错截图",attachment_type=allure.attachment_type.JPG)
注意:添加截图需要attach.file,其他的不需要file
c.添加文字描述
allure.attach("这是一段文字说明","说明",attachment_type=allure.attachment_type.TEXT)
【pytest截图】
driver.save_screenshot(filedir)