您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Appium+Python如何生成html測試報告”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Appium+Python如何生成html測試報告”這篇文章吧。
分析:
1.unittest單元測試框架本身帶有一個textTestRunner類,可以生成txt文本格式的測試報告,但是頁面不夠直觀
2.我們可以導入第三方庫,比如常用的HTMLTestRunner類,可以生成html格式測試報告
3.首先去下載HTMLTestRunner_PY3.py腳本(我這里采用Python3.7),然后放置在Python3.7路徑下的Lib目錄下,使用時需要導入(即import HTMLTestRunner_PY3)
代碼示例如下:
if __name__ == "__main__": #實例化測試套件 suite = unittest.TestSuite() #加載測試用例 suite.addTest(TestCase("test_login")) #生成測試報告 # 選擇指定時間格式 timestr = time.strftime('%Y-%m-%d%H%M%S', time.localtime(time.time())) # 定義測試報告存放路徑和報告名稱 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自動化測試報告', description='執行人:丹姐') runner.run(suite) # 關閉測試報告 f.close()
解析:
1.在測試報告名中顯示時間:(引入time包) timestr=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
time.time():獲取當前時間戳
time.ctime():獲取當前時間的字符串
time.localtime():當前時間的struct_time形式
time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime()):獲取特定格式的時間,通常用這個
2.TestSuite是個容器,往里面用addTest()添加測試用例
3.Report定義報告保存的路徑以及文件名
open() 函數用于打開一個文件,創建一個file對象,相關的方法才可以調用它進行讀寫
語法:open(name[, mode[, buffering]])
name : 一個包含了你要訪問的文件名稱的字符串值
mode : mode 決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)
buffering : 如果 buffering 的值被設為 0,就不會有寄存。如果 buffering 的值取 1,訪問文件時會寄存行。如果將 buffering 的值設為大于 1 的整數,表明了這就是的寄存區的緩沖大小。如果取負值,寄存區的緩沖大小則為系統默認
這里常用的為 open(Report,'wb'):以二進制形式打開文件Report
4.runner定義測試報告格式,stream定義報告寫入的二進制文件,title為報告的標題,description為報告的說明,runner.run()用來運行測試case,注意最后用f.close()將文件關閉!
verbosity表示測試結果的信息復雜度,有三個值
0 (靜默模式): 你只能獲得總的測試用例數和總的結果 比如 總共100個 失敗20 成功80
1 (默認模式): 非常類似靜默模式 只是在每個成功的用例前面有個“.” 每個失敗的用例前面有個 “F”
2 (詳細模式):測試結果會顯示每個測試用例的所有相關的信息
測試報告效果圖如下所示:
以上是“Appium+Python如何生成html測試報告”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。