【问题标题】:Save results from terminal in robot framework在机器人框架中保存终端的结果
【发布时间】:2019-10-12 14:33:48
【问题描述】:

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

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

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

电流输出

预期输出

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

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

我的尝试

  1. 基于机器人框架,它有一个我试图遵循的示例,但给了我诸如 “No keyword with name ${result} = Run Process found”之类的错误

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

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

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

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

参考

【问题讨论】:

  • 你试过的代码在哪里? _它有这个我试图遵循的例子_之后只有错误而不是你尝试的代码。
  • 嗨@Dev,感谢您的回复!我刚刚找到了我的问题的答案。将很快更新此答案部分:)
  • 错误`“No keyword with name ${result} = Run Process found”`表示=之后只有一个空格。您需要有两个或更多空格。

标签: robotframework


【解决方案1】:

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

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

*** Settings ***
Library             OperatingSystem

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 2018-09-22
    • 2016-08-23
    • 2018-05-19
    • 1970-01-01
    相关资源
    最近更新 更多