pytest失败重试插件pytest-rerunfailures(pytest报错)

网友投稿 495 2022-08-26


pytest失败重试插件pytest-rerunfailures(pytest报错)

首先安装失败重试插件:

pip install pytest-rerunfailures

有三种方式来使用失败重试

第一种:在测试方法上使用@pytest.mark.flsky()装饰器

@pytest.mark.flaky(reruns=1) #失败重跑一次@pytest.mark.flaky(reruns=1, reruns_delay=2) #失败重跑一次,在每次开跑前会等到2s

一个简单的例子如下:

#投资成功 @pytest.mark.flaky(reruns=1) def test_invest_success(self, common_driver): WelcomePage(common_driver).swipe_screen() WelcomePage(common_driver).click_experience_now() LoginPage(common_driver).click_register_login() LoginPage(common_driver).input_phone(login_success_data["phone"]) LoginPage(common_driver).input_pwd(login_success_data["pwd"]) IndexPage(common_driver).click_later() InvestPage(common_driver).enter_invest() before_invest_money = InvestPage(common_driver).get_user_left_money() InvestPage(common_driver).input_invest_money(invest_success_data["money"]) InvestPage(common_driver).invest_now() InvestPage(common_driver).click_confirm() InvestPage(common_driver).click_back() IndexPage(common_driver).click_me() after_invest_money = UserInfoPage(common_driver).get_user_left_money() assert float(before_invest_money) == float(after_invest_money) + invest_success_data["check"]

第二种:在命令行使用

pytest test_invest.py::TestInvest::test_invest_success --reruns 1 #失败重跑一次pytest test_invest.py::TestInvest::test_invest_success --reruns 1 --reruns-delay 2 #失败重跑一次,在每次开跑前会等到2s

一个简单的例子如下:

第三种:在main.py中使用

#失败重跑一次pytest.main([ "--reruns=1", "-m", "fail", "--junitxml", f"{test_reports}/autotest_report_{cur_time}.xml", "--html", f"{test_reports}/autotest_report_{cur_time}.html"])#失败重跑一次,在每次开跑前会等待2spytest.main([ "--reruns=1", "--reruns-delay=2", "-m", "fail", "--junitxml", f"{test_reports}/autotest_report_{cur_time}.xml", "--html", f"{test_reports}/autotest_report_{cur_time}.html"])


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:fixture的autouse(fixture tools)
下一篇:pytest中fixture的scope(pytest fixture yield)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~