5

我正在尝试使用 selenium 来测试 OpenLayers-2.13.1 的功能。我遇到了鼠标点击、鼠标按下等问题。我发现一些过时的帖子有类似的问题,但他们的解决方案对我没有帮助。有谁知道任何可以自动正确测试开放层的软件。

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

4

1 回答 1

4

我们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 来说可能为时已晚,但希望这可以帮助某人入门。

于 2015-11-24T09:27:34.613 回答