一、allure报告动态参数化展示模块名和用例标题

使用@pytest.mark.parametrize 参数化完成数据驱动时,如果标题写死或者使用别名的方式 这样在报告中的可读性也不高


如何更美观的展示报告,增加报告的可读性呢,我们需要把从excel中获取到的sheetName作为动态的模块名,caseName作为每条用例的名称

方法一:allure.dynamic 动态属性

只需要增加两行代码,如下图所示:


修改后的allure报告,动态的展示了模块名称和用例标题

上边用的是下边这种方式:pytest 结合 allure 描述用例的时候我们一般使用 @allure.title 和 @allure.description 描述测试用例的标题和详情。
在用例里面也可以动态更新标题和详情,使用allure.dynamic方法实现。

allure.dynamic 动态属性

feature 模块

allure.dynamic.feature(feature_name)

功能点 story

allure.dynamic.story(case_story)

用例标题 title

allure.dynamic.title(case_title)

title 用例标题

用例标题也可以被动态更新

@allure.title("This title will be replaced in a test body")
def test_with_dynamic_title():assert 2 + 2 == 4allure.dynamic.title('After a successful test finish, the title was replaced with this line.')

allure.dynamic支持的常用方法,灵活使用能够重外部数据控制测试用例的详细展示内容

还有另一种方法动态展示用例标题:

参数化

参数化时候,可以使用@allure.title给用例不同标题

@allure.title("Parameterized test title: adding {param1} with {param2}")
@pytest.mark.parametrize('param1,param2,expected', [(2, 2, 4),(1, 2, 5)
])
def test_with_parameterized_title(param1, param2, expected):assert param1 + param2 == expected

也可以在用例里面使用allure.dynamic.title更新用例的标题

import pytest
import allure
# 作者:上海-悠悠 QQ交流群:779429633def login(username, password):'''登录'''print("输入账号:%s" % username)print("输入密码:%s" % password)# 返回return {"code": 0, "msg": "success!"}# 测试数据
test_datas = [({"username": "yoyo1", "password": "123456"}, "success!", "输入正确账号,密码,登录成功"),({"username": "yoyo2", "password": "123456"}, "failed!", "输入错误账号,密码,登录失败"),({"username": "yoyo3", "password": "123456"}, "success!", "输入正确账号,密码,登录成功"),
]@allure.story("登录用例")
@pytest.mark.parametrize("test_input,expected,title",test_datas)
def test_login(test_input, expected, title):'''测试登录用例'''# 获取函数返回结果result = login(test_input["username"], test_input["password"])# 断言assert result["msg"] == expectedallure.dynamic.title(title)

最终生成报告效果

二、allure报告中allure.title 在动态参数后如何去掉后方的参数化显示
动态参数化后的报告,所有参数都默认显示出来,把用例标题的样式给挤乱了。


如何解决?
1.解决方法如下 ,修改第三方包包的listener.py文件。
找到python目录下 \Lib\site-packages\allure_pytest\listener.py 文件

(如果在python目录未找到,就在当前项目的虚拟环境下边找到这个文件)

将下图中红色部分test_result.parameters.extend([]) 中参数改成空列表就行了

