点击下载HTMLTestRunner源代码。
将HTMLTestRunner.py保存在Python的环境变量目录。以Mac下的操作为例:
①下载HTMLTestRunner.py文件
②查看Python在Mac下第三方非标准库模块存放位置
#python
Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 08:49:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
>>>
通过以上命令查出第三方非标准库模块存放位置为:/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages。
③在/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages目录下新建文件夹HTMLTestRunner
#cd /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
#mkdir HTMLTestRunner
④将HTMLTestRunner.py文件移动到HTMLTestRunner目录下
⑤在HTMLTestRunner目录下新建_ init _.py文件
直接将HTMLTestRunner的源代码保存在项目中。
因为HTMLTestRunner模块使用的是Python2的语法,所以在Python3下运行还需要做适当的修改。
行号 | Python2 | Python3 |
---|---|---|
95 | 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’) | uo = e |
在Python代码中,运行如下代码,即可生成测试报告。
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(...)
...
file_path = 'test_report.html'
fp = open(file_path, 'wb')
runner = HTMLTestRunner(stream=fp, title='Test', description='TestCase')
runner.run(suite)