使用HTMLTestRunner实现HTML测试报告

使用HTMLTestRunner实现HTML测试报告测试完成后 为了便于量化工作和结果分析 需要生成测试报告 使用 Python 标准库 unittest 单元测试框架的一个扩展文件来生成 HTML 文件 HTMLTestRunn 下载地址 http tungwaiyip info software HTMLTestRunn html 适配 python3 需修改如下几行代码 修改完成如附件所示 94 行 importString

测试完成后,为了便于量化工作和结果分析,需要生成测试报告。

使用Python标准库unittest单元测试框架的一个扩展文件来生成HTML文件:HTMLTestRunner。

下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html

适配python3需修改如下几行代码,修改完成如附件所示:

  • 94行, import StringIO
  • 539行,self.outputBuffer = StringIO.StringIO()
  • 631行,print >>sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)
  • 642行,if not rmap.has_key(cls):
  • 766行,uo = o.decode(‘latin-1’)
  • 772行,ue = e.decode(‘latin-1’)

windows将下载的文件保存到:PythonXX\Lib目录下

Python交互模式下引入HTMLTestRunner模块,如系统没有报错,则说明添加成功。

实现过程

1、将HTMLTestRunner模块用import导入进来。

2、通过open()方法以二进制写模式(‘wb’)打开当前目录下的result.html,如果没有,则自动创建。

   fp = open(‘./result.html’,’wb’)

3、调用HTMLTestRunner模块下的HTMLTestRunner类。

  stream 指定测试报告文件

  title 定义测试报告的标题

  description 定义测试报告的副标题

runner = HTMLTestRunner(stream=fp,title=’百度搜索测试报告’,description=’用例执行情况:’)

4、通过HTMLTestRunner的run()方法来运行测试套件中的测试用例关闭测试报告文件close()。

实现代码

# coding=utf-8
import time,os,unittest
from HTMLTestRunner import HTMLTestRunner


class TestRunner(object):
    ''' Run test '''

    def __init__(self, cases="./",title=u'自动化测试报告',description=u'环境:windows 7'):
        self.cases = cases
        self.title = title
        self.des = description

    def run(self):

        for filename in os.listdir(self.cases):
            if filename == "report":
                break
        else:
            os.mkdir(self.cases+'/report')

        now = time.strftime("%Y-%m-%d_%H_%M_%S")
        fp = open("./report/"+ now +"result.html", 'wb')
        tests = unittest.defaultTestLoader.discover("./test_case",pattern='*sta.py',top_level_dir=None)
        runner = HTMLTestRunner(stream=fp, title=self.title, description=self.des)
        runner.run(tests)
        fp.close()

    def debug(self):
        tests = unittest.defaultTestLoader.discover(self.cases, pattern='*sta.py', top_level_dir=None)
        runner = unittest.TextTestRunner()
        runner.run(tests)


if __name__ == '__main__':
    test = TestRunner()
    test.run()

使用HTMLTestRunner实现HTML测试报告

使用HTMLTestRunner实现HTML测试报告

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228928.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午5:52
下一篇 2026年3月16日 下午5:52


相关推荐

  • 开源阅读书源_阅读3.20.0518追书神器 海量书源 免费开源无广告[通俗易懂]

    开源阅读书源_阅读3.20.0518追书神器 海量书源 免费开源无广告[通俗易懂]特别声明所有软件皆来源于网上收集整理,仅供学习与交流技术,不得用作其它用途,如有侵犯你的权益,请联系我们,我们将于24小时内进行删除,谢谢你的配合!1阅读是一款开源免费的无人维护的电子书阅读应用程序。作者感言:如今的电子小说阅读应用总是在不断的添加广告,作为一个程序猿这是受不了的,于是开源的阅读软件来,你不用再担心广告。本软件fork一个无人维护的阅读软件,经过大量修改,实现自定义书源,…

    2022年6月21日
    1.8K
  • Wannacry(永恒之蓝)病毒「建议收藏」

    Wannacry(永恒之蓝)病毒「建议收藏」一、Wannacry(永恒之蓝)病毒2017.04-051)一种“蠕虫式”的勒索病毒软件,大小3.3MB,勒索病毒肆虐。2)由不法分子利用NSA(美国国家安全局)泄露的危险漏洞“EternalBlue”(永恒之蓝)进行传播。3)中国部分Windows操作系统用户遭受感染,校园网用户首当其冲,受害严重,大量实验室数据和毕业设计被锁定加密。部分大型企业的应用系统和数据库文件被加密后,无法正常工作,影响巨大。4)文件被加密,要求支付高比特币。5)比特币:比特币是一种P2P形式的虚拟的加密数字货币

    2022年10月17日
    5
  • js setCapture() releaseCapture() 获取页面上发生的所有的事件

    js setCapture() releaseCapture() 获取页面上发生的所有的事件setCapture()IE独有div.setCapture()这个div会获取页面上发生的所有的事件捕获到自己身上来div.releaseCapture();//清除setCapture

    2022年6月2日
    40
  • Android经典完美退出方法

    Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activit

    2021年12月25日
    50
  • android开发 不注意的异常

    android开发 不注意的异常

    2022年1月29日
    46
  • 从零开始学习EasyDarwin(概述篇)

    EasyDarin是什么  EasyDarwin是由国内开源流媒体团队维护的一款开源流媒体平台框架,从2012年12月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目,更好地帮助广大流媒体开发者和创业型企业快速构建流媒体服务平台。EasyDarwin适合做什么  安防视频监控,移动互联网(安卓、IOS、微信)流媒体直播与点播,流媒体视

    2022年4月5日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号