selenium+Python(產生html測試報告)

來源:互聯網
上載者:User

標籤:star   pattern   script   項目   test   report   amp   local   wait   

        當自動化測試完成後,我們需要一份漂亮且通俗易懂的測試報告來展示自動化測試成果,僅僅一個簡單的log檔案是不夠的

        HTMLTestRunner是Python標準庫unittest單元測試架構的一個擴充,它產生便於使用的HTML測試報告,下載後,將其複製到Python的安裝目錄即可,

例如,Windows,放在...\python27\Lib目錄下

補充知識:

1、Python注釋

普通注釋用#表示

文本注釋,放在類或者方法下面:""" 注釋內容 """或者  ‘‘‘注釋內容  ‘‘‘

2、測試報告以測試時間來命名,防止報告被覆蓋

time.time():擷取目前時間戳

time.ctime():目前時間的字串形式

time.localtime():目前時間的struct_time形式

time.strftime():用來擷取目前時間,可以講師時間格式化為字串

下面是項目整合產生測試報告源碼:

test_case檔案下的兩個測試案例

test_baidu.py

# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import NoAlertPresentExceptionimport unittest, time, reclass Baidu(unittest.TestCase):    def setUp(self):        self.driver = webdriver.Firefox()        self.driver.implicitly_wait(30)        self.base_url = "https://www.baidu.com/"        self.verificationErrors = []        self.accept_next_alert = True        def test_baidu(self):        u"""百度搜尋用例"""        driver = self.driver        driver.get(self.base_url + "/?tn=98012088_5_dg&ch=12")        driver.find_element_by_id("kw").clear()        driver.find_element_by_id("kw").send_keys("select")        driver.find_element_by_id("su").click()                time.sleep(3)               def tearDown(self):        self.driver.quit()if __name__ == "__main__":    unittest.main()

  test_firefox.py

# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support.ui import Selectfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.common.exceptions import NoAlertPresentExceptionimport unittest, time, reclass FireFox(unittest.TestCase):    def setUp(self):        self.driver = webdriver.Firefox()        self.driver.implicitly_wait(30)        self.base_url = "http://start.firefoxchina.cn/"        self.verificationErrors = []         self.accept_next_alert = True        def test_firefox(self):         u"""Firefox搜尋用例"""        driver = self.driver        driver.get(self.base_url + "/")        driver.find_element_by_id("search-key").clear()        driver.find_element_by_id("search-key").send_keys("selenium webdriver")        driver.find_element_by_id("search-submit").click()        time.sleep(5)       def tearDown(self):        self.driver.quit()if __name__ == "__main__":    unittest.main()

  執行測試案例的run_test.py

#coding=utf-8import unittest, doctestimport HTMLTestRunnerimport time#相對路徑定義用例存放的路徑和報告存放路徑test_dir=‘./test_case‘test_dir1=‘./report‘
#尋找對應路徑下的測試案例放到discover中discover=unittest.defaultTestLoader.discover(test_dir,pattern=‘test*.py‘)#定義帶有當前測試時間的報告,防止前一次報告被覆蓋now=time.strftime("%Y-%m-%d %H_%M_%S")filename=test_dir1+ ‘/‘ +now+ ‘result.html‘#二進位開啟,準備寫入檔案fp = file(filename, ‘wb‘)#定義測試報告runner =HTMLTestRunner.HTMLTestRunner(stream=fp,title=u‘搜尋測試報告‘,description=u‘用例執行情況‘)runner.run(discover)

  最後產生的產生的html測試報告如下:

 

selenium+Python(產生html測試報告)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.