zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    js中return的作用及用法
    js数组、字符串常用方法
    关于Ajax知识点小节
    关于跨域,同源策略小节
    Javascript模块化编程(三):require.js的用法【转】
    Javascript模块化编程(二):AMD规范【转】
    Javascript模块化编程(一):模块的写法【转】
    AJAX——核心XMLHttpRequest对象
    clientX,screenX,pageX,offsetX的异同 【转载】
    原生js获取鼠标坐标方法全面讲解:clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y【转】
  • 原文地址:https://www.cnblogs.com/tianpin/p/11139330.html
Copyright © 2011-2022 走看看