Run Keyword If关键字是RF在4.0版本之前用于控制分支流程的一个常用关键字,在4.0版本RF引入了IF/ELSE,可能以后就使用IF/ELSE替代Run Keyword If了,现在最新版本6.1还是同时支持Run Keyword If和IF/ELSE的。
Run Keyword If 的语法如下
Run Keyword If 条件 动作
... ELSE IF 条件 动作
... ELSE If 条件 动作
... ... ... ...
... ELSE 动作
要注意的是ELSE IF和ELSE 一定要大写。
示例如下
IF/ELSE是RF在4.0版本引入的一个控制分支流程的关键字,它的作用同Run Keyword If一样,但比Run Keyword If简洁。它的语法如下
IF 条件 动作
... ELSE IF 条件 动作
... ELSE IF 条件 动作
... ... ... ...
... ELSE 动作
其中要注意的是ELSE IF和ELSE 也要大写。
示例如下
IF/ELSE还有一种用法,就是当IF后面没有接ELSE IF或ELSE时,IF后面要接END,即IF/ELSE变成IF/END,如下
目前6.1版本ELSE IF和ELSE后面的关键好像不会高亮显示,但是IF/END后面的关键字会高亮显示,简单的逻辑就用IF/END吧。
RF在4.0版本以前用Run Keyword If来控制分支流程的时候是不支持IF嵌套的,在引入了IF/ELSE后才支持的IF嵌套。IF嵌套示例如下
Set Variable If也是RF中比较常用的If关键字,用来在满足条件判断下给变量赋值。
Set Variable If 语法如下
Set Variable If 条件 值
使用示例:
最新版本RF中的FOR循环用关键字FOR替代了以前的 :FOR,其格式越来越和python类似了。FOR循环语法如下
FOR ${item} IN 遍历对象
keyword
END
其中要注意的是在遍历列表或字典对象的时候要用 @{list} 或者 &{dict},示例如下
在RF6.1版本已经可以实现FOR嵌套循环(具体在哪个版本引入的暂还不知道),有了嵌套的FOR循环,在编写RF的时候就会更加得心应手。
语法就是两个FOR循环嵌套,如下
在RF5.0版本之前结束整个循环用的是关键字Exit For Loop和Exit For Loop If;结束本次循环用的是关键字Continue For Loop和Continue For Loop If,而在RF5.0版本后分别用BREAK和CONTINUE来替换前面的关键字。如下
除了标准的FOR循环外,还有一些比较常用的其它FOR循环,如下
FOR ${item} IN RANGE start end step
keyword
END
它的效果其实和python中的for…in range()效果是一致的,如下
FOR ${index} ${value} IN ENUMERATE 操作对象
keyword
END
它的效果其实和python中的for…in enumerate()效果是一致的,如下
FOR ${index} ${value} IN ZIP 操作对象1 操作对象2
keyword
END
它的效果其实和python中的for…in zip()效果是一致的,如下