今天的內容主要是,用第三方的HTMLRUNner 第三方的報告來優化之前第五天批量執行案例的測試報告。案例的部分看第五天的批量執行筆記~ HTMLRUNner他可以生成更美觀的測試報告,基於前輩造的車子,我們直接改造使用。先看下運行代碼部分: 首先如果你是python3,你可以直接用我改過的TMLT ...
今天的內容主要是,用第三方的HTMLRUNner 第三方的報告來優化之前第五天批量執行案例的測試報告。案例的部分看第五天的批量執行筆記~
HTMLRUNner他可以生成更美觀的測試報告,基於前輩造的車子,我們直接改造使用。先看下運行代碼部分:
案例代碼在批量執行第五天去看哦~~
1 #!/usr/bin/env python 2 import unittest #導入unittest 3 import os #導入前面學習的os庫,方便獲取文件路徑 4 import time #導入time模塊,方便我們獲取當前時間 5 import HTMLTestRunner #HTMLTestRunner 是 Python 標準庫的 unittest 模塊的一個擴展,它可以生成 HTML的 測試報告。 6 7 def allTests(): 8 suite=unittest.TestLoader().discover( #實例化測試套件,discover()方法可以批量執行多個模塊中的測試案例 9 start_dir=os.path.dirname(__file__), #start_dir=該參數是discover()方法中的,後面的參數是需要批量執行的用例模塊路徑 10 pattern='test_*.py', #pattern=該參數是discover()方法中的,後面的參數是所有需要執行的用例前面是test_,後半部分用*號代替的.py文件 11 top_level_dir=None) #top_level_dir=該參數是discover()方法中的,固定格式:top_level_dir=None 12 return suite #記住返回測試套件 13 def getnowtime(): #該方法獲取當前最新時間 14 return time.strftime('%Y-%m-%d %H_%M_%S',time.localtime(time.time())) #'%Y-%m-%d %H_%M_%S' 代表:年月日 時_分_秒 ,不能用冒號 %H:%M:%S 切記 15 16 def run(): #運行 17 fp = os.path.join(os.getcwd(), 'report',getnowtime()+'testReport.html') # os.getcwd()獲取當前的路徑,os.path.join()拼接路徑,用當前路徑和現在的repot目錄做拼接,生成時間+testReport.html測試報告文件 18 HTMLTestRunner.HTMLTestRunner( 19 stream=open(fp,'wb'), #在fp文件中用:wb參數 w代表寫入,b:是用二進位寫入測試報告的內容 20 title='自動化測試報告', #測試報告的標題 21 description='自動化測試報告詳情').run(allTests()) #測試報告的詳情 22 23 if __name__ == '__main__': 24 run()
首先如果你是python3,你可以直接用我改過的TMLTestRunner.py文件將他直接放入在你的Python3 安裝包目錄中的Lib文件夾中。比如:
這是我的目錄:C:\Users\92938\tools\Python36\Lib 該文件夾中。如圖:
大家可以在網上找一下這個文件,如果實在在不到留言郵箱我發送給你~~~
放入該文件後,你就可以導入 import HTMLTestRunner 模塊 然後記得創建測試報告包,以及指定測試報告輸出到那個目錄下。還有時間哦~方便看每次執行後,那個才是最新執行的結果~~
接下來就是看我剛纔頂部的代碼,理論上你應該能看的懂我的註釋,如果你還是不懂,就留言吧~~~
我們看下執行後生成的測試報告:
ennn...總結:
1、python2 和 python3 使用的HTMLRunner.py文件是不一樣的,需要修改~~
2、測試模塊.py文件,一定要寫規範,不要使用中文或中橫線(----)我使用後,發現這個模塊文件中的案例不會被執行~~~
3、記得獲取當前最新時間,方便看最新的測試報告~~ 另外時間的地方不能用冒號,切記
4、測試完畢後,點擊html文件,在瀏覽器中打開,就可以看了
來自新手,在路上~~~不會的朋友留言哦~~~