将终端中的结果保存在机器人框架中

时间:2019-05-27 02:13:02

标签: robotframework

我无法从终端命令输出/保存结果。

*** Settings ***
Library     Process
Suite Teardown      Terminate All Processes     kill=True

*** Test Cases ***
Example
    Run Process   adb devices -l

当前输出

enter image description here

预期产量

但是,如果我只运行adb设备-l,它将为我提供android设备ID列表。

例如连接的设备清单 0429329319装置USB:xxxx

我的尝试

  1. 基于机器人框架,它有一个我尝试遵循的示例,但给了我错误,例如“没有名称为$ {result}的关键字=找到运行进程”

机器人框架中的示例代码

${result} = Run Process program stdout=${TEMPDIR}/stdout.txt    stderr=${TEMPDIR}/stderr.txt
Log Many    stdout: ${result.stdout}    stderr: ${result.stderr}    
  1. 我发现的另一种方法是使用“获取过程结果”关键字。

所以我的问题是-如何打印/保存终端命令的输出?

如果有人可以看看它,将不胜感激

参考

1 个答案:

答案 0 :(得分:0)

我刚刚发现一种方法是使用操作系统库-'运行'。

然后使用“登录控制台”记录输入到终端/命令提示符中的命令结果

*** Settings ***
Library             OperatingSystem

*** Test Cases ***
Get list of devices
    ${result} =     Run     adb devices -l
    Log To Console  [${result}]

要将已打印的内容保存在控制台中,只需执行 robot xx.robot> console.txt

引用--how to run commands in CMD prompt using robot framework