定制化输出allure测试报告,让测试报告锦上添花
定制化后的allure测试报告效果展示
如何定制化输出锦上添花的allure测试报告
使用前,先导入allure模块。
import allure
使用前,先熟悉运行测试用例的有关allure的命令行参数
--allure-severities=SEVERITIES_SET --allure-epics=EPICS_SET --allure-features=FEATURES_SET --allure-stories=STORIES_SET --allure-ids=IDS_SET Comma-separated list of IDs. --allure-link-pattern=LINK_TYPE:LINK_PATTERN --alluredir=DIR Generate Allure report in the specified directory (may --clean-alluredir Clean alluredir folder if it exists --allure-no-capture Do not attach pytest captured logging/stdout/stderr to Allure Report
1、feature——测试用例特性(主要功能模块):一般是在类上
使用方法: @allure.feature()
可以根据feature特性过滤出测试用例执行:
pytest test_allure.py --allure-features="登录模块" -vs
2、story——feature功能模块下的分支功能:一般是在方法上
使用方法: @allure.story()
可以根据story特性过滤出测试用例执行:
pytest test_allure.py --allure-stories="登录失败" -vs
如果希望执行多个story或者feature,多个story名或feature名中间加","即可:
pytest test_allure.py --allure-stories="登录失败","登出失败" -vs
【注意】
①–allure-features和–allure-stories同时使用时,如果–allure-features中的用例包括了–allure-stories的用例,则只执行–allure-features的用例;如果不包含,则同时执行–allure-features和–allure-stories的用例。
②虽然通过 pytest -m 命令行参数运行测试用例同样可以达到分组运行测试用例的目的;但是使用allure特性来实现分组运行测试用例同样可以在allure报告中展示,使allure特性更直观。
3、severity——测试用例的严重级别
场景:通常测试有冒烟测试、验证上线测试等场景,按照重要性级别来分别执行。比如上线前要把主流程和重要模块都跑一遍。
解决:通过在方法、函数和类上添加allure.severity来附加标记。
执行: pytest 文件名 --allure-severities=normal -vs
Allure中对严重级别的定义:
- blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
- critical级别:临界缺陷( 功能点缺失)
- normal级别:普通缺陷(数值计算错误)
- minor级别:次要缺陷(界面错误与UI需求不符)
- trivial级别:轻微缺陷(必输项无提示,或者提示不规范)
使用方法: @allure.severity(allure.severity_level.CRITICAL) 或者 @allure.severity('critical')
4、step——测试用例的步骤
使用方法:
① @allure.step() 只能以装饰器的形式放在类或者方法上面
② with allure.step() : 可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含
5、attach——用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
使用方法: allure.attach(body, name, attachment_type, extension)
参数:
body
- 要写入文件的原始内容name
- 包含文件名的字符串attachment_type
- 其中一个allure.attachment_type
值extension
- 提供的将用作创建文件的扩展名
6、link/issue/testcase——链接
使用方法:
- @allure.link()
- @allure.issue()
- @allure.testcase()
7、description——用例描述
使用方法:
- @allure.description() 提供描述字符串的装饰器
- @allure.description_html() 提供一些HTML在测试用例的描述部分
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!