我运行我的机器人框架测试套件作为teamcity / jenkins构建,有两个简单的步骤,如下所示
构建步骤#1:pybot
build步骤#2:pybot --rerunfailed结果\ output.xml
当步骤1中的所有测试都通过时,构建失败,因为步骤2(--rerunfailed)触发错误([错误]从'Results\output.xml'收集失败的测试失败:所有测试都通过了 . ) .
有人可以建议如何忽略或克服此错误,以便我可以显示在这种情况下传递的构建?
使构建步骤#2依赖于构建步骤#1失败 . 也就是说,如果第一个 pybot 以非零退出状态退出,则仅运行 pybot --rerunfailed .
pybot
pybot --rerunfailed
最简单的方法是在bash或python或powershell中创建一个自定义测试运行器,它同时执行pybot的运行和重新运行pybot . 然后,您可以将此shell脚本配置为单个步骤 .
另一种方法是让你的第二个构建步骤查看上一步的返回代码(如果可能),或者扫描output.xml以查看是否存在失败 . 如果没有失败,它将返回而不做任何工作 .
我有类似的问题,我这样修复它:
robot -d %ResultPath% %TestSuitName% || robot --rerunfailed output.xml --output output1.xml -l log.html -r report.html TestSuitName || rebot --rerunmerge --output output.xml -l log.html -r report.html output.xml output1.xml
使用 || 同时运行这些命令,它将起作用 .
||
2 回答
使构建步骤#2依赖于构建步骤#1失败 . 也就是说,如果第一个
pybot
以非零退出状态退出,则仅运行pybot --rerunfailed
.最简单的方法是在bash或python或powershell中创建一个自定义测试运行器,它同时执行pybot的运行和重新运行pybot . 然后,您可以将此shell脚本配置为单个步骤 .
另一种方法是让你的第二个构建步骤查看上一步的返回代码(如果可能),或者扫描output.xml以查看是否存在失败 . 如果没有失败,它将返回而不做任何工作 .
我有类似的问题,我这样修复它:
使用
||
同时运行这些命令,它将起作用 .