Robot Framework嵌套if语句

Pur*_*eni 1 python robotframework

我需要if在我的测试用例中有一个嵌套语句.

我需要检查变量是否a等于X,如果确实如此,我需要检查变量是否b等于Y.

我尝试过这样的事情:

Click on button
Run Keyword If                      '${var_a}' == 'X'
...         Run Keyword If                      '${var_b}' == 'Y'
...                 Click Element               Locator_a
...                 ELSE
...                 Click Element               Locator_b

...         ELSE
...         Click Element                       Locator_c
Run Code Online (Sandbox Code Playgroud)

我收到的错误是click元素期望1参数得到4.意思一旦它为第一个if语句返回False(var_a == X)它试图调用第一个ELSE语句,所有后面的关键字作为参数(Click Element,Arg1 = locator_b ,Arg2 = Else,Arg3 = Click Element,Arg5 = Locator_c).

如果没有自己编写自定义关键字,是否有机器人方法可以做到这一点?

Bry*_*ley 5

严格来说,不,没有办法做你想做的事.但是,您可以将if语句组合成一个大型语句,其中三个条件由"ELSE IF"和"ELSE"连接:

       Run keyword if  '${var_a}' == 'X' and '${var_b}' == 'Y'
...    Click Element    Locator_a

...    ELSE IF         '${var_a}' == 'X' and '${var_b}' != 'Y'
...    Click Element    Locator_b

...    ELSE
...    Click Element    Locator_c
Run Code Online (Sandbox Code Playgroud)