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)

 

posted @ 2021-11-23 11:33  真果粒豆  阅读(334)  评论(0编辑  收藏  举报