unittestreport生成报告介绍
unittestreport主要有以下几个作用
接口用例HTML 测试报告生成。
测试用例失败重运行。
发送测试结果及报告到邮箱。
发送报告到钉钉群。
安装unittestreport:
pip3 install unittestreport
一、接口用例HTML 测试报告生成
unittestreport 中封装了一个 TestRunner 类,执行完测试用例之后会自动生成测试报告。而且有3种html报告风格可选
编辑
代码中导入TestRunner 模块:
from unittestreport import TestRunner
使用举例:
runner = unittestreport.TestRunner(suite,
# 执行人
tester='子衡',
report_dir="reports",
title='api报告',
# 项目描述
desc='充值接口测试报告',
# 指定生成测试报告的模板类型(etc: 1、2、3)
templates=2
)
# 收集用例到套件
suite = unittest.defaultTestLoader.discover('testcases')
tester | 执行人员名称 |
report_dir | 指定报告路径(路径文件夹即可) |
title | 生成的测试报告标题 |
desc | 项目描述 |
templates |
报告风格(1,2,3个模版) |
用例报告展示:
编辑
编辑 二、测试用例失败重运行
unittestreport中提供了测试用例失败重跑机制:
1、方式一
unittestreport模块中的
TestRunner类中的run()方法
编辑
源码介绍:
编辑
thread_count | 多线程执行用例(默认1) |
count | 指定用例失败后重新运行的次数(默认0) |
interval | 指定每次重新执行用例的间隔时间 |
2、方式二
rerun 装饰器,以下是代码展示
from unittestreport import rerun
class TestClass(unittest.TestCase):
@rerun(count=4, interval=2)
def test_case_01(self):
print(111)
源码介绍:
编辑
count | 指定用例失败后重新运行的次数(默认0) |
interval | 指定每次重新执行用例的间隔时间 |
三、发送测试结果及报告到邮箱
unittestreport 内部实现了发生测试结果到邮箱的方法,执行完测试用例之后调用发送测试报告的方法即可。发邮件的方法介绍:TestRunner 类中实现了 send_email 方法。值得注意的是,smtp服务器地址,钉钉邮箱不支持个人开启smtp服务,需企业开通。
qq邮箱代码举例说明:
# 发送qq邮件
runner.send_email(
host="smtp.qq.com", #smtp服务器地址,钉钉邮箱不支持个人开启smtp服务
port=465,
user="1111@qq.com",#发送邮箱
password="111111", #邮箱服务码,需要开启邮箱服务
to_addrs="1111@qq.com", #接收邮箱
)
qq邮箱执行结果举例:
编辑
四、发送报告到钉钉群
首先得添加一个群机器人,在钉钉群-群设置-智能群助手:
编辑
钉钉群机器人代码举例,使用到dingtalk_notice方法:
url = "https://oapi.dingtalk.com/robot/send?access_token" \
"=9ce3725f9f31157002ac3c5e5500f894df95ad7e554473905defecf51db68fdb"
runner.dingtalk_notice(url=url, key='API',secret='钉钉安全设置签名的秘钥')
dingtalk_notice方法源码介绍:
编辑
钉钉群机器人执行结果举例:
编辑
unittestreport生成报告介绍的更多相关文章
- python 分析慢查询日志生成报告
python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...
- jmeter生成报告指示板
JMeter支持仪表板图表和报告生成 数据从一个测试计划. 这一章描述了如何配置和使用生成器. 概述 JMeter的仪表板生成器是一个模块化的扩展. 它的缺省行为是读取和处理样本 CSV文件生成HTM ...
- JXL组件生成报告错误(两)
JXL组件生成报告 1.详细报错例如以下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -non ...
- 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
最近在使用jmeter写脚本来进行测试,最终写了很多份脚本,然后,就在想,这么多脚本,我不可能一个一个的手动去点啊,有没有什么办法来批量运行Jmeter脚本呢? 这个时候,自然而然地想到了万能的ant ...
- C# 处理Word自动生成报告 一、概述
经常遇到这样的需求, 生成Word格式的报告, 而不是单纯的一张表格的报表. 就像体检报告一样. 数据来源部分决定采用一个存储过程返回Dataset的方式, 整张报告的数据来源于此Dataset的多 ...
- C# 处理Word自动生成报告 四、程序处理
C# 处理Word自动生成报告 一.概述 C# 处理Word自动生成报告 二.数据源例子 C# 处理Word自动生成报告 三.设计模板 C# 处理Word自动生成报告 四.程序处理 现在说一下程序处理 ...
- C# 处理Word自动生成报告 三、设计模板
C# 处理Word自动生成报告 一.概述 C# 处理Word自动生成报告 二.数据源例子 C# 处理Word自动生成报告 三.设计模板 C# 处理Word自动生成报告 四.程序处理 既然是模板就少不了 ...
- jmeter学习记录--09--命令行运行与生成报告
一. 使用命令行方式运行Jmeter 1.1 为什么 使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死. 所以正确的打开方式是在GUI模式下调 ...
- LoadRunner结果分析与生成报告
启动Analysis会话 1.打开HP LoadRunner2.打开LoadRunner Analysis在LoadRunner Analysis选项卡中单击分析负载测试3.打开Analysis会话文 ...
- selenium+python-unittest多线程生成报告
前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...
随机推荐
- Linux 驱动像单片机一样读取一帧dmx512串口数据
硬件全志R528 目标:实现Linux 读取一帧dmx512串口数据. 问题分析:因为串口数据量太大,帧与帧之间的间隔太小.通过Linux自带的读取函数方法无法获取到 帧头和帧尾,读取到的数据都是缓存 ...
- C#/VB.NET 在Excel中添加水印
在工作中,为了防止文件被随意复制和传播,通常我们会选择在文档中添加水印来对文件进行有效保护.文字水印是比较常见的一种保护手段,它可以有效防止文件被任意复制和随意打印传播.不过,Excel默认并没有水印 ...
- WPF-3D图形
WPF-3D图形 WPF的3D功能可以在不编写任何c#代码的情况下进行绘制,只需要使用xaml即可完成3D图形的渲染.本文主要讲述了WPF-3D中的关键概念, 以及常用到的命中测试.2d控件如何在3D ...
- 关于 Dev-C++ 中缺少 iconv.h 的问题
前言 在 C++ 中有个扩展库 ext,里面有一些黑科技(hash, splay, binomial_heap 等等), 在 Windows 环境中,我们运行 Dev-C++ 并在头文件写 #incl ...
- android开发技巧杂谈
android开发技巧一 android的一些常用包是发布在国外的,所以一些包,我们下载不下来,我们可以使用阿里云的镜像地址(maven { url 'https://maven.aliyun.com ...
- vue3 | isRef、unref、toRef、toRefs
isRef 检查某个值是否是ref.是返回true,否则返回false. const num = ref(10); const num1 = 20; const num2 = reactive({ d ...
- vue学习笔记(三)---- vue-resource
一.使用vue-resource发起get请求 github仓库地址:https://github.com/pagekit/vue-resource/blob/develop/docs/http.md ...
- 【学习日志】MySQL分表与索引的关系
什么情况下需要分表呢?分表又能解决什么问题呢? 一般情况下分表的直接原因是数据量太大了,比如一张表一共只有1w条数据,确实没必要分表.为什么数据量大了就需要分表呢?首先得看看数量量过大后会带来什么问题 ...
- 2.5.scrollView和swiper组件的使用
# scroll-view 可滚动视图区域.用于区域滚动. 需注意在webview渲染的页面中,区域滚动的性能不及页面滚动. 属性说明 属性名 类型 默认值 说明 平台差异说明 scroll-x Bo ...
- 从 PyTorch DDP 到 Accelerate 到 Trainer,轻松掌握分布式训练
概述 本教程假定你已经对于 PyToch 训练一个简单模型有一定的基础理解.本教程将展示使用 3 种封装层级不同的方法调用 DDP (DistributedDataParallel) 进程,在多个 G ...