import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自動化用例所存放的路徑 suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None) #匹配出需要執行的py文件 runner = unittest.TextTestRunner() #TextTestRunner類實例化,目的是為了調用TextTestRunner下的run()方法 runner.run(suit) #調用TextTestRunner下的run()方法執行用例
import unittest def run_all_cases(file_path,file): discover = unittest.defaultTestLoader.discover(file_path,pattern=file) return discover if __name__ == '__main__': runner = unittest.TextTestRunner() runner.run(run_all_cases( "D:\work_doc\pycharm2\python_selenium", "test*.py"))
#解釋
1.discover方法加載測試用例
- discover 加載到的用例是一個 list 集合,需要重新寫入到一個 list 對象 testcase 里,這樣就可以用 unittest 里面的 TextTestRunner 這里類的 run 方法去執行。
- TestLoader 該類根據各種標准加載測試用例,並將它們返回給測試套件。正常情況下,不需要創建這個類的實例。unittest 提供了可以共享的 defaultTestLoader 類,可以使用其子類和方法創建實例,discover() 就是其中之一。
2.discover方法里面有三個參數
- -case_dir:這個是待執行用例的目錄。
- -pattern:這個是匹配腳本名稱的規則,test*.py 意思是匹配test開頭的所有腳本。
- -top_level_dir:這個是頂層目錄的名稱,一般默認等於 None 就行了。