机器人框架:参数化 GUI 元素

Robot Framework: Parameterized GUI elements

在 Katalon 中是参数化 GUI 元素的 select 的一种非常好的方法,因此您可以轻松地 select 非常相似的元素与帮助参数。我想在 Robot Framework 中做类似的事情。

编辑:更好的例子,更容易理解:

我们有几个 GUI 元素在测试时必须与之交互。由于元素的 select 非常相似,我们想要参数化它的特定部分。在这种情况下,我们要参数化 selector:

的 $(selector) 部分
*** Variables ***
$(overview.element}    //div[contains(@class, $(selector)')]

我们希望能够做到这一点,这样我们就可以避免类似的事情发生

*** Variables ***
$(overview.home}    //div[contains(@class, home')]
$(overview.settings}    //div[contains(@class, settings')]
$(overview.overview}    //div[contains(@class, overview')]

我们想在测试用例中提供该参数。意思是:我们可以指定我们想要哪个元素select。类似的东西:

    [Arguments]   ${selector}
Click    $(overview.element)(${selector})

这可能吗?如果是:如何?

您可以使用内置关键字 Replace variables 在使用定位器之前执行替换。为此,您必须在定义 ${overview.element}

时转义变量引用

示例:

*** Variables ***
${overview.element}    //div[contains(@class, ${selector}')]

*** Keywords ***
Example keyword
    [Arguments]  ${selector}
    ${locator}=  Replace variables  ${overview.element}
    log  locator is ${locator}

*** Test cases ***
Example
    example keyword  settings

当你 运行 以上时,日志应该显示: