【问题标题】:Robot Framework: using if/else conditions without using keywords机器人框架:使用 if/else 条件而不使用关键字
【发布时间】:2018-04-21 03:06:30
【问题描述】:

在 BuiltIn 库中,有大量“运行关键字 If..”命令,但我不想测试条件然后运行关键字。是否可以在不涉及关键字的情况下使用条件“if”或“else”?

【问题讨论】:

  • 你能说得更具体点吗?如果您不根据条件做某事,那么做“如果”有什么意义?你到底想做什么?你能创建一个minimal reproducible example 来说明你想要完成的事情吗?
  • 我正在测试数据以查看某个值是否设置为“是”或“否”。我有一个 If/Then 块,它将根据值单击一个单选按钮。我不需要调用我的关键字,我只需要点击按钮。下面的代码不是有效的 RF 语法,但这是我想要做的:IF ${PO_Dictionary.ExistingMember} == Yes Click Element ${EXISTING_MEMBER_YES_RADIO} ELSE Click Element ${EXISTING_MEMBER_NO_RADIO} Input Text ${ZIP_TEXT} ${PO_Dictionary.ZipCode} END IF
  • " 我有一个 If/Then 块,它将根据值单击单选按钮。我不需要调用 I 关键字,我只需要单击按钮。" 如果您不调用关键字,您将如何单击按钮? click element 是一个关键字。
  • 到处都是关键字似乎很奇怪。我只有几行代码要运行。我想我的背景是 Java、Python 等。每次我想以我的数据为条件时调用这些关键字似乎很奇怪
  • “到处都做关键字似乎很奇怪。” 为什么奇怪?这正是机器人框架的设计目的。这是一个关键字驱动的测试框架。您所做的一切都是使用关键字。 Robot 不是一种编程语言,它是一个运行关键字的框架。甚至run keyword if 本身就是一个关键字。

标签: if-statement robotframework keyword built-in


【解决方案1】:

您似乎误解了机器人的工作原理。您在机器人中所做的一切都是使用关键字。机器人框架不是一种编程语言,它是一个关键字驱动 框架。它的唯一目的是运行关键字。

如果您想根据条件运行click element,请使用run keyword if,因为click element 本身就是一个关键字。

例如:

*** Test Cases ***
Examples
    Run keyword if  '${PO_Dictionary.ExistingMember}' == 'Yes'
    ...  Click Element  ${EXISTING_MEMBER_YES_RADIO}
    ...  ELSE
    ...  Click Element ${EXISTING_MEMBER_NO_RADIO}

不幸的是,在 if 语句中运行多个命令很困难。如果您只想在 else 子句中运行 Input Text ${ZIP_TEXT} ${PO_Dictionary.ZipCode},则必须调用 run keywords 或创建一个小关键字。

例如:

*** Test Cases ***
Examples
    run keyword if  '${PO_Dictionary.ExistingMember}' == 'Yes'
    ...  Click Element  ${EXISTING_MEMBER_YES_RADIO}
    ...  ELSE  Run keywords
    ...  Click Element ${EXISTING_MEMBER_NO_RADIO}
    ...  AND  Input Text ${ZIP_TEXT} ${PO_Dictionary.ZipCode}

【讨论】:

    猜你喜欢
    • 2022-12-29
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    相关资源
    最近更新 更多