Selenium 2自動化測試實戰35(HTML測試報告)

HTML測試報告html

顯然,一份漂亮的測試報告展現自動化測試成果只有一個簡單的log文件是不夠的。
HTMLTestRunner是python標準庫unittest單元測試框架的一個擴展,它生成易於使用的HTML測試報告。
下載地址:http://tungwaiyip.info/software/HTMLTestRunner.html
下載HTMLTestRunner.py文件,選中後右鍵另存爲,保存到本地,而後將其放在python安裝目錄下的Lib目錄下。即:Windows保存到…\pytohn27\Lib目錄下。python


在python交互模式下引入HTMLTestRunner模塊,若是系統沒有報錯,則說明添加成功,以下圖所示web

 

 


2.修改HTMLTestRunner
由於HTMLTestRunner.py是基於python2開發的,爲了使其支持python3的環境,須要對其中的部份內容進行修改,以下圖所示。
#第94行框架

 

 

#第540行python2.7

 

#第633行單元測試


#第646行測試

 

 

 

#第771行ui

 

 


#第778行url

 

 


3.生成HTML測試報告
下面繼續以test_baidu.py文件爲例生成HTMLTestRunner測試報告。(注意:因爲當前本人使用的是python2.7,因此不能修改HTMLTestRunner.py文件)spa

#test_baidu.py
#coding:utf-8 from selenium import webdriver from HTMLTestRunner import HTMLTestRunner import unittest import time class MyTest(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(10) self.base_url="http://www.baidu.com" def test_baidu(self): driver=self.driver driver.get(self.base_url+"/") driver.find_element_by_id("kw").clear() driver.find_element_by_id("kw").send_keys("unittest") driver.find_element_by_id("su").click() time.sleep(2) title=driver.title self.assertEqual(title,u"unittest_百度搜索") def tearDown(self): self.driver.quit() if __name__=="__main__": testunit=unittest.TestSuite() testunit.addTest(MyTest("test_baidu")) #定義報告存放路徑 fp=open('./result.html','wb') #定義測試報告 runner=HTMLTestRunner(stream=fp,title=u'百度搜索測試報告',description=u'用例執行狀況:') runner.run(testunit)#運行測試用例 fp.close()#關閉報告文件

  

代碼分析:
1.首先,將HTMLTestRunner模塊用import導入進來。
2.經過open()方法一二進制寫模式打開當前目錄下的result.html,若是沒有,則自動建立該文件。
3.調用HTMLTestRunner模塊下的HTMLTestRunner類,stream指定測試報告文件,title用於定義測試報告的標題,description用於定義測試報告的副標題。
4.最後,經過HTMLTestRunner的run()方法來運行測試套件中的測試用例,最後,經過close()關閉測試報告文件。
5.用例執行完成後,打開「result.html」文件查看生成的測試報告,以下圖所示:

相關文章
相關標籤/搜索