首先安装pytest-rerunfailures插件,之后加上注解@pytest.mark.flaky(returns=2)

reruns:代表 当case 执行失败的时候 回溯失败case的次数
reruns_delay : 代表 回溯case的 间隔时间

如果不是服务器或者程序自身并发限制导致的问题 而是case本身的问题 也会rerun

import random
import pytest


class TestDDD:

    # reruns:代表 当case 执行失败的时候 回溯失败case的次数
    # reruns_delay : 代表 回溯case的 间隔时间
    # 如果不是服务器或者程序自身并发限制导致的问题 而是case本身的问题 也会rerun
    @pytest.mark.run(order=1)
    @pytest.mark.flaky(reruns=2, reruns_dalay=4)
    def test_demo1(self):
        assert 3 == 3

    @pytest.mark.run(order=2)
    @pytest.mark.flaky(reruns=2)
    def test_demo2(self):
        assert 3 == 4

    @pytest.mark.run(order=3)
    @pytest.mark.flaky(reruns=2)
    def test_demo3(self):
        y = random.randrange(4, 8)
        print("\n此次随机的值是{}".format(y))
        assert y == 5
        # assert 5 == 7

  

pytest中的重试和超时  pytest-rerunfailures   @pytest.mark.flaky(reruns=2)_编程 ------------------------- A little Progress a day makes you a big success... ----------------------------