pytest失败重跑

一、说明

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

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

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

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

二、示例

import pytest

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

 test_02():
    执行2assert 0 == 0

 test_03():
    执行3 test_04():
    执行4assert 0 == 1

运行--lf参数:

 

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

 

 运行--ff参数:

 

 再次运行:

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

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

pip安装 pip install pytest-rerunfailures

pip install pytest-rerunfailures

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

 

 

相关文章

目录1、前言2、mark的使用(一)注册自定义标记(二)在测试...
用例执行状态用例执行完成后,每条用例都有自己的状态,常见...
什么是conftest.py可以理解成一个专门存放fixture的配置文件...
前言pytest默认执行用例是根据项目下的文件名称按ascii码去收...
前言:什么是元数据?元数据是关于数据的描述,存储着关于数...