如何在selenium-python中只重新运行失败的测试用例,并获得通过和失败脚本的单个报告



我的测试套件中有25个测试脚本。当我执行所有脚本时,每次都会有2或3个will脚本失败。如果我只是重新运行那些失败的脚本,它就会通过

我正在寻找一种方法来执行所有25个测试脚本,如果有两个脚本在第一次测试中失败,那么只有这两个脚本需要再次执行(2或3次(,然后将其判定为失败。

如果这两个失败的脚本在第二次通过,那么我需要生成一个html报告,说明所有25个脚本都通过了。有没有插件可以实现这一点,或者有人已经面临这个问题并成功实现了这个问题?

我使用pytest框架和htmlrunner插件来生成报告。

您尝试过pytest重新可靠引诱吗?它可以用于一个特定的情况,也可以用于整个模块或测试套件。

对于一个特定的测试,您可以添加下一个装饰器:

@pytest.mark.flaky(reruns=5)
def test_example():
import random
assert random.choice([True, False])

为了指定整个模块的重新运行,您可以添加:

# test_some.py
pytestmark = [
pytest.mark.flaky(reruns=5)
]

如果您需要为整个测试会话指定重新运行:

pytest --reruns 5

最新更新