【问题标题】:Iterate through variables in Robot Framework Click Element遍历 Robot Framework Click 元素中的变量
【发布时间】:2020-05-02 14:39:36
【问题描述】:

作为机器人框架测试的一部分,我想使用相同的关键字从我的页面访问多个对象。对象的 xpath 如下所示:

//div[@class='col-sm-4 ng-scope']//h1[@class='ng-binding'][contains(text(),'Bot1')]
//div[@class='col-sm-4 ng-scope']//h1[@class='ng-binding'][contains(text(),'Bot2')]
//div[@class='col-sm-4 ng-scope']//h1[@class='ng-binding'][contains(text(),'Botx')]

我试图用我的测试对象(元素)的名称设置一个列表变量

*** Variables ***
@{TESTBOTS} =  Bot1  Bot2  Botx

*** Keywords ***
Delete Bots
    go to  ${LANDINGURL}
    Sleep  3s
    Click Element  //div[@class='col-sm-4 ng-scope']//h1[@class='ng-binding'][contains(text(), @{TESTBOTS})]

但是,我收到以下错误:

FAIL        Element with locator '//div[@class='col-sm-2 ng-scope']//h1[@class='ng-binding'][contains(text(),'${TESTBOTS')]' not found.

如果您能指出正确的方向,我将不胜感激。谢谢!

【问题讨论】:

  • 您似乎在Delete Bots 的最后一行缺少一个关键字——您只有一个 xpath 应该是关键字的位置。
  • 感谢布莱恩!你说的对。上传的 sn-p 不正确。这是我尝试过的实际代码: *** 变量 *** @{TESTBOTS} = Bot1 Bot2 Botx *** 关键字 *** Delete Bots go to ${LANDINGURL} Sleep 3s Click Element //div[@class='col-sm-4 ng-scope']//h1[@class='ng-binding'][contains(text(), @{TESTBOTS})]

标签: robotframework


【解决方案1】:

我相信,错误消息似乎仍然不适合 sn-p。

但无论如何:使用@{TESTBOTS},您可以打开完整列表。我会期待一个错误,如 No element found with text 'Bot1 Bot2 Botx'

我认为这应该可以迭代测试机器人列表:

FOR    ${testbot}    IN    @{TESTBOTS}
    Click Element    //div[@class='col-sm-4 ng-scope']//h1[@class='ng-binding'][contains(text(), ${testbot})] 
END

【讨论】:

  • 非常感谢 Noordsestern!正是我想要的!
猜你喜欢
  • 2019-05-15
  • 2019-06-04
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 2021-03-27
  • 1970-01-01
相关资源
最近更新 更多