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