pytest失败重跑

一、说明

平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。
自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次。

pytest自带失败重跑机制,在运行中传入参数即可。

--lf 参数:运行上次失败的用例,如果没有则全部运行。

--ff参数:运行全部用例,上次失败的优先运行。

二、示例

import pytest

def test_01():
    print('执行1')
    assert 0 == 1

def test_02():
    print('执行2')
    assert 0 == 0

def test_03():
    print('执行3')
    assert 0 == 0

def test_04():
    print('执行4')
    assert 0 == 1

运行--lf参数:

 

 再次运行:只执行了之前错误的用例。

 

 运行--ff参数:

 

 再次运行:

 以上的重跑都需要再次执行,不能体现无人值守以及真正的自动化,除非结合。

pytest-rerunfailures是pytest的一个插件,用于重复执行单个用例,或多个测试用例,并指定失败后重复执行的次数。

pip安装 pip install pytest-rerunfailures

pip install pytest-rerunfailures

传入参数 --reruns  3  失败重跑3次  R代表重跑

 

 

posted @ 2020-08-16 14:06  Harry_666  阅读(2844)  评论(0编辑  收藏  举报