robotframework - 在传单地图上选择一个区域

时间:2017-10-02 07:17:12

标签: automated-tests leaflet robotframework

我正在测试我们的Web应用程序,它在表单中有一个地图。我使用传单映射在其上显示不同的区域,区域ID可能会随着选择组合框选项而改变。我已经尝试click element使用Xpath来选择一个区域但不幸的是它没有用。有没有办法用Rrobot Framework从传单地图中选择区域?

以下是我正在使用的Robot Framework代码:

click element    xpath=.//*[@id='map-id']/div[1]/div[4]/img[89]

这是我的表格:

Leaflet map

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,有两种方法可以修复它:创建一个自定义Python关键字来定位地图元素,找到元素的中心,计算远离中心点击的距离,然后点击位置(实际上并不像听起来那么难);或点击地图元素本身(可能是一个dom风格的定位器,它们相当坚固,可以在透明叠加层后面点击),并且对地图中心是唯一可以点击它的地方感到满意。

除了第二个选项之外,这一切都假定没有透明的覆盖阻止机器人框架单击您的地图,这可能会引发该错误。如果有,那么您可能需要通过Execute Javascript关键字浏览Javascript。假设click ()命令适用于您当前的设置,Javascript可以单击透明叠加层后面的内容。

如果所有这些都失败了,您可以考虑使用另一个自定义关键字来移动光标然后单击作为光标。我无权访问该代码atm,但它是Python中的单行关键字。

此外,错误可能只是因为您的XPath不够具体。