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,完美的结合起来,就能生成报告了. 环境必备 ...
随机推荐
- flutter 设置Appbar上面的电池显示的状态栏的背景与颜色
写代码,修改了一下Appbar后,发现这个顶部颜色不对劲 找到这个文件lib\main.dart import 'dart:io'; import 'package:flutter/services. ...
- Vue 父组件传值给子组件,对象数组类型,父组件直接调用子组件方法,会是上次的引用地址,vue 父子组件传值数据不能实时更新问题
vue 父子组件传值数据不能实时更新问题 解决方案一: 在子组件进行深度监听,然后监听里调用方法就可以了 父组件测试代码 <WranList ref="myEMChartRef2&qu ...
- 默认方法:and-默认方法:or
默认方法:and 既然是条件判断,就会存在与.或.非三种常见的逻辑关系.其中将两个Predicate条件使用"与"逻辑连接起来实现"并且"的效果时,可以使用de ...
- P15_了解小程序的版本阶段与上线的主要步骤
协同工作和发布 - 小程序的版本 软件开发过程中的不同版本 在软件开发过程中,根据时间节点的不同,会产出不同的软件版本,例如: 开发者编写代码的同时,对项目代码进行自测(开发版本) 直到程序达到一个稳 ...
- StatisticalOutlierRemoval:离群点移除
1.简介 StatisticalOutlierRemoval滤波器主要用于剔除离群点,或则测量误差导致的粗差点. 滤波思想为:对每一个点的邻域进行一个统计分析,计算它到所有临*点的*均距离.假设得到的 ...
- Linux基础之用户、组和权限管理
用户类别分为:普通用户.系统用户.登陆用户 用户标识:UserID, UID 是16bits二进制数字: 0-65535管理员:0普通用户:0-65536系统用户:1-499(CentOS6)1-99 ...
- 如何通过Java 代码设置 Word 文档页边距
页边距是指页面的边线到文字的距离.通常可在页边距内部的可打印区域中插入文字和图形,也可以将某些项目放置在页边距区域中(如页眉.页脚和页码等).在我们用的Word文档中,都会设置页边距统一标准格式,页边 ...
- 手把手教你为基于Netty的IM生成自签名SSL/TLS证书
1.引言 对于IM聊天应用来说,为了提升安全性,对聊天消息加密是常规操作. 众所周之,Netty是高性能的Java NIO网络通信框架,因而用Netty来写IM是再正常不过了.网上关于为Netty生成 ...
- Philips and Calculator
代码 #include<cstdio> #include<algorithm> using namespace std; const int N = 3 * 1e6; int ...
- JZOJ 3304. Theresa与数据结构
\(\text{Problem}\) 标准四维偏序 带修改(加和删除)和询问的三维空间正方体内部(包括边上)的点的数目 \(\text{Analysis}\) 打法很多,\(\text{cdq}\) ...