机器人框架:参数化 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
当你 运行 以上时,日志应该显示:
在 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
当你 运行 以上时,日志应该显示: