HTMLTestRunner

用HTMLTestRunner生成测试报告

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

这个拓展文件哪里搞?

  1. 自己搜索:“python HTMLTESTRUNNER”找到说明页面
  2. 任意门:http://tungwaiyip.info/software/HTMLTestRunner_0_8_2/HTMLTestRunner.py 这个地址进去直接copy内容,在工程中创建一个名为“HTMLTestRunner.py”的文件(之后会说文件放在哪),粘贴进去。

HTMLTestRunner.py应该放在哪里?

首先找到我们python或者python3的安装路径:
windows的相信大家都找得到,找不到的......去看一下环境变量中配置的路径,找到lib文件夹,把文件copy进去;
macos的稍微有点麻烦,我是懒得用终端在访达里墨迹了好久,最后还是用了终端.....执行以下脚本:

python3
import sys
print(sys.path)

然后你看到这个:
图片说明
去访达照这个路径下的lib文件夹,然后把HTMLTestRunner.py文件挪进去~
检查一下导没导进去:

import HTMLTestRunner

没报错就可以了。

如果你用的是python3

如果你用的是python3,那么这个文件是不可以直接用的。你问我为什么?因为傻呼呼的直接用,给我报这个错:
图片说明

我上网一查,大佬们说由于python3和以往版本的内容差异,需要稍微修改几处配置:
------------Python3中,已经没有StringIO了。取而代之的是io.StringIO。
第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, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

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

第766行,将uo = o.decode('latin-1')修改成uo = e

第772行,将ue = e.decode('latin-1')修改成ue = e

OK,修改完成。

这个东东怎么用?

我们刚才不是import HTMLTestRunner了吗?

首先我们得搞一个html文件,不然结果渲染去哪------工程里找个地方创建一个文件夹report(看你自己喜好,我随便起的),然后代码逻辑是:在刚才的路径下面创建一个html文件,并为写操作('wb',别用错了,我用w报错)。
看下面的代码:
图片说明

如果你写的代码没有错误,执行这个后控制台输出:
图片说明

我们用浏览器打开HTMLTestRunner.html
图片说明

大概就这样~

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务