当前位置: 首页>前端>正文

unittest单元测试案例 unittestreport

 

unittestreport主要有以下几个作用

        接口用例HTML 测试报告生成。

        测试用例失败重运行。

        发送测试结果及报告到邮箱。

        发送报告到钉钉群。

安装unittestreport:

pip3 install unittestreport

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张

一、接口用例HTML 测试报告生成

        unittestreport 中封装了一个 TestRunner 类,执行完测试用例之后会自动生成测试报告。而且有3种html报告风格可选

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_测试报告_02,第2张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

 代码中导入TestRunner 模块:

from unittestreport import TestRunner

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张

使用举例:

runner = unittestreport.TestRunner(suite,
                                   # 执行人
                                   tester='子衡',
                                   report_dir="reports",
                                   title='api报告',
                                   # 项目描述
                                   desc='充值接口测试报告',
                                   # 指定生成测试报告的模板类型(etc: 1、2、3)
                                   templates=2
                                   )
# 收集用例到套件
suite = unittest.defaultTestLoader.discover('testcases')

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张

tester

执行人员名称

report_dir

指定报告路径(路径文件夹即可)

title

生成的测试报告标题

desc

项目描述

templates

报告风格(1,2,3个模版)

用例报告展示:

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例_06,第6张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_unittest单元测试案例_08,第8张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

unittestreport中提供了测试用例失败重跑机制:

1、方式一

        unittestreport模块中的TestRunner类中的run()方法

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_unittest单元测试案例_10,第10张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

源码介绍:

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_unittest单元测试案例_12,第12张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

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)

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张

源码介绍:

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_测试报告_15,第15张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

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", #接收邮箱
    )

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张

qq邮箱执行结果举例:

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_测试用例_18,第18张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

 

四、发送报告到钉钉群

首先得添加一个群机器人,在钉钉群-群设置-智能群助手:

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例_20,第20张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

钉钉群机器人代码举例,使用到dingtalk_notice方法:

url = "https://oapi.dingtalk.com/robot/send?access_token" \
      "=9ce3725f9f31157002ac3c5e5500f894df95ad7e554473905defecf51db68fdb"

runner.dingtalk_notice(url=url, key='API',secret='钉钉安全设置签名的秘钥')

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张

 dingtalk_notice方法源码介绍:

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_unittest单元测试案例_23,第23张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

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

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_unittest单元测试案例_25,第25张

unittest单元测试案例 unittestreport,unittest单元测试案例 unittestreport_用例,第1张编辑

 




https://www.xamrdz.com/web/2tx1928882.html

相关文章: