可以自动测试Open Layers吗?

时间:2014-09-29 15:28:03

标签: selenium openlayers selenium-ide gwt-openlayers

我正在尝试使用selenium来测试OpenLayers-2.13.1功能。 我遇到鼠标点击,鼠标缩小等问题.... 我找到了几个有类似问题的过时帖子,但他们的解决方案对我没有帮助。 有没有人知道任何可以自动化以正确测试Open Layers的软件。

http://lists.osgeo.org/pipermail/openlayers-users/2012-November/026791.html

1 个答案:

答案 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

采用相同的方法 对于OP来说可能为时已晚,但希望这可能有助于某人开始。