我正在尝试使用selenium来测试OpenLayers-2.13.1功能。 我遇到鼠标点击,鼠标缩小等问题.... 我找到了几个有类似问题的过时帖子,但他们的解决方案对我没有帮助。 有没有人知道任何可以自动化以正确测试Open Layers的软件。
http://lists.osgeo.org/pipermail/openlayers-users/2012-November/026791.html
答案 0 :(得分:3)
我们在使用Selenium WebdriverIO
运行映射的自动化测试方面取得了一些成功。
我们解决地图点击的方式是通过从地图脚本中公开一个函数,我们可以从中获取地图上某个要素的像素位置。
function pixelOfFeature (id) {
return map.getPixelFromCoordinate(...coordinate of feature...)
}
然后在我们的测试脚本中,一旦在我们加载的映射页面上,我们在地图对象中查询我们想要点击的要素的像素,然后使用webdriverio我们可以将鼠标移动到地图css选择器中的像素值,然后执行.buttonPress()
。
var client = webdriverio.remote(options)
client.moveToObject('.map', pixel[0], pixel[1]).then(function(){
client.buttonPress(0).then(callback)
})
http://webdriver.io/api/action/moveToObject.html
http://webdriver.io/api/protocol/buttonPress.html
我们使用ol3
,但openlayers 2