自动化测试执行完成之后,我们需要生成测试报告来查看测试结果,使用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='./test_case'
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
if __name__ == '__main__':
#存放报告的文件夹
report_dir='./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:
runer=HTMLTestRunner(stream=f,title="Test Report",description='Test case result')
runer.run(discover)
f.close()
测试报告美化
下载地址: https://github.com/easonhan007/HTMLTestRunner
注意:
下载后也需要和前面的内容一样进行修改,然后放置在Python安装路径的Lib文件夹里
import unittest
from BSTestRunner import BSTestRunner
import time
test_dir='./test_case'
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")
if __name__ == '__main__':
report_dir='./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:
runer=BSTestRunner(stream=f,title="Test Report",description='Test case result')
runer.run(discover)
f.close()
参考资料来源:
http://blog.csdn.net/huilan_same/article/details/52944782
http://blog.csdn.net/qq1124794084/article/details/51668672
http://www.cnblogs.com/nbkhic/p/5914400.html
《Selenium2自动化实战》——虫师