当前位置: 首页 > article >正文

pytest系列——allure之在测试用例添加标题(@allure.title())

前言

通过使用装饰器@allure.title可以为测试用例自定义一个更具有阅读性的易读的标题。

allure.title的三种使用方式:
  • 直接使用@allure.title为测试用例自定义标题;
  • @allure.title支持通过占位符的方式传递参数,可以实现测试用例标题参数化,动态生成测试用例标题;
  • @allure.dynamic.title动态更新测试用例标题;
allure.title的例子:
# file_name: test_allure_title.py
 
 
import pytest
import allure
 
 
@allure.title("自定义测试用例标题")
def test_with_title():
    assert True
 
 
if __name__ == '__main__':
    pytest.main(['-s', 'test_allure_title.py'])

执行命令:

> pytest test_allure_title.py --alluredir=./report/result_data
 
> allure serve ./report/result_data

查看测试报告展示效果【 下面的测试报告中,我们已经通过装饰器@allure.title自定义了测试用例的标题;】:

image

allure.title占位符传递参数,参数化测试用例标题:
# file_name: test_allure_title.py
 
 
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'])

执行命令:

> pytest test_allure_title.py --alluredir=./report/result_data
 
> allure serve ./report/result_data

查看测试报告展示效果【下面的测试报告中,我们已经实现了通过在装饰器@allure.title中使用占位符的方式给标题传递参数,来实现测试用例标题的参数化,动态生成标题;】:

image

allure.dynamic.title动态更新标题:
# file_name: 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'])

执行命令:

> pytest test_allure_title.py --alluredir=./report/result_data
 
> allure serve ./report/result_data

查看测试报告展示效果【 从下面的测试报告中可以看到,测试用例的标题被替换成了在测试用例中使用allure.dynamic.title更新后的标题了。】:

image

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 


http://www.kler.cn/a/155399.html

相关文章:

  • MySQL系列之如何在Linux只安装客户端
  • C++模板特化实战:在使用开源库boost::geometry::index::rtree时,用特化来让其支持自己的数据类型
  • HarmonyOS SDK下的实践与探索
  • macOS解决U盘装完系统容量变小的问题
  • nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。
  • 【测试框架篇】单元测试框架pytest(1):环境安装和配置
  • KALI LINUX高级话题
  • LeetCode二分查找:x 的平方根
  • 什么是npm?能干什么?
  • 不得不说,HelpLook真的是一个很懂用户的文档管理工具
  • Uniapp
  • 调优--学习笔记
  • SCA技术进阶系列(四):DSDX SBOM供应链安全应用实践
  • 组合总和II(回溯、去重)
  • ROS报错:RLException:Invalid roslaunch XML Syntax: mismatched tag:
  • MFC 绘制单一颜色圆形、渐变颜色边框圆形、渐变填充圆形以及绘制三角函数正弦函数曲线.
  • 【web安全】CSRF漏洞攻击与防御
  • 从零开始:PHP实现阿里云直播的简单方法!
  • Java通过Redis进行延时队列,定时发布消息(根据用户选择时间进行发布)
  • python爬虫抓取网页图片教程
  • Spring事务管理介绍
  • yolo.txt格式与voc格式互转,超详细易上手
  • Centos图形化界面封装OpenStack Ubuntu镜像
  • Electron+Ts+Vue+Vite桌面应用系列:TypeScript常用时间处理工具
  • Python ctypes:揭秘高级Python与底层交互秘籍
  • JavaScript编程基础 – For循环