selenium 自動化測試 測試報告 生成


https://www.cnblogs.com/yoyoketang/p/6140439.html

https://www.cnblogs.com/testyao/p/5658200.html

一、下載HTMLTestRunner.py

      HTMLTestRunner 是 Python 標准庫的 unittest 模塊的一個擴展。它生成易於使用的 HTML 測試報告。HTMLTestRunner 是在 BSD 許可證下發布。
      下載 地址:http://tungwaiyip.info/software/HTMLTestRunner.html(或者在我們群里下載)
      Windows :將下載的文件放入...\Python27\Lib 目錄下

二、生成報告

     下面還是以百度為例,baidu.py代碼如下:

      #coding=utf-8
      from selenium import webdriver
      from selenium.webdriver.common.by import By
      from selenium.webdriver.common.keys import Keys
      from selenium.webdriver.support.ui import Select
      from selenium.common.exceptions import NoSuchAttributeException
      import unittest,time,re
      import HTMLTestRunner
      class Baidu(unittest.TestCase):
           def setUp(self):
                 self.driver = webdriver.Firefox()
                 self.driver.implicitly_wait(30)
                 self.base_url = "http://www.baidu.com/"
                 self.verificationErrors = []
                 self.accept_next_alert = True
          def test_baidu_search(self):
                u"""百度搜索"""
                driver = self.driver
               driver.get(self.base_url + '/')
               driver.find_element_by_id("kw").send_keys("selenium webdriver")
               driver.find_element_by_id("su").click()
               time.sleep(2)
               driver.close()
         def test_baidu_set(self):
               u"""百度設置"""
               driver = self.driver
             #進入搜索設置頁
               driver.get(self.base_url + '/gaoji/preferences.html')
            #設置每頁搜索結果為 20 條
               m=driver.find_element_by_name("NR")
               m.find_element_by_xpath("//option[@value='20']").click()
               time.sleep(2)
          #保存設置的信息
               driver.find_element_by_xpath("/html/body/form/div/input").click()
               time.sleep(2)
               driver.switch_to_alert().accept()
        def tearDown(self):
               self.driver.quit()
               self.assertEqual([],self.verificationErrors)
    if __name__ == "__main__":
      unittest.main()

   下面我們在上面baidu.py的目錄下新建一個.py,用來執行測試用例集和生成測試報告。

   代碼如下:

#coding=utf-8
   import unittest
  #這里需要導入測試文件
   import baidu
   import HTMLTestRunner
   testunit=unittest.TestSuite()
   #將測試用例加入到測試容器(套件)中
   testunit.addTest(unittest.makeSuite(baidu.Baidu))   #baidu.Baidu中的baidu為用例所在的.py文件的名稱,Baidu為測試用例集的名稱
   #定義個報告存放路徑,支持相對路徑。
   filename= "D:\\python\\report\\"+ u"測試報告正常" +"result.html"
   fp = open(filename,"wb")
   runner =HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'測試報告',description=u'用例執行情況:')
  #執行測試用例
   runner.run(testunit)

執行完畢后,進入報告存放的路徑,打開后如圖:

 

    定義報告的路徑還有一種方法也可以的,生成的html文件直接在該.py文件目錄下,fp = file("my_report.html", "wb"),小伙伴們可以嘗試下

需要 注意的是HTMLTestRunner是基於py2寫的,如果是在py3環境 下,則需要用py3的。https://pan.baidu.com/s/1dEZQ0pz


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM