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
文章名称:unittest组模式下多个py文件存在test
URL链接:
http://jkwzsj.com/article/gphohg.html