如何通过"exit 0"从shell成功强制Robot Framework Script返回

Sel*_*ter 6 robotframework

当使用Jenkin插件进行Robot Framework时,指令声明我们需要强制机器人框架脚本从shell返回"exit 0".这不是一个非常明确的陈述.

有人能告诉我当测试成功时我们如何强制机器人框架返回"退出0".一个例子将非常有用.

以下是Jenkin维基的声明. 强制你的机器人脚本从shell返回"exit 0"成功返回以授权插件判断构建是否成功(默认情况下,当测试失败时,Robot会退出并显示错误代码)

谢谢.

Bry*_*ley 11

为了判断作业是成功还是失败,jenkins使用运行的最后一个命令的退出代码."退出0"表示让任何脚本运行您的测试结束,退出代码为0(零).

当机器人以失败的测试完成时,有两种方法可以"退出0":

  1. 显式调用exit运行测试的脚本.
  2. 使用pybot选项 --nostatusrc

有关机器人框架返回代码的更多信息,请参阅机器人框架用户指南的" 返回代码"部分.

使用exit命令

exit是一个可以放入脚本以强制使用特定状态代码的命令.此命令在unix和非unix系统上的行为相同.它接受一个参数(例如0)并以给定值作为退出代码退出封闭脚本.

配置jenkins时,您将创建包含一个或多个命令的批处理脚本(窗口)或shell脚本(非窗口).您可以添加exit 0为最后一个命令来强制此脚本"退出0".

例如,您可以将jenkins作业配置为如下所示:

pybot mytests.robot
exit 0
Run Code Online (Sandbox Code Playgroud)

在这种情况下,最后一行将告诉jenkins脚本干净地退出而没有错误.然后,jenkins的机器人插件将查看输出文件(output.xml)以确定构建是成功还是失败.

使用命令行选项--nostatusrc

从机器人版本2.5.7开始,您可以使用命令行选项--nostatusrc,无论测试失败多少,都会使机器人始终"退出0".您可以在jenkins作业中包含此选项,如下所示:

pybot --nostatusrc mytests.robot
Run Code Online (Sandbox Code Playgroud)