是否可以在 RobotFramework 中设置关键字参数的范围而不显式使用内置关键字 - "Set <scope> Variable"



我有一个关键字,例如"单击菜单项",它${menuItem}参数。然后,它单击相应的菜单项,形成动态定位器 xpath。 我需要在单独的Locators.robot资源文件中定义/设置LocatorVariables及其 Xpath,以便我的测试用例/关键字是免费的 xpath。

** Keywords ***  
Click Menu Item  
[Arguments]     ${menuItem}  
Click Element    ${MenuBarLeft_MenuItem}  

所以我想接受全局范围内的变量${menuItem},以便可以在Locators.robot资源文件中访问它。

不过,我知道这可以通过以下方式实现:

"Set Global Variable    ${menuItem}    ${menuItem}" 

但是我想知道有没有办法通过在接受关键字中的变量时自动定义范围来跳过此步骤。

另外,请让我知道是否有更好的方法来处理这种情况的动态定位器。

我想知道有没有办法通过在接受关键字中的变量时自动定义范围来跳过此步骤。

不,没有。

@Bryan Oakley给出的答案是正确的。无法动态分配范围。也就是说,这并不意味着您正在做的事情是导致不复制元素定位器的唯一方法。

一些可能对您有所帮助的答案是:

页面
  • 对象模式:通过对应用程序的页面进行建模来集中化。
  • 使用外部 YAML 文件的自定义定位器策略
  • 使用 Javascript 访问自定义定位器策略定位的元素
  • 使用获取网页元素的自定义定位器

最新更新