提问者:小点点

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


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

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

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

电流输出

预期产出

但是,如果我只是运行adb设备-l,它会为我提供一个android设备id列表。

例如。附加设备列表0429329319设备usb: xxxx

我的尝试

  1. 基于机器人框架,它有这个我试图遵循但给我错误的示例,例如“未找到名称为${结果}=运行过程的关键字”

来自机器人框架的示例代码

${result} = Run Process program stdout=${TEMPDIR}/stdout.txt    stderr=${TEMPDIR}/stderr.txt
Log Many    stdout: ${result.stdout}    stderr: ${result.stderr}    

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

如果有人能看一眼我会很感激的

参考

  • http://robotframework.org/robotframework/latest/libraries/Process.html
  • https://github.com/robotframework/robotframework/blob/master/atest/testdata/standard_libraries/process/get_process_result.robot

共1个答案

匿名用户

我刚刚发现一种方法是使用OperatingSystem库-'Run'。

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

*** Settings ***
Library             OperatingSystem

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

要将打印的内容保存在控制台中,只需执行机器人xx.机器人

参考-如何使用机器人框架在CMD提示符中运行命令