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方法源码介绍:

​编辑

钉钉群机器人执行结果举例:

​编辑

最新文章

  1. 如何在Eclipse下查看JDK源代码
  2. ORACLE 10升级到10.2.0.5 Patch Set遇到的内核参数检测失败问题
  3. CSS层次选择器温故-2
  4. 列表 list
  5. codevs1003 电话连线
  6. jQuery笔记一
  7. C# 调用load事件
  8. 一个使用CSocket类的网络通信实例
  9. Android静态变量使用陷阱
  10. 使用 PHP SOAP 来创建一个简单的 Web Service。
  11. 「SCOI2014」方伯伯的商场之旅 解题报告
  12. js调用ajax案例2,使用ok
  13. Speeding up image loading in WPF using thumbnails
  14. 287find-the-duplicate-number
  15. CSS3制作Freebie标签
  16. 【转载】SwipeRefreshLayout源码解析
  17. Problem H: 零起点学算法109——单数变复数
  18. (转)NIO 分散和聚集
  19. JNI_Z_01_获取Clazz
  20. Linux下常用压缩 解压命令与压缩比率对比

热门文章

  1. Kubernetes(k8s)配置文件管理:ConfigMap
  2. 【新晋开源项目】内网穿透神器[中微子代理] 加入 Dromara 开源社区
  3. 定时调度插件------FluentScheduler
  4. 对线面试官:浅聊一下 Java 虚拟机栈?
  5. MySQL 如何实现表的创建、复制、修改与删除
  6. Spring(Spring的读取外部资源- p 命名空间)
  7. 修改ctags让fzf.vim插件显示C,C++方法声明的标签
  8. JavaSE 对象与类(二)
  9. 常规诊疗条件下比较依那西普生物类似药(益赛普)与阿达木、英夫利西对RA的疗效[EULAR2015_SAT0360]
  10. 数据结构和算法day1(Java)