在selenium-Python之unittest(二)中写到过关于报告生成的内容,将测试报告打印在了 txt 文档中,链接如下:
http://blog.csdn.net/weixin_39568072/article/details/78470039
本篇微博我们还用之前的例子,来实现如何生成一份漂亮的HTML测试报告。
unittest本身是不带HTML报告的,要在Lib目录下导入这个可以生成HTML报告的库才行;
- 首先我们要下载HTMLTestRunner.py
- 然后放在python目录下的lib目录中,导入运行即可;
官方下载目录如下:
http://tungwaiyip.info/software/HTMLTestRunner.html
灰蓝修改版:
http://download.csdn.net/download/huilan_same/9598558
安装完如下:
好了,准备工作做好了,就开始生成一份美丽的HTML报告吧!
运行代码改进如下:
#encoding=utf-8
from test import test01
from test import test02
import unittest
from HTMLTestRunner import HTMLTestRunner
suite=unittest.TestSuite()
suite.addTests([test01.BaiDuTest('test_baidu'),test02.SouGouTest('test_sougou')])
if __name__=='__main__':
with open('HTMLReport.html','w')as fp:
runner=HTMLTestRunner(stream=fp,
title='BrowserSearch Test Report',
description='Generated by HTMLTestRunner.',
verbosity=2
)
runner.run(suite)
这样执行过后,就会生成html格式的测试报告了;
可以看出,生成 HTML 报告和生成 txt 文档报告的区别就在,runner实例化的时候,调用的类不同:
生成txt时,用TextTestRunner来实例化;
生成html时,用HTMLTestRunner来实例化;
其余的执行步骤是一样的,根据个人喜好,可以选择不同的报告模板!!
总结一下,基于python自带的单元测试框架unittest的用例组织执行的基本流程如下:
#encoding=utf-8
import unittest
from HTMLTestRunner import HTMLTestRunner
class test_unittest(unittest.TestCase):
def setUp(self):
#用例执行前准备
pass
def test_case1(self):
#测试用例
pass
def test_case2(self):
#测试用例
pass
def tearDown(self):
#用例执行后环境还原
pass
if __name__=='__main__':
#生成测试套件
suite=unittest.TestSuite()
#给套件中添加用例,并且可以指定用例的执行顺序
suite.addTests([test_unittest('test_case1'),test_unittest('test_case2')])
#生成 txt 形式报告
# with open('txt_report.txt','a')as fp:
# runner=unittest.TextTestRunner(stream=fp,verbosity=2)
#runner.run(suite)
#生成 html 形式报告
with open('html_report.html','w')as fp:
runner=HTMLTestRunner(stream=fp,title='xxx',description='xxx',verbosity=2)
runner.run(suite)
好了,关于unittest的先写这么多,后面想起来啥了再继续。。。。
关于selnium-Python之unittest系列博客的编写时,参考了一篇不错的博客,大家可以查阅:
http://blog.csdn.net/huilan_same/article/details/52944782
最后来一张昨天电影院看的电影《七十七天》的偷拍照,好想去一次羌塘无人区。。。。
上图: