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

原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/185540.html

(0)
上一篇 2021年11月4日
下一篇 2021年11月4日

相关推荐

发表回复

登录后才能评论