机器人框架退出命令的状态是错误的?

时间:2016-12-13 09:14:33

标签: robotframework

我正在尝试通过Robot Framework远程执行一个命令,它通过Robot框架失败,并给出错误的退出状态13。

但是如果我们手动运行这个TTman.sh的退出状态是112,实际上是通过(不是标准的返回代码)。

我在这里做错了吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

您没有获得远程命令的远程代码,实际上您从运行中获得的RC 13很可能来自机器人框架 - 在运行完成时,其RC是失败案例的数量。即当你观察到这种情况时,应该有13例失败。

要获取命令的返回码,需要对案例进行一些更改;这是半最后一行的样子,下面有解释:

${rc}=    Execute Command    your_command_from_the_question &>/dev/null; echo $? 

首先,命令的所有输出(stdout& stderr)被重定向到/ dev / null - 不返回它。然后打印特殊的var $? - 它保存最后执行的命令的RC(并且在大多数* sh变体中都可用,比如bash)。

最后,该值存储在${rc} robotframework变量中,您可以根据需要对其进行任何检查。

这种方法有一个缺点 - 由于隐藏了stderr,您将无法看到运行命令时出现的任何错误。但如果不是,则它们将与RC交错,这将需要进一步处理{rc} var,以获得所需的值。如果需要(发生故障时的stderr输出),请相应更改。

P.S。不要在问题中添加源的屏幕截图,它比文本版本更不可用。