前言
在测试过程中,清晰的测试报告对于了解测试结果和问题定位非常关键。如何使用 pytest 和 Allure 报告创建清晰的测试报告,本文将介绍通过使用 allure.title
来增强测试报告的可读性。
allure.title的三种使用方式
- 直接使用@allure.title为测试用例自定义标题;
@allure.title
支持通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标题;@allure.dynamic.title
动态更新测试用例标题。
下面我们依次对这三种使用方式进行举例:
直接使用@allure.title为测试用例自定义标题
代码如下:
import pytest
import allure
@allure.title("自定义测试用例标题")
def test_with_title():
assert True
if __name__ == '__main__':
pytest.main(['-s', 'test_allure_title.py'])
执行下面命令来生成测试报告
# 执行测试,生成json文件
pytest test_allure_title.py --clean-alluredir --alluredir=./results
# 展示报告
allure serve ./results
浏览器默认打开的测试报告如下图:
参数化测试用例标题
示例代码如下:
import pytest
import allure
@allure.title("参数化测试用例标题:参数1 = {param1} and 参数2 = {param2}")
@pytest.mark.parametrize("param1, param2, expected", [
(1, 1, 2),
(1, 3, 5)
])
def test_with_parametrize_title(param1, param2, expected):
assert param1 + param2 == expected
if __name__ == '__main__':
pytest.main(['-s', 'test_allure_title.py'])
因为我们使用了和上面同样的文件名,所以我们不需要改变命令,直接使用上面的命令即可,生成的测试报告如下图:
动态更新标题
代码如下:
import pytest
import allure
@allure.title("这个标题将会被测试用例中的标题替换掉")
def test_with_dynamic_title():
assert True
allure.dynamic.title("断言成功后,标题将会被替换成这个标题")
if __name__ == '__main__':
pytest.main(['-s', 'test_allure_title.py'])
运行命令之后,生成的测试报告打开如下:
总结
本文主要介绍了如何使用allure.title
给测试用例添加标题,更加直观的用例标题可以帮助团队更好地理解测试执行过程,从而更容易地进行问题定位和修复。希望本文可以帮到大家!
推荐
Python全栈开发与自动化测试开发班
由浅入深实战进阶,从小白到高手
以Python全栈开发为基础,深入教授自动化测试技能,为学员打造全面的技术能力。通过系统学习和实际项目实战,学员将具备在职场中脱颖而出的竞争力。不仅能够灵活运用Python进行开发,还能够保障项目质量通过自动化测试手段。这是一个全面提升职业竞争力的机会。
课程详情
Python开发必备基础技能与项目实战
Pvthon 编程语言/算法和数据结构/面向对象编程Web后端开发/前端开发/测试管理平台项目实战
人工智能ChatGPT实战
人工智能辅助学习各种开发和测试技能/Pytorch深度学框架/平台开发实战
数据分析与自动化办公
数据采集/Pandas与数据处理技术/ECharts与数据可视化技术/爬虫实战/自动化办公/批量文件处理
UI自动化测试与高级项目实战
Web自动化测试/App自动化测试/ PageObject设计模式
接口自动化测试
接口协议分析/Mock实战/服务端接口测试
性能测试
性能测试流程与方法/JMeter 脚本参数化/Grafana监控系统搭建
简历指导与模拟面试
1V1简历指导/模拟真实面试/测试开发岗面试全攻略名企私教服务
名企专家1v1辅导/行业专家技术指导/针对性解决工作难题/绩效提升辅导与晋升复盘
课程亮点
名企私教服务 先学习后付费 高额奖学金
专属社群+晚自习在线答疑
5V1全方位辅导作业+考试强化学习效果
简历修改 模拟面试 就业内推 面试复盘