【问题标题】:How to rerun only failed test cases and get single report for passed and failed scripts in selenium python如何仅重新运行失败的测试用例并在 selenium python 中获取通过和失败脚本的单一报告
【发布时间】:2020-08-05 11:24:43
【问题描述】:

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

我正在寻找一种方法来执行所有 25 个测试脚本,如果 2 个脚本在第一次运行中失败,那么只有这 2 个脚本需要再次执行(2 或 3 次),然后才能得出失败的结论.

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

我正在使用 pytest 框架并使用 htmlrunner 插件生成报告。

【问题讨论】:

  • 您的测试中可能存在竞争条件(干扰其他测试执行的测试或数据)。清理您的数据,以便每个测试都获得自己的干净数据。不要在测试之间共享数据/对象。

标签: python selenium report pytest


【解决方案1】:

你试过pytest-rerunfailured吗?它可以用于整个模块或测试套件的特定情况。

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

@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-21
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多