def all_case(self): case_dir = os.path.dirname(os.getcwd()) + os.sep + "test" # 設置測試腳本的文件路徑 testcase = unittest.TestSuite() # testcase = Suit() discover = unittest.defaultTestLoader.discover(case_dir, pattern='*.py', top_level_dir=None) # 將全部用例存放進testcase 修改該腳本,控制運行順序 testcase.addTest(InitializeWebdriver("initializedriver")) # 經過將其放在第一個test來實例化, InitializeWebdriver類中的initializedriver方法初始化driver for test_suite in discover: for test_case in test_suite: # 添加用例到testcase testcase.addTest(test_case) # testcase.addTest(CloseDriver("closedr")) # 添加退出操做,CloseDriver類中closedr關閉driver return testcase # 使用舉例說明 class Login(InitializeWebdriver): # 全部的test都繼承與初始化driver的類InitializeWebdriver,經過使用InitializeWebdriver類中driver類變量來保證driver的惟一傳遞 def test_get_url_login(self): Log.info("登陸url") InitializeWebdriver.driver.get(url) #說明: # test_suite用法自解:將繼承於unittest.TestCase類的全部測試類與方法以類(方法)組成一個list,循環執行該list # setUpClass、tearDownClass 只對同一個類下的全部test方法有效,全部當test所在類的py文件執行完成後,執行下一個py文件仍是會觸發setUpClass