使用HTMLTestRunner生产报告
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生产报告的更多相关文章
- 使用HTMLTestRunner生成报告
使用HTMLTestRunner生成报告 unittest本身并不具备这个功能,需要使用HTMLTestRunner库 使用步骤: 首先需要下载.py文件:http://tungwaiyip.info ...
- 调用HTMLTestRunner生产的报告内容为空解决办法
开始代码如下,生成报告内容为空: #coding=utf-8 import unittest,time,reimport requestsimport jsonimport HTMLTestRunne ...
- selenium(python)用HTMLTestRunner导出报告(断言)信息的显示
导出报告如图所示,没有显示相关信息 修改HTMLTestRunner.py文件的763-768行,注释掉if else,保留else 的uo = o 再次运行可看到信息(测试用例中的print信息也会 ...
- HTMLTestRunner生成报告 中文展示乱码的问题
- 用PyCharm执行测试成功但无法生成HTMLTestRunner报告
问题:代码写的没问题,执行也成功了,但就是无法生成HTMLTestRunner的报告 其实这是编辑器搞得鬼,编辑器为了方便用户执行测试,都有一项功能,可以用编辑器来调用unittest或者nose来执 ...
- Selenium HTMLTestRunner 执行测试成功但无法生成报告
为什么用PyCharm或者Eclipse执行测试成功但无法生成HTMLTestRunner报告 最近遇到一些人问这样的问题: 他们的代码写的没问题,执行也成功了,但就是无法生成HTMLTestRunn ...
- 关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法
关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法 这个问题我也遇到过,以下是解决办法 该方法适用于 ...
- [Python]如何使用HtmlTestRunner让自动化测试报告内容更丰富
简述 使用selenium webdriver + Python做自动化测试,执行完成后要生成测试报告,Python我们使用的HTMLtestrunner 进行生成,但是默认提供的生成报告内容,并不能 ...
- 测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告
EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行.得到了Google和Yourkit的支持. ...
随机推荐
- android动态加载
转载自: http://www.cnblogs.com/over140/archive/2012/03/29/2423116.html http://www.cnblogs.com/over140/a ...
- luoguP1996 约瑟夫问题
P1996 约瑟夫问题 2.5K通过 4.7K提交 题目提供者 Timothy 标签 洛谷原创 云端 难度 普及- 时空限制 1s / 128MB 题目背景 约瑟夫是一个无聊的人!!! 题目描述 n个 ...
- webpack打包.vue文件
在webpack中配置.vue组件页面的解析(vue-loader) 结合webpack使用vue-router 在webpack中配置.vue组件页面的解析 1.运行npm i vue -S将vue ...
- Android中定义广播监听,其他页面发送
private LocalBroadcastManager broadcastManager; /** * 注册广播接收器 */ private void receiveAdDownload() { ...
- Vue_(基础)Vue中的指令
Vue.js中文文档 传送门 Vue的指令:其实就是单个JavaScript表达式,一般来说是带有v-前缀 Vue指令: v-model:数据双向绑定: v-text:以纯文本方式显示数据: v- ...
- HAOI2010软件安装
首先tarjan缩点应该能看出来,然后我用topsort跑了个DAG上的一维dp,结果WA的很惨. 其实用DAG应该也能做,但是DAG强调整体顺序,而对一些局部问题,例如两个儿子怎么分配,是否给当前节 ...
- flink杂记
flink的特点:能同时满足高性能.高吞吐.低延时,相比较于storm和spark streaming,storm的吞吐量不如flink,而spark streaming的延时比较高,因为spark ...
- 【Nginx】 linux环境下安装nginx步骤
开始前,请确认gcc g++开发类库是否装好,默认已经安装. centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libto ...
- 在sed中引入shell变量的四种方法
1.eval sed ’s/$a/$b/’ filename2.sed "s/$a/$b/" filename3.sed ’s/’$a’/’$b’/’ filename 4.sed ...
- el-mement表单校验-校验失败时自动聚焦到失败的input框
思路:调用input的focus()事件,聚焦到失败的input框上, 问题:如何获取失败的input框,结合element的校验方法,查看可以提供入口的地方 调用this.$refs[formNam ...