【问题标题】:Is an else statement in robot framework?机器人框架中是否有 else 语句?
【发布时间】:2014-10-06 16:57:03
【问题描述】:

我在机器人框架中运行以下关键字:

Welcome Page Should Be Open
    Run Keyword If    '${BROWSER}' == 'IE'    Location Should Be    ${LOGIN URL IE}
    Run Keyword If    '${BROWSER}' != 'IE'    Location Should Be    ${LOGIN URL}
    Wait Until Page Contains    Accounts    5s
    Page Should Contain    Accounts

我想知道机器人是否有可以使用的 else 语句或可以使用的 OR 语句,而不是 2 个 Run Keyword If 语句?

干杯

【问题讨论】:

    标签: selenium robotframework


    【解决方案1】:

    从机器人框架 2.7.4 版本开始,您可以在调用 Run keyword if 时使用 ELSE。

    来自the documentation:

    从 Robot 版本 2.7.4 开始,此关键字也支持可选 ELSE 和 ELSE IF 分支。这两个都在 *args 中定义并且必须 分别使用完全格式 ELSE 或 ELSE IF。 ELSE 分支必须 首先包含要执行的关键字的名称,然后是可能的 论据。 ELSE IF 分支必须首先包含一个条件,例如 这个关键字的第一个参数,然后是要执行的关键字和 它可能的论点。在 ELSE 之后可以有 ELSE 分支 IF 和有多个 ELSE IF 分支。

    例如(为了清楚起见,我使用管道分隔格式和延续功能):

    | | Run Keyword If | '${BROWSER}' == 'IE'
    | | ... | Location should be | ${LOGIN URL IE}
    | | ... | ELSE 
    | | ... | Location should be | ${LOGIN_URL}
    

    【讨论】:

    • 为什么最后三行有省略号?它是否表示以下行都在if 语句中?
    • @Stormie:是的,... 表示该行是上一行的延续。您可以使用此技术使您的测试更具可读性。请参阅用户指南中的Dividing test data to several rows。
    猜你喜欢
    • 2020-09-04
    • 2016-04-07
    • 2015-09-10
    • 1970-01-01
    • 2016-02-28
    • 2012-08-04
    • 1970-01-01
    • 2017-05-18
    • 2018-10-23
    相关资源
    最近更新 更多