【问题标题】:How to use if and else condition in robotframework ,If node a as a child it should click the child else it should click node b如何在机器人框架中使用 if 和 else 条件,如果节点 a 作为子节点,则应单击子节点,否则应单击节点 b
【发布时间】:2015-07-13 18:44:42
【问题描述】:

如何在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 和 else 条件。谁能帮帮我。

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    Run keyword if 需要 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}
    

    使用Run keyword ifRun keyword and ignore error 的示例包含在built-in 库的文档中(具体来说,在Run Keyword If 的文档中)

    注意: Run keyword and ignore error 返回一个包含两个值的元组。第一个值将是字符串'PASS''FAIL'

    注意:使用continuations (...) 不是使关键字起作用的必要条件。就我个人而言,我发现它们使代码比您尝试将所有代码放在一行上更容易阅读。

    【讨论】:

    • ${result} = ('PASS', None) FAIL : Evaluating expression ''('PASS', None)' == 'PASS'' failed: SyntaxError: invalid syntax ( ,第 1 行)。当我给出上面的代码时。它的生成错误。
    • @karthikas:我更新了我的答案。我忘了Run keyword and ignore error 返回一个元组。
    • Run keyword if '${result[0]}' == 'PASS' ... click element ${node A} ... ELSE ... click element ${node B} After这种情况如何说如果节点 A 被点击它应该点击 A[1] 或者如果节点 B 被点击它应该点击 b[1]
    • 谁能帮帮我。我卡在这里如何使用条件如何说如果节点A被点击它应该点击A[1]或者如果节点B被点击它应该点击b[1]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多