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. Mountain Number FZU-2109数位dp

    Mountain NumberFZU-2109 题目大意:一个大于0的数字x,分写成x=a[0]a[1]a[2][3]..a[n]的形式,(比如x=1234,a[0]=1,a[1]=2,a[3]=3, ...

  2. cogs1355. 读书

    1355. 读书 ★   输入文件:reading.in   输出文件:reading.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 放暑假了,CHH想趁假期提高一下 ...

  3. vue中单选框与多选框的实现与美化

    我们在做一些页面时,可能会用到很多的单选框和复选框,但是原生的radio和checkbox前面的原型图标或方框样式不尽人意.于是,决定自己来实现单选框和复选框.我用的是vue,所以就用vue的方式实现 ...

  4. 修改jupyter notebook的字体等样式

    方法一 /lib/site-packages/notebook/static/custom/ 里面有个custom.css文件,你只要修改这个文件就可以了. /* jupyter notebook中显 ...

  5. Android开源界面库--ResideMenu用法

    网上关于ResideMenu用法的教程很多,但基本上全是从Github上copy下来的,Gitbub上给出的了对应的demo,但是由于我的IDE原因吧,demo一直导入不成功.为此自己又捣鼓了一翻,终 ...

  6. 安装指定版本的Ionic或Cordova

    安装ionic 及 cordova npm install -g cordova ionic更新命令 npm update -g cordova ionic安装特定版本 npm install -g ...

  7. koa 基础(五)动态路由的传值

    1.动态路由的传值 app.js /** * 动态路由的传值 */ // 引入模块 const Koa = require('koa'); const router = require('koa-ro ...

  8. 删除github上的一个repository

    在学github之初,我们免不了会建立一些简单的repository,那么,如何删掉它们呢? 第一步,打开所要删除的repository,比如:meilin.github.io 第二步,点击setti ...

  9. 让SpringBoot工程支持热部署

    下载地址:https://files.cnblogs.com/files/xiandedanteng/SpringBootWeb-1_20190928.rar 修改Java文件后,每次要重启才好用,修 ...

  10. LC 644. Maximum Average Subarray II 【lock,hard】

    Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...