allure测试报告的用例描述相关方法;如下图
allure标记用例级别severity
在做自动化测试的过程中,测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。
pytest结合allure框架可以对用例的等级做详细的划分。
allure对用例的等级划分成五个等级:
- blocker 阻塞缺陷(功能未实现,无法下一步)
- critical 严重缺陷(功能点缺失)
- normal 一般缺陷(边界情况,格式错误)
- minor 次要缺陷(界面错误与ui需求不符)
- trivial 轻微缺陷(必须项无提示,或者提示不规范)
写法一:
@allure.severity("blocker")
@allure.severity("critical")
@allure.severity("normal")
@allure.severity("minor")
@allure.severity("trivial")
写法二:
@allure.severity(allure.severity_level.Blocker)
@allure.severity(allure.severity_level.critical)
@allure.severity(allure.severity_level.normal)
@allure.severity(allure.severity_level.Minor)
@allure.severity(allure.severity_level.Trival)
如果想根据用例等级去执行用例可以使用下面的参数:
allure命令行参数allure-severities
pytest --alluredir=./report/allure --allure-severities=blocker
pytest --alluredir=./report/allure --allure-severities=blocker,critical
执行代码如下:
import os import pytest # 根据优先级过滤 --allure-severities=blocker,normal pytest.main(['-s','-v','--alluredir=./allure_json_path','--clean-alluredir','--allure-severities=blocker']) os.system('allure generate %s -o %s --clean'%('./allure_json_path','./allure_html_path'))
敏捷模型中的常用概念
allure测试报告用例描述相关方法实战
1、使用pycharm工具新建一个项目test_suites,在该目录下新建login_module模块、product_module模块,如下图
2、在login_module模块下新建 test_login.py文件下
代码如下:
import allure # 用例步骤 写法一 用例步骤可写在公有层 @allure.step('步骤一:打开小叮当电商登录界面') def step_01():pass# epic 项目名称描述 @allure.epic('[epic] 小叮当电商系统') # feature 项目版本 @allure.feature('[feature] 小叮当电商系统_V1.0') class TestLogin:# 用例模块@allure.story('[story] 用户登录模块')# 用例标题@allure.title('[Title] 验证正确的用户名和密码能否成功登录')# 管理测试用例的链接地址@allure.testcase(url='http://47.107.187.45/zentao/www/index.php?m=testcase&f=view&caseID=17&version=1',name='用例连接')# 管理缺陷的链接地址@allure.issue(url='http://47.107.187.45/zentao/www/index.php?m=bug&f=browse&productID=4',name='缺陷地址')# 用例描述@allure.description('登录测试用例 执行人:小白')# 定义一个链接@allure.link(url='https://www.baidu.com/',name='百度搜素')# 用例等级 blocker、critical、normal、minor、trivial# @allure.severity('normal') # 用例等级写法1# 用例等级 blocker、critical、normal、minor、trivial@allure.severity(allure.severity_level.BLOCKER) # 用例等级写法2def test_login_case_01(self):step_01()# 用例步骤 写法二 用例步骤可写在方法内部with allure.step('步骤二:输入用户名admin'):passwith allure.step('步骤三:输入密码123456'):pass# @allure.attach 报告添加附件with open('C:/Users\Jeff\PycharmProjects\APP_AUTO_DEMO/test_suites\login_module/test.jpeg', 'rb') as img_file:img_file_obj = img_file.read()allure.attach(img_file_obj,'测试报错截图',allure.attachment_type.JPG)print("TestLogin test_login_case_01",end=' ')assert True@allure.story('[story] 用户登录模块')@allure.title('[Title] 验证错误的用户名和密码能否正确处理')def test_login_case_02(self):print("TestLogin test_login_case_02",end=' ')assert True
3、在product_module模块下新建test_product.py文件
代码如下:
import allure@allure.epic('[epic] 小叮当电商系统') @allure.feature('[feature] 小叮当电商系统_V1.0') class TestProduct:@allure.story('[story] 商品模块')@allure.title('[Title] 验证能够成功添加商品到购物车')def test_product_case_01(self):print("TestProduct test_product_case_01",end=' ')assert True@allure.story('[story] 商品模块')@allure.title('[Title] 验证商品能成功支付')def test_product_case_02(self):print("TestProduct test_product_case_02",end=' ')assert True
4、在项目test_suites根目录下新建执行文件run_cases.py
代码如下:
import os import pytestpytest.main(['-s','-v','--alluredir=./allure_json_path','--clean-alluredir']) os.system('allure generate %s -o %s --clean'%('./allure_json_path','./allure_html_path'))
5、执行run_cases.py文件,在项目test_suites目录下生成两个目录文件夹 allure_json_path和allure_html_path
allure_json_path目录下生的是allure测试报告的json数据源
allure_html_path目录下生成的是allure测试报告html
如下图:
使用谷歌浏览器打开allure_html_path目录下index.html文件;如下图
总结
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!