首页 文章

robotframework:如何在传递所有测试时忽略--rerunfailed失败

提问于
浏览
1

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

  • 构建步骤#1:pybot

  • build步骤#2:pybot --rerunfailed结果\ output.xml

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

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

2 回答

  • 1

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

    最简单的方法是在bash或python或powershell中创建一个自定义测试运行器,它同时执行pybot的运行和重新运行pybot . 然后,您可以将此shell脚本配置为单个步骤 .

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

  • 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
    

    使用 || 同时运行这些命令,它将起作用 .

相关问题