一.unittestreport主要有以下几个作用
接口用例HTML 测试报告生成
测试用例失败重运行
发送测试结果及报告到邮箱
发送报告到钉钉群
二.接口用例HTML测试报告生成
1.unittestreport中封装TestRunner 类,执行完测试用例后会自动生成测试报告
1.1.而且有3种html报告风格可选
2.代码中导入TestRunner模块
from unittestreport import TestRunner
3.使用举例
runner = unittestreport.TestRunner(suite,
# 执行人
tester='子衡',
report_dir="reports",
title='api报告',
# 项目描述
desc='充值接口测试报告',
# 指定生成测试报告的模板类型(etc: 1、2、3)
templates=2
)
# 收集用例到套件
suite = unittest.defaultTestLoader.discover('testcases')
4.用例报告展示
三.测试用例失败重运行
1.方式一:unittestreport模块中的TestRunner类中的run()方法
1.1.源码介绍
2.方式二:rerun装饰器
from unittestreport import rerun
class TestClass(unittest.TestCase):
@rerun(count=4, interval=2)
def test_case_01(self):
print(111)
2.1.源码介绍
四.发送测试结果及报告到邮箱
1.unittestreport内部实现发送测试结果到邮箱的方法,执行完测试用例后调用发送测试报告的方法即可
1.1.发邮件的方法介绍:TestRunner 类中实现send_email方法
1.2.值得注意的是smtp服务器地址,钉钉邮箱不支持个人开启smtp服务,需企业开通
2.qq邮箱代码举例说明
# 发送qq邮件
runner.send_email(
host="smtp.qq.com", #smtp服务器地址,钉钉邮箱不支持个人开启smtp服务
port=465,
user="1111@qq.com",#发送邮箱
password="111111", #邮箱服务码,需要开启邮箱服务
to_addrs="1111@qq.com", #接收邮箱
)
3.qq邮箱执行结果举例
五.发送报告到钉钉群
1.首先得添加群机器人,在钉钉群-群设置-智能群助手
2.钉钉群机器人代码举例,使用到dingtalk_notice方法
url = "https://oapi.dingtalk.com/robot/send?access_token" \
"=1111111111111111111"
runner.dingtalk_notice(url=url, key='API',secret='钉钉安全设置签名的秘钥')
3.dingtalk_notice方法源码介绍
4.钉钉群机器人执行结果举例