zoukankan      html  css  js  c++  java
  • pytest失败重试插件pytest-rerunfailures

    首先安装失败重试插件:

    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"]
    )
    
    
    
    #失败重跑一次,在每次开跑前会等待2s
    pytest.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"]
    )
  • 相关阅读:
    rabbitmq的笔记(四)小版本的升级操作
    rabbitmq的笔记(三)用Python生产和消费
    rabbitmq的笔记(二)基本命令操作
    rabbitmq的笔记(一)安装
    idea自带的maven 配置阿里云中央仓库
    Maven安装与配置
    Win10下Mysql5.7安装教程
    windows10下Mysql5.7安装指南
    连接mysql出现“Unable to load authentication plugin 'caching_sha2_password”错误
    low code平台建设的一些设计和思考
  • 原文地址:https://www.cnblogs.com/my_captain/p/12720190.html
Copyright © 2011-2022 走看看