詳解Appium+Python之生成html測(cè)試報(bào)告
思考:測(cè)試用例執(zhí)行后,如何生成一個(gè)直觀漂亮的測(cè)試報(bào)告呢?
分析:
1.unittest單元測(cè)試框架本身帶有一個(gè)textTestRunner類,可以生成txt文本格式的測(cè)試報(bào)告,但是頁面不夠直觀
2.我們可以導(dǎo)入第三方庫,比如常用的HTMLTestRunner類,可以生成html格式測(cè)試報(bào)告
3.首先去下載HTMLTestRunner_PY3.py腳本(我這里采用Python3.7),然后放置在Python3.7路徑下的Lib目錄下,使用時(shí)需要導(dǎo)入(即import HTMLTestRunner_PY3)
代碼示例如下:
if __name__ == "__main__": #實(shí)例化測(cè)試套件 suite = unittest.TestSuite() #加載測(cè)試用例 suite.addTest(TestCase("test_login")) #生成測(cè)試報(bào)告 # 選擇指定時(shí)間格式 timestr = time.strftime('%Y-%m-%d%H%M%S', time.localtime(time.time())) # 定義測(cè)試報(bào)告存放路徑和報(bào)告名稱 Report = os.path.join( PATH('E://testing_code/code/SmartSiteTestScript/report/test_report_') + timestr + '.html') with open(Report, 'wb') as f: runner = HTMLTestRunner_PY3.HTMLTestRunner(stream=f, verbosity=2, title='XXXX自動(dòng)化測(cè)試報(bào)告', description='執(zhí)行人:丹姐') runner.run(suite) # 關(guān)閉測(cè)試報(bào)告 f.close()
解析:
1.在測(cè)試報(bào)告名中顯示時(shí)間:(引入time包) timestr=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
time.time():獲取當(dāng)前時(shí)間戳
time.ctime():獲取當(dāng)前時(shí)間的字符串
time.localtime():當(dāng)前時(shí)間的struct_time形式
time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime()):獲取特定格式的時(shí)間,通常用這個(gè)
2.TestSuite是個(gè)容器,往里面用addTest()添加測(cè)試用例
3.Report定義報(bào)告保存的路徑以及文件名
open() 函數(shù)用于打開一個(gè)文件,創(chuàng)建一個(gè)file對(duì)象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫
語法:open(name[, mode[, buffering]])
- name : 一個(gè)包含了你要訪問的文件名稱的字符串值
- mode : mode 決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀(r)
- buffering : 如果 buffering 的值被設(shè)為 0,就不會(huì)有寄存。如果 buffering 的值取 1,訪問文件時(shí)會(huì)寄存行。如果將 buffering 的值設(shè)為大于 1 的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)
這里常用的為 open(Report,'wb'):以二進(jìn)制形式打開文件Report
4.runner定義測(cè)試報(bào)告格式,stream定義報(bào)告寫入的二進(jìn)制文件,title為報(bào)告的標(biāo)題,description為報(bào)告的說明,runner.run()用來運(yùn)行測(cè)試case,注意最后用f.close()將文件關(guān)閉!
verbosity表示測(cè)試結(jié)果的信息復(fù)雜度,有三個(gè)值
- 0 (靜默模式): 你只能獲得總的測(cè)試用例數(shù)和總的結(jié)果 比如 總共100個(gè) 失敗20 成功80
- 1 (默認(rèn)模式): 非常類似靜默模式 只是在每個(gè)成功的用例前面有個(gè)“.” 每個(gè)失敗的用例前面有個(gè) “F”
- 2 (詳細(xì)模式):測(cè)試結(jié)果會(huì)顯示每個(gè)測(cè)試用例的所有相關(guān)的信息
測(cè)試報(bào)告效果圖如下所示:
- 使用python將最新的測(cè)試報(bào)告以附件的形式發(fā)到指定郵箱
- python selenium執(zhí)行所有測(cè)試用例并生成報(bào)告的方法
- python自動(dòng)發(fā)送測(cè)試報(bào)告郵件功能的實(shí)現(xiàn)
- 解決python3 HTMLTestRunner測(cè)試報(bào)告中文亂碼的問題
- Python發(fā)送郵件測(cè)試報(bào)告操作實(shí)例詳解
- python使用 HTMLTestRunner.py生成測(cè)試報(bào)告
- python 字典(dict)遍歷的四種方法性能測(cè)試報(bào)告
- Python TestSuite生成測(cè)試報(bào)告過程解析
相關(guān)文章
python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法
這篇文章主要介紹了python中以函數(shù)作為參數(shù)(回調(diào)函數(shù))的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)
Excel是Windows環(huán)境下流行的、強(qiáng)大的電子表格應(yīng)用。本文將詳解用Python利用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel的方法詳細(xì),需要的可以參考一下2022-06-06用Python調(diào)用win命令行提高工作效率的實(shí)例
今天小編就為大家分享一篇用Python調(diào)用win命令行提高工作效率的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08Python實(shí)現(xiàn)釘釘發(fā)送報(bào)警消息的方法
今天小編就為大家分享一篇Python實(shí)現(xiàn)釘釘發(fā)送報(bào)警消息的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02pandas進(jìn)行時(shí)間數(shù)據(jù)的轉(zhuǎn)換和計(jì)算時(shí)間差并提取年月日
這篇文章主要介紹了pandas進(jìn)行時(shí)間數(shù)據(jù)的轉(zhuǎn)換和計(jì)算時(shí)間差并提取年月日,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python面向?qū)ο髮?shí)現(xiàn)方法總結(jié)
這篇文章主要介紹了Python面向?qū)ο髮?shí)現(xiàn)方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08python協(xié)程gevent案例 爬取斗魚圖片過程解析
這篇文章主要介紹了python協(xié)程gevent案例 爬取斗魚圖片過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python內(nèi)置數(shù)據(jù)類型使用方法和繼承關(guān)系
這篇文章主要介紹了python內(nèi)置數(shù)據(jù)類型使用方法和繼承關(guān)系,介紹內(nèi)容有python包含的內(nèi)置序列、使用內(nèi)置的數(shù)據(jù)類型等相關(guān)資料,需要的小伙伴可以參考一下2022-03-03