web自动化 -- HTMLreport(一)测试报告自定义测试用例名,重写ddt
一、需求痛点
1、HTMLreport测试报告的用例名不明确
2、希望可以自定义HTMLreport测试报告的用例名
3、痛点截图

二、解决办法
1、原因分析
HTMLreport测试报告中的用例名是经过ddt重写的,所以我们直接重写ddt内的方法
2、重写ddt内的方法:mk_test_name
ddt -- mk_test_name方法在第107行,我们直接把原本的方法注释掉,在其原方法下方插入以下代码
# 重写该方法,自定义用例名
def mk_test_name(name, value, index=0):
"""
name:用例名/实例方法名
value:用例数据字典
""" # Add zeros before index to keep order
index = "{0:0{1}}".format(index + 1, index_len) # 注释下面两行
# if not is_trivial(value):
# return "{0}_{1}".format(name, index) # 添加对字典数据的处理
# 判断如果不是字典类型,条件就不满足;value不是字典类型则为假,就不会按原来拼接
if not is_trivial(value) and not isinstance(value, dict):
return "{0}_{1}".format(name, index) # 如果数据是字典,则获取字典当中的title对应的值,加到测试用例名称中
if isinstance(value, dict):
try:
# 取出title值
value = value["case_name"] # 这个“case_name”要和测试数据的字段名一致
except KeyError:
return "{0}_{1}".format(name, index) try:
value = str(value) # 把title转换为字符串类型
except UnicodeEncodeError:
# fallback for python2
value = value.encode('ascii', 'backslashreplace') # value是title名称
test_name = "{0}_{1}_{2}".format(name, index, value) # 用例名称拼接
return re.sub(r'\W|^(?=\d)', '_', test_name)
3、设计测试数据

三、重写后的效果

参考博客:https://www.cnblogs.com/my_captain/p/9219403.html
web自动化 -- HTMLreport(一)测试报告自定义测试用例名,重写ddt的更多相关文章
- web自动化 -- HTMLreport(三)测试报告输出log日志
一.需求痛点 1.HTMLreport没法看到log日志,经过封装的框架不可能走一步就print() 2. 希望可以在HTMLreport中输出log日志 3.痛点截图 二.解决办法 1.既然是HTM ...
- web自动化 -- HTMLreport(二)测试报告输出内容居左对齐
一.需求痛点 1.报告输出内容是居中对齐,很难看 2.我们希望输出内容是居左对齐 3.痛点截图 二.解决办法 1.原因分析 HTMLreport的内容对齐方式,自然是修改HTMLreport的内容了 ...
- web自动化 -- HTMLreport(四)测试报告默认不展开输出内容
一.需求痛点 1.默认展开输出内容,很不好查看每条用例的状态,而且也很丑 2.希望默认不展开输出内容 3.痛点截图 二.解决步骤 1.直接修改成这样子 三.效果
- web自动化框架之四测试报告的搭建
现状: 看过前面的文章,楼主用的是python,所以在搭建测试报告这块的时候使用的是unittest+htmlTestRunner:然后发现生成出来的报告,总是有那么不完美的地方,比如想增加图片,比如 ...
- Web自动化框架LazyUI使用手册(2)--先跑起来再说(第一个测试用例-百度搜索)
作者:cryanimal QQ:164166060 上篇文章中,简要介绍了LazyUI框架,本文便来演示,如何从无到有快速搭建基于lazyUI的工程,并成功运行第一个测试用例. 本文以百度搜索为例,选 ...
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
- Selenium Web 自动化 - 项目实战(一)
Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...
- Robotframework Web自动化实战课程
想学习的小伙伴,现在可以报名了!!!7月1日正式开课本期课程主要是web自动化为主,根据平时工作经验整理的一套流程以及使用过程中常见的问题总结.学完后能很快上手,即学即用,课后遇到问题在线解答,远程协 ...
- RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...
随机推荐
- 【Spring】AOP的代理默认是Jdk还是Cglib?
菜瓜:你觉得AOP是啥 水稻:我觉得吧,AOP是对OOP的补充.通常情况下,OOP代码专注功能的实现,所谓面向切面编程,大多数时候是对某一类对象的方法或者功能进行增强或者抽象 菜瓜:我看你这个理解就挺 ...
- Python三大器之生成器
Python三大器之生成器 生成器初识 什么是生成器 生成器本身属于迭代器.继承了迭代器的特性,惰性求值,占用内存空间极小. 为什么要有生成器 我们想使用迭代器本身惰性求值的特点创建出一个可以容纳百万 ...
- Python三大器之装饰器
Python三大器之装饰器 开放封闭原则 一个良好的项目必定是遵守了开放封闭原则的,就比如一段好的Python代码必定是遵循PEP8规范一样.那么什么是开放封闭原则?具体表现在那些点? 开放封闭原则的 ...
- idea中Junit的使用
第一步:添加插件 添加插件:File->Settings->Plugins 第二步:修改设置 1.设置生成模式:File->Settings->Other Settings 指 ...
- openstack Rocky 社区版部署1.3 安装OpenStack packages
1 installing the Rocky release on all nodes. yum install centos-release-openstack-rocky 安装之后,会在/etc/ ...
- Mariadb之事务隔离级别
上一篇我们聊到了mariadb的锁,以及怎么手动加锁和解锁等等,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13196905.html:今天我们来聊一聊mar ...
- EDM邮件制作
EDM营销(Email Direct Marketing)也叫:Email营销.电子邮件营销.是指企业向目标客户发送EDM邮件,建立同目标顾客的沟通渠道,向其直接传达相关信息,用来促进销售的一种营销手 ...
- vim 常用指令-持续更新
1. 查询文件夹file1内文件数量:ls file1 | wc -l 2. 生成文件夹file1内的文件列表:find file1 -type f > list.txt 3. git管理文件, ...
- .Net Core 集成ExceptionLess分布式日志框架之本地化部署
前言 公司目前使用的项目中关于日志记录这块,之前一直都是使用的Log4net 存放于后台文件中的,对于异常错误啊,或者需要查看一些详情错误的时候感觉很不方便,要到服务器上去打开日志文件检索错误,降低了 ...
- ASP.NET 开源导入导出库Magicodes.IE 多Sheet导入教程
多Sheet导入教程 说明 本教程主要说明如何使用Magicodes.IE.Excel完成多个Sheet数据的Excel导入. 要点 多个相同格式的Sheet数据导入 多个不同格式的Sheet数据导入 ...