You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework如何获取sh脚本的执行结果?

解决Robot Framework读取Shell脚本执行结果的问题

问题原因

  1. Run Process返回的是ExecutionResult对象,直接打印该对象只会显示<result object with rc X>,而非实际输出内容。
  2. 使用@{res}列表变量接收Get Process Result的返回值会报错,因为该关键字返回的是单个对象,不是列表类型。

解决方案

方案1:执行时直接捕获输出

在调用Run Process时,通过参数直接将标准输出、标准错误和返回码存入对应变量:

Run Process    "../resources/scripts/TEST.sh"    shell=yes    stdout=${script_stdout}    stderr=${script_stderr}    rc=${return_code}
Log    脚本标准输出: ${script_stdout}
Log    脚本标准错误: ${script_stderr}
Log    返回码: ${return_code}

方案2:通过对象属性获取输出

先获取ExecutionResult对象,再访问其属性提取内容(注意用标量变量${res}而非列表变量):

${proc_obj}    Run Process   "../resources/scripts/TEST.sh"   shell=yes   alias=proc
${res}    Get Process Result  proc
Log    返回码: ${res.rc}
Log    标准输出: ${res.stdout}
Log    标准错误: ${res.stderr}

额外提示

你的脚本返回码rc=1,说明执行过程可能存在异常。Git Bash中能看到的内容,有可能被输出到了标准错误流,所以建议同时检查${script_stderr}或${res.stderr}的内容。

内容的提问来源于stack exchange,提问作者Regenshirm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 19:52:14