在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
最後來一張昨天電影院看的電影《七十七天》的偷拍照,好想去一次羌塘無人區。。。。
上圖: