有没有办法点击带有capybara-webkit的Google地图叠加层?使用Selenium的Capybara怎么样?我想在选择标记后测试信息窗口的内容。我还想测试页面上是否有 n 标记。
答案 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/
希望这有帮助!