将命令从文件发送到服务器 - 机器人框架



我有一个与RobotFramework相关的问题,更准确地说是读取一个文件,grep它用于不同的命令,将它们添加到字典中,然后将它们命令发送到服务器。

让我告诉你我现在有什么。

我有第二个函数,称为将命令从文件发送到服务器

Send commands from file to server
    [Arguments]  ${COMMANDS_FILE}
    ${FILE_CONTENT}=  Get File  ${COMMANDS_FILE}
    @{LINES}=  Split to Lines  ${FILE_CONTENT}
    : FOR  ${line}  IN  @{LINES}
      Send command  ${line}

发送命令是一个工作正常的关键字,只是将命令发送到服务器。

命令

文件如下所示(命令.txt(:

  VAL1;VAL2;VAL3;
  VAL1;VAL4;VAL5;
  VAL6;VAL7;VAL8
  VAL6;VAL7;VAL8

因此,如您所见,VAL1 在两行上都是相同的。

如何获取 VAL1

并将其保存在某个地方(字典或列表(,然后从包含 VAL1 的文件运行所有命令?

您必须进一步拆分每一行 - 在;上,检查是您查找的第一个命令。以下是基于您的代码的方法:

Send commands from file to server
    [Arguments]  ${COMMANDS_FILE}
    ${FILE_CONTENT}=  Get File  ${COMMANDS_FILE}
    @{LINES}=  Split to Lines  ${FILE_CONTENT}
    ${commands to run}=     Create List  # will store only the commands you want to run
    :FOR    ${line}  IN  @{LINES}
           ${members}=      Split String     ${line}     separator=;    # each command in the line is a list member now
           Run Keyword If      $members[0] == 'VAL1'       Append To List      ${commands to run}      ${line}
    :FOR    ${command_line}     IN      @{commands to run}
       Send Command  ${command_line}

相关内容

最新更新