selenium-Python之unittest(四)

来源:互联网 发布:linux查看组内用户 编辑:程序博客网 时间:2024/06/05 15:18

在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-8from test import test01from test import test02import unittestfrom HTMLTestRunner import HTMLTestRunnersuite=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-8import unittestfrom HTMLTestRunner import HTMLTestRunnerclass test_unittest(unittest.TestCase):    def setUp(self):        #用例执行前准备        pass    def test_case1(self):        #测试用例        pass    def test_case2(self):        #测试用例        pass    def tearDown(self):        #用例执行后环境还原        passif __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

最后来一张昨天电影院看的电影《七十七天》的偷拍照,好想去一次羌塘无人区。。。。
上图:
这里写图片描述