“运行关键字如果”并设置变量

时间:2016-02-25 09:15:16

标签: variables if-statement conditional robotframework

以下代码不起作用。 如果条件为真,我想设置一个变量。

    Run Keyword If    ${MAC} == 110299160221421    ${device_serial}=    set variable    ${device_serial_1}

我收到错误:

No keyword with name '=' found

这是有效但不会更改变量。

    Run Keyword If    ${MAC} == 110299160221421    Log to console    111

3 个答案:

答案 0 :(得分:3)

Run keyword if会返回您正在运行的关键字的结果。因此,与任何其他关键字一样,如果要保存值,则将变量放在第一列中:

${device_serial}=  run keyword if  ${MAC} == 110299160221421  
...    set variable    ${device_serial_1}

我在这个特定情况下您可能希望使用Set Variable If而不是运行关键字

${device_serial}=  set variable if  ${MAC} == 110299160221421
...    ${device_serial_1}

答案 1 :(得分:0)

它使用了这段代码:

*** Test Cases ***
Run Keyword If    ${MAC} == 110299160221421    myKeyword    

*** Keywords ***
myKeyword
    ${device_serial}=    set variable    ${device_serial_1}

答案 2 :(得分:0)

这个问题的另一个解决方案是,所以你可以在最后使用 else if(s) 和 else:

${device_serial}=    Set Variable If    ${MAC} == 110299160221421    ${device_serial_1}
...    ${MAC} == 12345678    set variable    ${device_serial_2}    ${device_serial_general}