使用Selenium Webdriver Python多次运行测试

时间:2018-11-27 12:20:48

标签: python selenium selenium-webdriver python-unittest

class LoginTests(unittest.TestCase):

    def setUp(self):
        self.driver = Driver()
        self.driver.browser.get(basic_url)

    def test_add_user_uk(self):
        LoginPage(self.driver).login(username, password)
        AddUserPage(self.driver).test_add_user(return_uk_dict())

    def tearDown(self):
        self.driver.browser.quit()

    if __name__ == '__main__':
        unittest.main()

我想多次运行test_add_user_uk。 可以使其循环吗?

1 个答案:

答案 0 :(得分:2)

我可能是错的,但是如果您循环测试'test_add_user_uk',则在第一次迭代后,setUp和tearDown方法将不会与测试一起执行

您可以尝试unittest.TestSuite实现这一目标

if __name__ == '__main__':
    def suite(num):
        suite = unittest.TestSuite()
        for i in range(num):
            suite.addTest(LoginTests('test_add_user_uk'))
        return suite

    runner = unittest.TextTestRunner()
    runner.run(suite(3))

话虽如此,如果您可以使用pytest,则可以轻松实现重复功能

https://docs.pytest.org/en/latest/

您可以使用以下插件多次运行测试

https://pypi.org/project/pytest-repeat/