下面来介绍两种生成友好的测试报告的方法
(1)使用HTMLTestRunner
1、下载博客上别人改进版的中文版的HTMLTestRunner,下载链接如下:https://download.csdn.net/download/huilan_same/9598558,需要积分下载,没有积分的可以私信找我,我可以分享出来。
2、将下载的HTMLTestRunner放到入…\python\Lib目录下,就可以引用
使用的代码示例如下:
# -*- coding:utf-8 -*-
import unittest
import baidu,youdao #这里需要导入测试文件
import HTMLTestRunner
import time, sys
testunit = unittest.TestSuite()
#将测试用例加入到测试容器(套件)中
testunit.addTest(unittest.makeSuite(baidu.Baidu))
testunit.addTest(unittest.makeSuite(youdao.Youdao))
if __name__ == '__main__':
#取前面时间
now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time()))
filename = r"E:\TestProgram\unittest\program02\{0}result.html".format(now)
print(filename)
fp = file(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream = fp, title = u'百度搜索测试报告', description = u'测试执行情况')
#执行测试用例
runner.run(testunit)
fp.close()
(2)使用BeautifulReport
1、使用的是python3.7版本,BeautifulReport不支持2.7版本的。
2、下载BeautifulReport,链接:https://github.com/TesterlifeRaymond/BeautifulReport,下载之后解压放在…\python\Lib\site-packages目录下
示例代码如下:
# -*- coding:utf-8 -*-
import unittest
from BeautifulReport import BeautifulReport
import time, sys
if __name__ == '__main__':
suite_tests = unittest.defaultTestLoader.discover(".", pattern="test*.py", top_level_dir=None)
#取前面时间
now = time.strftime("%Y-%m-%M-%H_%M_%S",time.localtime(time.time()))
filename = now + '.html'
result = BeautifulReport(suite_tests)
result.report(filename=filename, description='百度测试报告', log_path='.')
运行之后结果如下图:非常完美