HTMLTestRunner下载安装及用法

1. 说明

HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展。它生成易于使用的 HTML 测试报告

本文针对Python2.7版本, 那么对于Python3.x的使用,需要改动几处。见 6. 适配Python3

2. 下载

下载HTMLTestRunner.py文件,地址为:

http://tungwaiyip.info/software/HTMLTestRunner.html

3. 安装

安装方法区分平台

Windows平台:

将下载的文件放入…\Python27\Lib 目录下

Linux平台:

下需要先确定 python 的安装目录,打开终端,输入 python 命令进入 python 交互模式,通过 sys.path 可以查看本机 python 文件目录,以管理员身份将 HTMLTestRunner.py 文件考本到/usr/lib/python2.7/dist-packages/ 目录下

4. 使用

import HTMLTestRunner

class UCTestCase(unittest.TestCase):
def setUp(self):
pass def tearDown(self):
pass def testCreateFolder(self):
pass def testDeleteFolder(self):
pass if __name__ == "__main__":
# 定义一个单元测试容器
testsuite = unittest.TestSuite() # 将测试用例加入到测试容器
testsuite.addTest(UCTestCase("testCreateFolder"))
testsuite.addTest(UCTestCase("testDeleteFolder")) # 获取当前时间,这样便于下面的使用。
now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time())) # 打开一个文件,将result写入此file中
filePath = "C://PythonProject//py2//debug_HTMLtestRunner//Result" + now + ".html"
fp=open(filePath ,"wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title='test result', description=u'result:') #执行测试用例
runner.run(testsuite) #关闭文件
fp.close()

5. 测试报告展示

名称展示:

内容展示:

6. 适配Python3

具体改动如下:

第94行,将import StringIO修改成import io

第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer= io.StringIO()

第631行,将print >> sys.stderr, ‘\nTime Elapsed: %s’%(self.stopTime-self.startTime)修改成print(sys.stderr, ‘\nTimeElapsed: %s’ % (self.stopTime-self.startTime))

第642行,将if not rmap.has_key(cls):修改成if not cls in rmap:

第767行,将uo = o.decode(‘latin-1’)修改成uo = e

第775行,将ue = e.decode(‘latin-1’)修改成ue = e

第779行,将output = saxutils.escape(uo+ue),修改成output = saxutils.escape(str(uo)+str(ue)),

注意:行数可能因为版本不同出现略微误差

将上述几处改动,保存成功后,再将HTMLTestRunner.py放到C:\Python36\Lib目录中,

检验是否加载成功,在Python IDLE 中输入

import HTMLTestRunner

若无报错,那么加载成功。

6.1 修改后源码下载地址:

https://pan.baidu.com/s/1c2OyyPE

将下载的HTMLTestRunner.py放到C:\Python36\Lib目录中,

检验是否加载成功,在Python IDLE 中输入

import HTMLTestRunner

若无报错,那么加载成功。

使用HTMLTestRunner生产报告的更多相关文章

  1. 使用HTMLTestRunner生成报告

    使用HTMLTestRunner生成报告 unittest本身并不具备这个功能,需要使用HTMLTestRunner库 使用步骤: 首先需要下载.py文件:http://tungwaiyip.info ...

  2. 调用HTMLTestRunner生产的报告内容为空解决办法

    开始代码如下,生成报告内容为空: #coding=utf-8 import unittest,time,reimport requestsimport jsonimport HTMLTestRunne ...

  3. selenium(python)用HTMLTestRunner导出报告(断言)信息的显示

    导出报告如图所示,没有显示相关信息 修改HTMLTestRunner.py文件的763-768行,注释掉if else,保留else 的uo = o 再次运行可看到信息(测试用例中的print信息也会 ...

  4. HTMLTestRunner生成报告 中文展示乱码的问题

  5. 用PyCharm执行测试成功但无法生成HTMLTestRunner报告

    问题:代码写的没问题,执行也成功了,但就是无法生成HTMLTestRunner的报告 其实这是编辑器搞得鬼,编辑器为了方便用户执行测试,都有一项功能,可以用编辑器来调用unittest或者nose来执 ...

  6. Selenium HTMLTestRunner 执行测试成功但无法生成报告

    为什么用PyCharm或者Eclipse执行测试成功但无法生成HTMLTestRunner报告 最近遇到一些人问这样的问题: 他们的代码写的没问题,执行也成功了,但就是无法生成HTMLTestRunn ...

  7. 关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法

    关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法 这个问题我也遇到过,以下是解决办法   该方法适用于 ...

  8. [Python]如何使用HtmlTestRunner让自动化测试报告内容更丰富

    简述 使用selenium webdriver + Python做自动化测试,执行完成后要生成测试报告,Python我们使用的HTMLtestrunner 进行生成,但是默认提供的生成报告内容,并不能 ...

  9. 测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告

    EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行.得到了Google和Yourkit的支持. ...

随机推荐

  1. BOM基础笔记

    BOM基础 BOM对浏览器的一些操作 1.打开.关闭窗口 •open –蓝色理想运行代码功能 window.open('http://www.baidu.com/', '_self'); <!d ...

  2. BZOJ 4042 Luogu P4757 [CERC2014]Parades (树形DP、状压DP)

    题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=4042 (Luogu) https://www.luogu.org/prob ...

  3. DB 分库分表(2):全局主键生成策略

    DB 分库分表(2):全局主键生成策略 本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案.关于分库分表(sharding)的拆分策略和实施细则,请 ...

  4. UDP和TCP浅析

    UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议. 在选择使用协议的时候,选择UDP必须要谨慎.在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较 ...

  5. @configuration和@component之间的区别

    @configuration和@component之间的区别是:@Component注解的范围最广,所有类都可以注解,但是@Configuration注解一般注解在这样的类上:这个类里面有@Value ...

  6. better-scroll 介绍

    碰到一个项目,应该遵守两大规则: 1. 不要让项目产生过多的第三方依赖 2. 增强组件的应用率 尽可能的将东西写在组件里面,尽可能的将数据写活,通过组件通信来进行数据转换,用到的依赖处理,我们可以通过 ...

  7. Docker关键概念阐述

    要了解Docker需要对其体系结构中的几个关键概念有所了解,主要包括image.container.service.swarm.stack等. 在介绍这几个概念时,会使用到一个测试环境,这个测试环境是 ...

  8. PHP安装 (结合之前的nginx安装与mysql安装组合为lnmp)

    检查安装PHP所需的lib库 yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-de ...

  9. Activity缓存方法

    有a.b两个Activity,当从a进入b之后一段时间,可能系统会把a回收,这时候按back,执行的不是a的onRestart而是onCreate方法,a被重新创建一次,这是a中的临时数据和状态可能就 ...

  10. 2019.05.30 S4 BUPT BP 客户增强说明

    - 看了一圈,发现网上BUPT增强的很少,有的也是做一个字段的页签的增强,我自己花时间研究了一下,在BP增加新的interface 界面按钮. BP页签增强部分就不写了,大家看链接吧 加上如何做出新的 ...