Click overlay marker in Google Maps with capybara-webkit
Asked Answered
H

2

31

Is there a way to click a Google Maps overlay with capybara-webkit? What about Capybara using Selenium? I want to test the content of the info window once the marker is selected. I also want to test that there are n markers on the page.

Huth answered 7/3, 2013 at 20:34 Comment(3)
I'm looking for a way to do this too, have you been able to find a solution?Rosariarosario
No unfortunately not. I got nowhere with it.Huth
seconded. we have an entire team trying to get this figured outElegy
R
0

To test that there are n markers on the page:

expect(find('.gmap_container')['data-markers'].split('},{').count).to eq(n)
Roshan answered 24/2, 2015 at 18:29 Comment(2)
I am no longer working on this can anyone else confirm that this works and I will accept this answer?Huth
Didn't work for me. tried find('.gmap_container') and it was not found. Could be something on my end though.Prosperity
S
0

This can be done, but requires a change to how you create your markers. You must instruct them to render as images rather than canvas elements:

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')
});

Then in your test, you can find('div[title="Business\ Title"]').click

If possible, you might want to consider doing this just for a test environment, but that's up to you and your needs.

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

Hope this helps!

Selestina answered 13/12, 2016 at 23:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.