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