首页 > 解决方案 > 使用 Selenium Webdriver Python 多次运行测试

问题描述

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。有没有可能让它循环起来?

标签: pythonseleniumselenium-webdriverpython-unittest

解决方案


我可能是错的,但如果你循环测试'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/


推荐阅读