首页 > 解决方案 > 如果机器人框架中的测试用例失败,则重新运行整个测试套件

问题描述

如果单个特定测试用例失败,有没有办法重新运行整个测试套件。

因此,例如,一个包含测试用例的机器人代码将检查 cookie 值,如果 cookie 具有特定模式,将继续执行其余代码,如果失败,则应重新运行整个机器人代码/测试套件并重复这 3 次 , 如果 cookie 值 3 次 运行 不同 , 让它 完全 使 测试 套件 失败 .

标签: cookiesrobotframework

解决方案


您可以运行原始测试,重新运行失败并合并两次运行的结果。如果某些测试在第一次运行中失败,然后在第二次运行中通过,您将在结果中看到这一点。

通常需要重新执行测试子集,例如,在修复被测系统或测试本身中的错误之后。这可以通过按名称(--test 和--suite 选项)、标签(--include 和--exclude)或以前的状态(--rerunfailed 或--rerunfailedsuites)选择测试用例来完成。

robot --output original.xml tests                                # first execute all tests
robot --rerunfailedsuites original.xml --output rerun.xml tests  # then re-execute failing
rebot --merge original.xml rerun.xml                             # finally merge results

您可以在此处阅读有关此内容的更多信息https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#merging-re-executed-tests

对于您的具体示例,我不确定您是否可以这样做。但是您可以保存运行的退出代码并以此为基础对其进行评估

robot "your robot options" $@
if [ $? -eq 0 ]; then 
"evaluation options when passed"
fi
else
"evaluation options when failed"
fi

推荐阅读