if 表达式

有时需要有条件地执行一些关键字, 从robot 4.0开始,支持 if 表达式语法, 但依旧支持其他方式,例如run keyword if

basic IF syntax

robot 的原生if 表达式语法以IF(得大写)开头, 以END(得大写)结束, IF 后面跟判断条件,如果条件为真,就执行IF和END之间的关键字,建议IF块中缩进关键字,但不是强制性的,这样使得代码更容易阅读。

*** Test Cases ***
Example
IF ${rc} > 0
Some keyword
Another keyword
END

ELSE

*** Test Cases ***
Example
IF ${rc} > 0
Some keyword
ELSE
Another keyword
END

ELSE IF

*** Test Cases ***
Example
IF $rc > 0
Positive keyword
ELSE IF $rc < 0
Negative keyword
ELSE IF $rc == 0
Zero keyword
ELSE
Fail Unexpected rc: ${rc}
END

if 的嵌套

*** Keyword ***
Log items
[Arguments] @{items} ${log_values}=True
IF not ${items}
Log to console No items.
ELSE IF len(${items}) == 1
IF ${log_values}
Log to console One item: ${items}[0]
ELSE
Log to console One item.
END
ELSE
Log to console ${{len(${items})}} items.
IF ${log_values}
FOR ${index} ${item} IN ENUMERATE @{items} start=1
Log to console Item ${index}: ${item}
END
END
END

*** Test Cases ***
No items
Log items

One item without logging value
Log items xxx log_values=False

Multiple items
Log items a b c