机器人框架中的 If Else-if

If Else-if in Robot Framework

我想通过使用 else if 从关键字中获取值。

示例:

String text = ""  
If variable > 5
   text = "one";
else if variable <5
   text = "two";
else
   text = "three";

在机器人框架中

我用代码

${txt}    Set Variable
${txt}=    Run Keyword If    ${length} > 5    Some Keyword
\    ELSE IF    ${length} < 5    Some Keyword
\    ELSE    Some Keyword
Log       ${txt}

错误!!!

In Keyword ELSE IF  ;  Keyword name cannot be empty

只需在 ELSE IF 关键字前的第一个单元格中添加 三个点 (...)

${txt}    Set Variable
${txt}=    Run Keyword If    ${lenght} > 5    Some Keyword
...    ELSE IF    ${lenght} < 5    Some Keyword
...    ELSE    Some Keyword
Log       ${txt}

另一种使用 Robot Framework 版本的 switch 语句进行编码的方法是:

*** Variables ***    
String  ${text} =  ""

*** Keywords ***
${text} =  Set Variable If
...  ${variable} > 5  one
...  ${variable} < 5  two
...  ${variable} = 5  three

可能还有其他方法使用 运行 关键字 If 和 运行 关键字 Unless。

从机器人 4.0 开始,可以使用原生 IF else 支持。您可以参考以下示例:

IF  '${status}' == 'true'
    ${i}  Set Variable  10
    log to console  inside if
ELSE IF  '${status}' == 'false'
    ${i}  Set Variable  20
    log to console  inside else if
ELSE
    ${i}  Set Variable  30
    log to console  inside else
END