有人可以告诉我“如何使用python再次运行失败的测试”。
如果失败,我想自动重新运行失败的测试用例。
任何帮助表示感谢。
由于
答案 0 :(得分:8)
行为库实际上有RerunFormatter
,可以帮助您重新运行先前测试运行的失败方案。它会创建一个包含所有失败方案的文本文件,如:
# -- file:rerun.features
# RERUN: Failing scenarios during last test run.
features/auth.feature:10
features/auth.feature:42
features/notifications.feature:67
要使用RerunFormatter
,您只需将其放入行为配置文件( behave.ini ):
# -- file:behave.ini
[behave]
format = rerun
outfiles = rerun_failing.features
要重新运行失败的方案,请使用以下命令:
behave @rerun_failing.features
答案 1 :(得分:1)
我知道这是稍后的答案,但这可以帮助其他人。
还有另一种方法也可以提供帮助,它是在environment.py文件下实现的,您可以通过特定标签进行重试。
提供支持功能以重试场景多次 在他们的失败被接受之前。此功能可能会有所帮助 当您在不可靠的服务器/网络中使用行为测试时 基础设施。
例如,我在CI上运行标签“ @smoke_test”,因此我选择此标签以根据重试条件进行修补。
首先,在您的environment.py上导入以下内容:
# -- file: environment.py
from behave.contrib.scenario_autoretry import patch_scenario_with_autoretry
然后添加方法:
# -- file:environment.py
#
def before_feature(context, feature):
for scenario in feature.scenarios:
if "smoke_test" in scenario.effective_tags:
patch_scenario_with_autoretry(scenario, max_attempts=3)
* max_attempts默认情况下设置为3。我刚刚在此处进行了介绍,以明确表明您可以实际设置所需的重试次数。