allure报告---动态显示模块名和用例标题相关推荐

  1. ddt源码修改:HtmlTestRunner报告依据接口名显示用例名字

    做接口测试,使用unittest+ddt+excel ,使用HtmlTetstRunner来生成测试用例. 查看报告的时候 用例名称都是 test_api_1   .test_api_2  .test ...

  2. 测试用例入门(一)-如何编写用例标题、前置条件、测试步骤和预期结果?

    测试用例一直是作为一个测试工程师必备的技能.就像游泳运动员要会游泳.老婆饼要有饼.鱼香肉丝要有肉丝一样,测试要会写测试用例. 目录 一.含义与优点 1.什么是测试用例 2.为什么要写测试用例 三.核心 ...

  3. 软件测试 pytest pytest的命名规则 用例的前后置 conftest.py 定制allure报告 @pytest.mark.parametrize()装饰器作数据驱动

    文章目录 1 pytest简介 1.1 pytest的命名规则 1.2 运行方式 1.2.1 主函数方式(少用) 1.2.2 命令行方式(少用) 1.2.3 pytest.ini的配置文件方式(最经常 ...

  4. pytest测试框架——allure报告

    文章目录 一.allure的介绍 二.allure的运行方式 三.allure报告的生成 方式一.在线报告.会直接打开默认浏览器展示当前报告 方式二.静态资源文件报告(带index.html.css. ...

  5. 【Selenium+Pytest+allure报告生成自动化测试框架】附带项目源码和项目部署文档

    目录 前言 [文章末尾给大家留下了大量的福利] 测试框架简介 首先管理时间 添加配置文件 conf.py config.ini 读取配置文件 记录操作日志 简单理解POM模型 简单学习元素定位 管理页 ...

  6. Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架

    目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...

  7. allure报告定制

    allure报告的定制 bin:执行文件 config:配置文件 lib:jar包 plugins:插件 logo定制 (1)修改配置文件: E:\allure-2.13.7\config\allur ...

  8. pytest -- Allure报告

    执行和生成报告: 1)在main文件中加入如下代码: 1)在main文件中加入如下代码: if __name__ == '__main__':# 指定临时json文件生成位置 pytest.main( ...

  9. Python接口自动化测试 ---Allure报告使用详解

    这一节主要是记录allure的内容以及用法,怎么让他生成一个完整的想要的报告. allure生成的报告和其他五花八门的报告对比了一下,它的可读性是最好.最直观的.这不仅仅是我想要的效果,也是很多小伙伴 ...

最新文章

  1. elastic stack中的Beats是什么?
  2. 42、使用存放在存assets文件夹下的SQLite数据库
  3. 新同事上来就把项目性能优化了一遍,瑟瑟发抖。。。
  4. 节省 58% IT 成本,调用函数计算超过 30 亿次,石墨文档的 Serverless 实践
  5. 【Elasticsearch】Elasticsearch 理解mapping中的store属性
  6. 设置eclipse代码自动补全功能
  7. utilities(matlab)—— 前馈网络权值矩阵初始化方式
  8. desktop viewer
  9. unity, 判断可见性
  10. XFTP6 要继续使用此程序,您必须应用最新的更新或使用新版本
  11. 8类网线利弊_8类网线家用行吗?
  12. Linux efi分区被删除了,如何恢复意外删掉的EFI系统分区
  13. 教师节快乐,全网最全编程学习网站汇总来了,还不赶快收藏
  14. 扭曲丛林服务器未响应,LOL等级最高玩家已246级 狂刷扭曲丛林攒经验
  15. Solidworks直接打开SWB文件报错怎么办
  16. 《灰故事》:他用曲笔描绘着我们
  17. 【CF869E】The Untended Antiquity(哈希+二维树状数组)
  18. 你不知道的 Blob
  19. 如何把thrift rpc转换为http
  20. 【金九银十】大专生学java好找工作

热门文章

  1. java的tcp通信项目_java实现TCP通信
  2. 数据 3 分钟 | 多家数据库厂商联合发布《分布式数据库发展路径研究》报告、巨杉数据库公布 2021 春季发布会时间...
  3. 下载丨 MySQL运维管理+编程开发大全
  4. 《PostgreSQL 指南:内幕探索》之基础备份与时间点恢复(上)
  5. 2019最受欢迎数据库:MySQL居首PostgreSQL第二Oracle位列第八
  6. 解析Redis操作五大数据类型常用命令
  7. 一文带你从零认识什么是XLA
  8. 鸿蒙轻内核源码分析:MMU协处理器
  9. 三色标记原理,我给应聘者问懵了...
  10. 3.7亿条保单数据怎么分析?这个大数据平台有绝招