如何在robotframework中使用if和else条件,如果节点a作为子节点,则应单击子节点,否则应单击节点b

如何在robotframework中使用if和else条件,如果节点a作为子节点,则应单击子节点,否则应单击节点b,robotframework,Robotframework,如何在robotframework中使用if和else条件,如果“A”节点作为子节点,则应单击子节点,否则应单击节点“B” xpath=(.//*[@id='functionals-tab-content']/ul/li/ul/li[${to clickplus firstplus}]/ul/li[${child node click value}]/ul/li[${child node click value1}]/div[1]/a)--- child node of A. xpath=(.

如何在robotframework中使用if和else条件,如果“A”节点作为子节点,则应单击子节点,否则应单击节点“B”

xpath=(.//*[@id='functionals-tab-content']/ul/li/ul/li[${to clickplus firstplus}]/ul/li[${child node click value}]/ul/li[${child node click value1}]/div[1]/a)--- child node of A.

xpath=(.//*[@id='functionals-tab-content']/ul/li/ul/li[${to clickplus firstplus}]/ul/li[${child node click value}]/ul/li[${child node click value1}])--- B node.
“如果元素应该是A的可见子节点,则运行关键字。单击A的元素子节点。”

运行关键字,除非元素应该是可见的B节点。单击元素B节点

If give这样的抛出错误也不例外。如何为此编写If和else条件。有人能帮我吗。

需要一个python表达式;不能用关键字替换它。您必须将语句拆分为两个。首先,调用关键字并保存结果,然后在If语句中使用结果

${result}=    Run keyword and ignore error    Element should be visible    ${node A}
Run keyword if    '${result[0]}' == 'PASS'
...    click element    ${node A}
...    ELSE
...    click element    ${node B}
使用和的示例包含在库的文档中(具体而言,包含在的文档中)

注意:
运行关键字并忽略错误
返回两个值的元组。第一个值将是字符串
'PASS'
'FAIL'


注意:使用(
)并不是使关键字工作的必要条件。我个人发现,与将所有这些放在一行上相比,它们使代码更易于阅读。

${result}=('PASS',None)FAIL:计算表达式“”('PASS',None')='PASS''失败:语法错误:无效(,第1行)。当我给出上面的代码时。它的生成错误。@karthikas:我更新了我的答案。我忘记了
Run关键字和ignore error
返回一个元组。Run关键字如果“${result[0]}”=='PASS'…单击元素${node a}…否则…单击元素${node B}在这个条件之后,如何说如果单击了节点A,它应该单击A[1]或者如果单击了节点B,它应该单击B[1]任何人都可以帮助我。我被困在这里如何使用条件如何说如果单击了节点A,它应该单击A[1]或者如果单击了节点B,它应该单击B[1]