• Python_生成HTMLTestRunner测试报告


    HTMLTestRunner是Pyhton标准库的的unittest模块的一个扩展

     方式一:

    一、安装HTMLTestRunner,它可以生成HTML的测试报告。

    首先要下载HTMLTestRunner.py文件,将下载的文件放入....pythonlib目录下

    python的默认安装路径:

     

    二、代import unittest,HTMLTestRunner

    from dingtalkchatbot.chatbot import DingtalkChatbot #钉钉机器人
    import datetime
    import time
    import os

    def creatSute():

    suite=unittest.TestSuite() #创建测试套件

    #递归查到子目录下名称以test开头的测试用例,只有匹配到文件名才能被加载;如果启动的不是顶层目录,那么顶层目录必须要单独指定,如果没有顶层目录,默认为None
    all_cases=unittest.defaultTestLoader.discover('testCase','test*.py',top_level_dir=None)

    for test_case in all_cases:

    for case in test_case:

    suite.addTests(case) #把所有的测试用例添加进来
    print(suite)

    return suite

    # 获取系统当前时间
    nowTime=time.strftime("%Y-%m-%d %H%M%S",time.localtime())

    #设置html报告的名称
    filename="D:\program\Study\autoAPP\testReports\"+nowTime+"_result.html"

    fp=open(filename,'wb')

    #定义 HTMLTestRunner 测试报告,stream 定义报告所写入的文件;title 为报告的标题; description 为报告的说明与描述
    runner=HTMLTestRunner.HTMLTestRunner(stream=fp,title=u"接口自动化测试报告",description=u"用例执行情况")
    runner.run(creatSute()) #运行测试容器中的用例,并将结果写入的报告中

    fp.close()#关闭文件流,不关的话生成的报告是空的

     备注:

    文件路径,最好不要写绝对路径,最好使用文件的相对路径,这样你的程序迁移到别人的电脑时,可以保证不会出现文件读取异常的错误。


    方式二:

    import HTMLTestRunner
    import os
    import unittest
    import time


    root_dir= os.path.dirname(os.path.abspath('.')) #获取所在目录的父目录
    print(root_dir)

    report_path=root_dir+'/testReports/' #获取测试报告保存路径
    print(report_path)

    test_dir=root_dir+'/testCase/' #获取测试用例路径
    print(test_dir)

    # 获取系统当前时间
    now = time.strftime("%Y-%m-%d %H%M%S", time.localtime(time.time()))

    # 设置报告名称格式
    HtmlFile = report_path+now + "_result.html"
    fp = open(HtmlFile, "wb")

    # 构建suite
    # suite = unittest.TestLoader().discover("testCase")
    discover=unittest.defaultTestLoader.discover(root_dir,pattern="test*.py")



    if __name__ =='__main__':

    # 初始化一个HTMLTestRunner实例对象,用来生成报告
    runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u"接口自动化测试报告", description=u"用例测试情况")
    # 开始执行测试套件

    runner.run(discover)
    fp.close()
  • 相关阅读:
    微服务架构最佳实践 基础设施篇
    深入理解微服务架构:银弹 or 焦油坑?
    uniapp canvasToTempFilePath
    uniapp easycom
    前端302通常不处理,通常使用链接
    linux性能监控命令dstat详解【杭州多测师_王sir】【杭州多测师】
    杭州市民卡面试题【杭州多测师】【杭州多测师_王sir】
    Java创建多线程的3种方式和Java当中的线程池【杭州多测师】【杭州多测师_王sir】
    Python笔试题:给定一个整数数组和一个目标值、找出数组中为2个俩个数、若无返回1【杭州多测师】【杭州多测师_王sir】
    GR/IR差异价格
  • 原文地址:https://www.cnblogs.com/tianpin/p/11139330.html
Copyright © 2020-2023  润新知