python - 使用 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。有没有可能让它循环起来?
解决方案
我可能是错的,但如果你循环测试'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/
您可以使用以下插件多次运行测试
推荐阅读
- linux - 无法访问文件
- python - 如何使带有变量的 Django url 模板找到正确的 url
- android - 如何从 arrayadapter 中获取值以将其传递给另一个活动
- java - 如何匹配字符串中任何位置的非单词字符?
- asp.net-core - 身份核心,持久登录不是持久的
- css - 当用户在 Django i18n 翻译中更改语言时如何提供不同的 CSS 文件
- ruby - 根据用例将不同的模块包含到同一个类中
- powershell - 任务调度程序任务未执行 ps1 脚本
- c# - 如何通过按键盘上的单个键来防止调用多个 KeyDown 事件?
- sql - 如何在 SQLite 中根据语言选择获取所有数据