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

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

最新文章

  1. 在AngularJS中同一个页面配置一个或者多个ng-app
  2. 利用LruCache为GridView加载大量本地图片完整示例
  3. lvs之ip-tun(ip隧道)技术的学习与实践
  4. XCode工程中ARC模式与非ARC模式共用(转)
  5. iOS 滤镜 转载,原文见正文首行链接
  6. Linux Ubuntu从零开始部署web环境及项目-----搭建ssh环境(一)
  7. HDFS基本原理总结
  8. MySQL my.cnf 配置文件注释
  9. 【Linux】【Java】CentOS7安装最新版Java1.8.191运行开发环境
  10. 团队作业记账本开发NABCD
  11. typescript可索引接口 类类型接口
  12. 04_web基础(三)之进一步理解web
  13. js对象通过属性路径获取属性值 - getPropByPath
  14. org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
  15. C# 将某个方法去异步执行
  16. 字符串前面加u、r、b的含义
  17. Mycat 数据库分库分表中间件
  18. 124. Binary Tree Maximum Path Sum *HARD* -- 二叉树中节点和最大的路径的节点和
  19. 未找到与约束 ContractName Microsoft.VisualStudio.Utilitues.IContentTypeRegistryService......
  20. Python for 循环语句

热门文章

  1. K 短路
  2. bootstrap面板的使用
  3. jQuery事件之一次性事件
  4. 20165207 Exp9 Web安全基础
  5. Python定时框架 Apscheduler 详解【转】
  6. 使用redis时遇到的问题及解决方法
  7. 控制类名(className属性)
  8. Https 协议解析
  9. 1-mybatis-概览
  10. dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib