检查可执行文件是否存在 - 如果可用则运行,否则退出

Pro*_*mer 0 robotframework

我正在编写具有以下逻辑的机器人脚本:

检查测试可执行文件是否存在。如果存在,则使用参数调用可执行文件。如果它不存在,则记录一条消息并作为失败退出,

*** Settings ***
Documentation    Test Script to Call an executable from Robot
Library          OperatingSystem
Library          Process
*** Variables ***
${FAILMESSAGE}       Unable to locate the executable
${SUCCESSMESSAGE}    Executing ....
${PATH}          C:\\bin
${BINARY}        tester.exe
${rc}            0

*** Test Cases ***
Test
    [Documentation]    Module Test
    ${rc} = Execute Command dir ${PATH}\\${BINARY}
    Run Keyword If ${rc} == 0 Start Test ELSE Stop Test

Start Test
    Log    ${SUCCESSMESSAGE}
    ${Res}    Run  ${PATH}\\${BINARY}

Stop Test
    Log    ${FAILMESSAGE}
Run Code Online (Sandbox Code Playgroud)

但是,脚本失败说明“找不到名称为 '${rc} = Execute Command dir ${PATH}\${BINARY}' 的关键字。”

它也通过位开始/停止测试用例并且不会将消息记录到控制台。

如何按照预期解决问题?

cul*_*zie 5

机器人框架的关键字和参数之间需要有多个空格才能正确解释您的命令。

使用空格分隔格式时,两个或多个连续空格被视为分隔符。

*** Test Cases ***
Test
    [Documentation]    Module Test
    ${rc}=    Run And Return Rc    dir ${PATH}\\${BINARY}
    Run Keyword If    ${rc} == 0    Start Test    ELSE    Stop Test
Run Code Online (Sandbox Code Playgroud)

我也改变了,Execute Command因为我在脚本中导入的库中找不到它。Run And Return Rc在这里似乎更适合您的需求。

为了将您的输出记录到控制台,您可以使用一个Log To Console关键字,并且您的Start Test\Stop Test关键字需要移动到一个*** Keywords ***部分下

希望这可以帮助!