机器人框架:如何在通过所有测试后忽略 --rerunfailed 的失败

sen*_*ram 5 robotframework

我将我的机器人框架测试套件作为 teamcity/jenkins 构建运行,如下两个简单步骤

  • 构建步骤#1:pybot
  • 构建步骤#2:pybot --rerunfailed Results\output.xml

当第 1 步中的所有测试都通过时,构建失败,因为第 2 步 (--rerunfailed) 会触发错误([ 错误 ] 从 'Results\output.xml' 收集失败的测试失败:所有测试均已通过。)。

有人可以建议如何忽略或克服此错误,以便我可以显示在这种情况下通过的构建吗?

Bry*_*ley 2

使构建步骤 #2 依赖于构建步骤 #1 失败。也就是说,仅pybot --rerunfailed当第一个pybot以非零退出状态退出时才运行。

最简单的方法是在 bash 或 python 或 powershell 中创建一个自定义测试运行程序,将 pybot 的运行和 pybot 的重新运行作为一个步骤进行。然后,您只需一步即可配置此 shell 脚本。

另一种方法是让第二个构建步骤查看上一步的返回代码(如果可能),或者扫描 output.xml 以查看是否存在失败。如果没有失败,它将返回而不做任何工作。