Skip to main content
 首页 » 编程设计

python之Robot Framework 嵌套 if 语句

2025年05月04日31mfryf

我的测试用例中需要一个嵌套的 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 

我收到的错误是点击元素需要 1 个参数并得到 4 个。 这意味着一旦它为第一个 if 语句 (var_a == X) 返回 False,它就会尝试调用第一个 ELSE 语句,并将所有后面的关键字作为参数 (Click Element, Arg1 = locator_b, Arg2 = Else, Arg3 = 单击元素,Arg5 = Locator_c)。

是否有一种无需我自己编写自定义关键字的机器人方法?

请您参考如下方法:

严格来说,不,没有办法为所欲为。但是,您可以将 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