点击带有capybara-webkit的Google地图中的叠加标记

时间:2013-03-07 20:34:24

标签: capybara capybara-webkit

有没有办法点击带有capybara-webkit的Google地图叠加层?使用Selenium的Capybara怎么样?我想在选择标记后测试信息窗口的内容。我还想测试页面上是否有 n 标记。

2 个答案:

答案 0 :(得分:0)

要测试页面上是否有n个标记:

expect(find('.gmap_container')['data-markers'].split('},{').count).to eq(n)

答案 1 :(得分:0)

可以这样做,但需要更改创建标记的方式。您必须指示它们呈现为图像而不是画布元素:

new google.maps.Marker({
  position:  latLng,
  animation: google.maps.Animation.DROP,
  name:      business.get('name'),
  id:        business.get('id'),
  optimized: false, // <-- this is the stuff
  title:     business.get('name')
});

然后在您的测试中,您可以find('div[title="Business\ Title"]').click

如果可能,您可能需要考虑仅针对测试环境执行此操作,但这取决于您和您的需求。

信用:http://blog.mojotech.com/selecting-google-maps-v3-markers-with-selenium-or-jquery/

希望这有帮助!