版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/juhua2012/article/details/89157476
测试报告生成
自动化测试执行完成之后,我们需要生成测试报告来查看测试结果,使用HTMLTestRunner模块可以直接生成Html格式的报告。
下载地址:
http://tungwaiyip.info/software/HTMLTestRunner.html
下载后的修改:
- 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=o
- 772行,把 ue = e.decode('latin-1') 直接改成 ue = e
存放路径
将修改完成的模块存放在Python路径下Lib目录里面即可
import unittest
from HTMLTestRunner import HTMLTestRunner
import time
# 定义测试用例路径
test_dir=r'D:\PycharmProjects\Python1\unitest\unittest2'
discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_other.py')
if __name__ == '__main__':
# 存放报告的文件夹
report_dir=r'D:\PycharmProjects\Python1\unitest\unittest2\test_report'
# 报告命名时间格式化
now=time.strftime('%Y-%m-%d %H_%M_%S')
# 报告文件完整路径
report_name=report_dir+"/"+now+'result.html'
# 打开文件在报告文件写入测试结果
with open(report_name,'wb') as f:
runner=HTMLTestRunner(stream=f,title='测试报告',description='测试报告结果')
runner.run(discover)
f.close()
报告生成:
测试报告美化
import unittest
from BSTestRunner import BSTestRunner
import time
# 定义测试用例路径
test_dir=r'D:\PycharmProjects\Python1\unitest\unittest2'
discover=unittest.defaultTestLoader.discover(test_dir,pattern='test_other.py')
if __name__ == '__main__':
# 存放报告的文件夹
report_dir=r'D:\PycharmProjects\Python1\unitest\unittest2\test_report'
# 报告命名时间格式化
now=time.strftime('%Y-%m-%d %H_%M_%S')
# 报告文件完整路径
report_name=report_dir+"/"+now+'result.html'
# 打开文件在报告文件写入测试结果
with open(report_name,'wb') as f:
runner=BSTestRunner(stream=f,title='测试报告',description='测试报告结果')
runner.run(discover)
f.close()
报告生成:
HTMLTestRunner.py以及BSTestRunner.py下载地址: