一些RF伪代码:
Run keyword if X == 1
Run keyword if Y == a [do something]
Run keyword if Y == b [do something]
Run keyword if Y == c [do something]
如果Y == b,有没有办法退出if子句而不退出整个关键字?
我知道run keyword and return
,但是它退出了整个关键字,我只想退出if子句,因为没有必要检查条件Y是否为c,d,e等。是真的。
(注:这是一个在两个值集之间进行转换的帮助程序类。此外,还有三个以上的“子条件”。)
答案 0 :(得分:2)
我认为您可以将IF语句包装到另一个这样的关键字中:
Do Switch
Run Keyword If Y == a [do something]
... ELSE IF Y == b [do something]
... ELSE IF Y == c [do something]
Run keyword if X == 1
Do Switch
答案 1 :(得分:0)
在ROBOT Framework中,您无法像在编程语言中那样进行嵌套循环。.因此,我们在ROBOT脚本中所采用的方法如下所示。
因此,您必须预先创建包含您的条件语句的YOUR_NEW_KEYWORD。然后,如果(X == 1)为true,则将调用此新创建的关键字。因此,您需要的方法如下所示。
此外,如果要在满足条件后退出循环,则必须使用EXIT FOR LOOP IF
关键字。
RUN KEYWORD IF ${X} == '1' YOUR_NEW_KEYWORD # *this user-defined keyword contains the code below..*
# this is the content of YOUR_NEW_KEYWORD which contains conditional statements..
:FOR ${check} IN TRUE
Run keyword if Y == a [do something]
EXIT FOR LOOP IF Y == a
Run keyword if Y == b [do something]
EXIT FOR LOOP IF Y == b
Run keyword if Y == c [do something]
EXIT FOR LOOP IF Y == c
在ROBOT Framework中,我们通常创建许多用户定义的关键字(自定义关键字),然后将其导入为资源文件。在ROBOT Framework中,我们可以导入LIBRARY和RESOURCE FILE(我们自己定义的关键字)。这是一种很好的方法(代码重构),因为您不想在主测试脚本中编写任何内容,因此可以使您的代码更加整洁且易于阅读,相反,我们将更喜欢调用我们编写为“资源文件”的“用户关键字”。 / p>