您的位置:首页 > 编程语言 > Python开发

Python+Selenium+HTMLTestRunner 自动生成测试报告,打开却是空白的解决方法

2019-02-20 17:35 866 查看

     在做测试过程中,最重要的一步就是测试报告的生成,自动化测试也需要做到自动生成测试报告。但unittest是不能生成html格式报告的,这就需要导入一个第三方的模块:HTMLTestRunner。

一:下载 HTMLTestRunner

下载路径:https://pypi.python.org/pypi/HTMLTestRunner ,下载后放到 Python的安装目录\Lib 该目录下。

Download下HTMLTestRunner.py文件就是我们需要下载的包。如果你点击后只能打开此文件,可以将文件内容复制到记事本中并另存为 HTMLTestRunner.py。

二、修改 HTMLTestRunner.py文件

如果你安装的是python2版本,那么不需要做这一步。因为HTMLTestRunner.py 原本就是python2版本,目前还没找到python3版本,所以需要我们自己修改 HTMLTestRunner.py 文件。

修改内容如下:

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

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

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

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

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

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

其中,Python3中,已经没有StringIO了。取而代之的是io.StringIO。

三、实例代码

 

其中遇到了个问题:

运行后生成了报告,但是打开是空白

可能原因一:没有关闭文件,加上代码 fp.close()  即可。

可能原因二:我是用Python unit-test方式进行运行,后面改为Python Run运行后正常生成了报告

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