unittest組模式下多個py文件存在test

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
相關文章
相關標籤/搜索