HTMLTestRunner自動(dòng)生成測試報(bào)告

一衷模、下載安裝HTMLTestRunner

對于測試人員來而言,測試工作一般不容易評價(jià)漫拭,也就是說測試人員工作的價(jià)值不好衡量改览,測試需要一個(gè)展示成果的平臺(tái)或者工具下翎,而漂亮的測試報(bào)告就是這樣一個(gè)衡量測試成果的工具。HTMLTestRunner易于生成HTML測試報(bào)告宝当,它是Python標(biāo)準(zhǔn)庫的unittest模塊的擴(kuò)展视事。

下載地址:http://tungwaiyip.info/software/HTMLTestRunner.html

這個(gè)擴(kuò)展非常簡單,只有一個(gè)HTMLTestRunner.py文件庆揩。安裝也非常的簡單俐东,只需要將其復(fù)制到python安裝目錄下即可。若不知道python的安裝目錄订晌,可以通過命令來快速查詢虏辫,方法如下所示:

二、怎么查看python的安裝路徑

1锈拨、在windows系統(tǒng)下砌庄,用cmd命令就可以查看python路勁

where python

2、在linux系統(tǒng)下奕枢,首先打開終端鹤耍,輸入python命令,進(jìn)入python的交互模式验辞,通過sys.path可以查看到python的安裝目錄

sys.path

3稿黄、找到python的安裝路徑后,再把HTMLTestRunner.py文件復(fù)制到指定目錄下即可跌造。

三杆怕、修改HTMLTestRunner.py

為什么要修改HTMLTestRunner.py呢?這是由于HTMLTestRunner.py是基于python2開發(fā)壳贪,為了使其支持python3的環(huán)境陵珍,需要對其內(nèi)容進(jìn)行部分修改。首先通過編輯器打開HTMLTestRunner.py文件违施。

#第94行
import StringIO 修改為:import io

#第539行
self.outputBuffer = StringIO.StringIO() 修改為:self.outputBuffer = io.StringIO()

#第631行
print >>sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime)修改為:print(sys.stderr, '\nTime Elapsed: %s' % (self.stopTime-self.startTime))

#第642行
if not rmap.has_key(cls):修改為:if not cls in rmap:

#第766行
uo = o.decode('latin-1')修改為:uo = o

#第772行
ue = e.decode('latin-1')修改為:ue = e

四互纯、生成HTML測試報(bào)告實(shí)戰(zhàn)

這里以打開百度,并輸入查詢數(shù)據(jù)為例磕蒲,進(jìn)行自動(dòng)化測試留潦,最終生成測試報(bào)告。首先要配置好chromedriver環(huán)境辣往,然后再利用python第三方庫selenium進(jìn)行ui自動(dòng)化測試兔院。

1、配置chromedriver路徑

chromedriver.exe下載地址:http://chromedriver.storage.googleapis.com/index.html

將下載好的chromedriver.exe放在C:\Program Files (x86)\Google\Chrome\Application路徑下站削,并配置好環(huán)境變量:

右鍵點(diǎn)擊我的電腦----->屬性--->高級(jí)系統(tǒng)設(shè)置---->環(huán)境變量------>在path路徑下添加上文中瀏覽器“C:\Program Files (x86)\Google\Chrome\Application”

或者在腳本中注明瀏覽器驅(qū)動(dòng)的位置

driver_path = r'D:\python\chromedriver.exe'
self.driver = webdriver.Chrome(executable_path=driver_path)

2坊萝、自動(dòng)化測試實(shí)例

from selenium import webdriver
import unittest
from HTMLTestRunner import HTMLTestRunner
import time

