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参数:

pytest失败重跑

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

pytest失败重跑

运行--ff参数:

pytest失败重跑

再次运行:

pytest失败重跑

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

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

pip安装 pip install pytest-rerunfailures

pip install pytest-rerunfailures

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

pytest失败重跑

上一篇:Android双击退出


下一篇:callback用法简介