一、allure框架使用时的相关命令
1. 指定测试报告的存储路径
1.1 相关命令:--alluredir=路径
例:--alluredir=report/allure_report(给收集测试报告指定储存路径)
1.2 完整命令:pytest [测试文件名.py] --alluredir=[测试报告储存的路径]
例:pytest test_allure.py --alluredir=report/allure_report
2. 查看测试报告,两种方法
方法一:打开的报告直接在默认浏览器中查看
命令:allure serve report/allure_report
方法二:从结果生成报告(index.html格式,方便随时打开),打开报告,共两步。
步骤一:生成报告
命令(使用generate):allure generate report/allure_report -o report/allure_report_1 --clean(注意:覆盖路径加--clean)
步骤二:打开报告查看
命令:allure open -h 127.0.0.1 -p 8883 report/allure_report_1
说明:open相当打开一个tomcat服务,并用端口8883进行监听,监听端口不冲突时可以任意设置
3. 根据测试功能,按模块、类方法、函数、测试步骤,添加标记
3.1 划分:
feature:用于功能模块的测试,例如:类前添加
story:用于测试用例,例如:函数、类方法前添加
step:用于测试步骤,例如:测试用例中的断言等等
attach:用于测试用例添加附件,例如:前端自动化需要附加截图、html代码块、文本等
3.2 标记的具体用法:在对应的代码前添加
代码:
1)@allure.feature("功能模块名称")
2)@allure.story("测试用例的名称")
3.1)@allure.step("测试步骤的说明"):这种代码需放在类、方法、函数前
3.2)with allure.step("测试步骤的说明"):
代码块:用例步骤
4)allure.attach和allure.attach.file的用法,如下
allure.attach("这是一个纯文本", attachment_type=allure.attachment_type.TEXT) allure.attach( "<body>这是一段htmlbody代码块</body>", "html代码块", attachment_type=allure.attachment_type.HTML ) allure.attach.file( "/Users/test/bug严重程度统计.png", "这是一个png格式的图片", attachment_type=allure.attachment_type.PNG )
3.3 执行测试用例时,可以选择相应的用例执行
相关命令:--allure-features [功能模块名称,功能模块名称...]
--allure-stories [测试用例的名称,测试用例的名称...]
--allure-steps [测试步骤的说明,测试步骤的说明...]
完整命令:pytest [测试文件名.py] --alluredir=[测试报告储存的路径] --allure-features [功能模块名称,功能模块名称...]
或者:pytest [测试文件名.py] --alluredir=[测试报告储存的路径] --allure-stories [测试用例的名称,测试用例的名称...]
或者:pytest [测试文件名.py] --alluredir=[测试报告储存的路径] --allure-steps [测试步骤的说明,测试步骤的说明...]
4. 根据测试用例执行级别,添加标记
4.1 级别分类:
trivial:轻微缺陷(必填项无提示,或者提示不规范)
minor:次要缺陷(界面错误,UI与需求不符)
normal:一般缺陷(数值计算错误,边界情况,格式错误)
critical:严重缺陷(功能点缺失)
blocker:阻塞缺陷(客户端程序无响应,功能没有实现,无法执行下一步操作)
4.2 标记的具体用法:在相应的测试用例前添加
代码:@allure.severity(allure.severity_level.[TRIVIAL/MINOR/NORMAL/CRITICAL/BLOCKER]
也可:@allure.severity(severity_level="[normal/minor/normal/critical/blocker]")
4.3 执行测试用例时,可以选择不同级别的用例进行执行
相关命令:--allure-severities normal,minor,normal,critical,blocker
完整命令:pytest [测试文件名.py] --alluredir=[测试报告储存的路径] --allure-severities [级别]
5. 链接对应的测试用例管理地址或者bug管理地址
5.1 代码:
@allure.link(url="对应测试用例管理地址url", name="测试用例管理系统")
@allure.issue(url="对应bug编号的url", name="测试bug")
5.2 完整命令
完整命令:pytest [测试文件名.py] --alluredir=[测试报告储存的路径] --allure-link-pattern=issue:[ 如果代码中的issue没有给出完整url,此处需要追加上相关url,代码中给的部分url在此处使用{}格式 ]
例如:pytest allure_demo/test_allure_attach.py --alluredir=report/allure/attach_result --allure-link-pattern=issue:http://XXX{}XXX