unittest框架-测试报告的生成和优化
自动化测试完成之后,我们需要生成测试报告来查看测试结果,使用HTMLTestRunner模块可以直接生成html格式的报告。
测试报告的生成
下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html
因为这个报告的模板是某位大师用python 2.x写的,我们用的是python 3.x,因此需要作如下修改。
下载后修改:
- 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行 uoo.decode('latin-1')改成uo=o
- 772行 ue=e.decode('latin-1)改成ue=e
存储路径:
将修改的文件存放在C:\...\Python36\Lib
代码的实际运用:
还是前面百度的案例(https://mp.****.net/postedit/80067833),修改一下RunTest.py,如下:
运行结束后,测试报告放置在了我们代码中写好的目录,文件名称也如代码所写:
测试报告格式如下:
测试报告优化
在网上找到了一个更好的模板。
下载地址:https://github.com/easonhan007/HTMLTestRunner
解压之后,将BSTestRunner.py放置到C:\...\Python36\Lib
修改RunTest.py如下:
运行代码,测试报告如下:
测试报告报了一个错误,因为对python不是很熟悉,因此我又重新下载了一个BSTestRunner.py,地址如下:https://download.****.net/download/qq_21205435/9980658
然后运行后测试报告如下:
还是报错了。看到报错信息,怀疑是驱动的原因。本来是用chrome浏览器的,更改为firefox浏览器之后,没有报错了: