轉自:https://www.cnblogs.com/kaibindirver/p/9436649.html
? ? ? ? ? ?https://github.com/GoverSky/HTMLTestRunner_cn/blob/master/README.md
在原版的基礎上進行擴展和改造
報告漢化,錯誤日志
?
selenium/appium 截圖
截圖功能根據測試結果,當結果為fail或error時自動截圖
截圖方法在_TestResult 的測試結果收集中,報告使用的截圖全部保存為base64編碼,避免了報告圖片附件的問題,可以根據自己使用的框架不同自行調整,selenium 使用的是get_screenshot_as_base64 方法獲取頁面截圖的base64編碼
?因為要提取用例中的driver變量獲取webdriver對象,所以要實現截圖功能必須定義在用例中定義webdriver 為driver
def setUp(self): self.imgs=[] # (可選)初始化截圖列表 self.driver = webdriver.Chrome()
或者
@classmethod def setUpClass(cls): cls.driver = webdriver.Chrome()
也可以在測試過程中某一步驟自定義添加截圖,比如
生成報告后會統一進行展示
Selenium截圖輪播效果
Appium效果輪播截圖
用例失敗重試
根據unittest的運行機制,在stopTest 中判斷測試結果,如果失敗或出錯status為1,判斷是否需要重試;
在實例化HTMLTestRunner 對象時追加參數,retry,指定重試次數,如果save_last_try 為True ,一個用例僅顯示最后一次測試的結果。
HTMLTestRunner(title="帶截圖的測試報告", description="小試牛刀", stream=open("sample_test_report.html", "wb"), verbosity=2, retry=2, save_last_try=True)
如果save_last_try 為False,則顯示所有重試的結果。
HTMLTestRunner(title="帶截圖的測試報告", description="小試牛刀", stream=open("sample_test_report.html", "wb"), verbosity=2, retry=2, save_last_try=False)
注意:在python3 中因為unittest運行機制變動,在使用setUp/tearDown中初始化/退出driver時,會出現用例執行失敗沒有截圖的問題,所以推薦使用樣例中setUpClass/tearDownClass的用法
changelog
-
20170925
- 測試報告完全漢化,包括錯誤日志的中文處理
- 針對selenium UI測試增加失敗自動截圖功能,截圖自動輪播
- 增加失敗自動重試功能
- 增加餅圖統計
- 同時兼容python2.x 和3.x
-
20180402
- 表格樣式優化
- 修復部分bug
- 增加截圖組,可展示多張截圖,首次打開自動播放
- 增加僅展示最后一次運行結果,多次重試時,每個測試用例僅展示一次
-
20181213
- 增加分類標簽、通過率等,優化樣式
- 修復部分框架在SetUP中失敗導致測試中斷的問題導致 ErrorHandle的問題
- 修復部分編碼Bug
- 優化運行邏輯
- 對js代碼優化,修復部分多次運行run導致結果異常的bug
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