class Baidu(unittest.TestCase):
    def setUp(self):
        '''測試準(zhǔn)備工作'''
        self.driver = webdriver.Chrome()#初始化瀏覽器,注意要配置Chromedriver路徑,比如:將chrome.exe放在C:\Program Files (x86)\Google\Chrome\Application路徑下
        self.driver.maximize_window()
        self.driver.implicitly_wait(10)#隱形等待十偶,隱形等待時(shí)我們不會(huì)感覺到真的過了10秒菩鲜,它會(huì)等到當(dāng)前頁面元素加載完畢。
        self.base_url = 'https://www.baidu.com/'

    def test_baidu_search(self):
        '''測試百度搜索'''
        self.driver.get(self.base_url)
        self.driver.find_element_by_id('kw').clear()
        self.driver.find_element_by_id('kw').send_keys('測試工程師')
        self.driver.find_element_by_id('su').click()
        time.sleep(1)# 顯性等待惦积,會(huì)明顯感覺到程序等待的時(shí)間長度接校,比如:time.sleep(2),會(huì)明顯感覺程序等待了2秒鐘荣刑。

    def tearDown(self):
        '''資源釋放'''
        self.driver.quit()

if __name__ == '__main__':
    testunit = unittest.TestSuite()#初始化測試用例集合對象馅笙,構(gòu)建測試套件
    testunit.addTest(Baidu("test_baidu_search"))#把測試用例加入到測試用力集合中去,將用例加入到檢測套件中
    fp = open('./result.html','wb')#定義測試報(bào)告存放路徑
    runner = HTMLTestRunner(stream=fp,title='百度搜索測試報(bào)告',description='用例執(zhí)行情況')#定義測試報(bào)告
    runner.run(testunit)#執(zhí)行測試用例
    fp.close()

結(jié)果:

注意:

使用pycharm時(shí)無法生成測試報(bào)告的問題在用Ctrl+Shift+F10執(zhí)行腳本后厉亏,發(fā)現(xiàn)沒有在本地生成測試報(bào)告董习,經(jīng)分析,程序執(zhí)行unittest后爱只,沒有再執(zhí)行后面的程序皿淋,也就沒有再生存測試報(bào)告,正確的方法是Alt+Shift+F10恬试,然后在點(diǎn)擊要執(zhí)行的腳本名稱即可窝趣。

  • 這是Ctrl+Shift+F10執(zhí)行腳本時(shí),選擇執(zhí)行的方式:
  • 這是Alt+Shift+F10執(zhí)行腳本時(shí)训柴,選擇執(zhí)行的方式:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哑舒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子幻馁,更是在濱河造成了極大的恐慌洗鸵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仗嗦,死亡現(xiàn)場離奇詭異膘滨,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)稀拐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門火邓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人德撬,你說我怎么就攤上這事铲咨。” “怎么了砰逻?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵鸣驱,是天一觀的道長。 經(jīng)常有香客問我蝠咆,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任刚操,我火速辦了婚禮闸翅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘菊霜。我一直安慰自己坚冀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布鉴逞。 她就那樣靜靜地躺著记某,像睡著了一般。 火紅的嫁衣襯著肌膚如雪构捡。 梳的紋絲不亂的頭發(fā)上液南,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音勾徽,去河邊找鬼滑凉。 笑死,一個(gè)胖子當(dāng)著我的面吹牛喘帚,可吹牛的內(nèi)容都是我干的畅姊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吹由,長吁一口氣:“原來是場噩夢啊……” “哼若未!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起倾鲫,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤粗合,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后级乍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舌劳,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年玫荣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了甚淡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捅厂,死狀恐怖贯卦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情焙贷,我是刑警寧澤撵割,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站辙芍,受9級(jí)特大地震影響啡彬,放射性物質(zhì)發(fā)生泄漏羹与。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一庶灿、第九天 我趴在偏房一處隱蔽的房頂上張望纵搁。 院中可真熱鬧,春花似錦往踢、人聲如沸腾誉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽利职。三九已至,卻和暖如春瘦癌,著一層夾襖步出監(jiān)牢的瞬間猪贪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工佩憾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留哮伟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓妄帘,卻偏偏與公主長得像楞黄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子抡驼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容