Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotVisibleError)

Problem

Trying to run your cucumber tests and interact with links,buttons in a page you have the following error page:

Solution

Try to use the :visible => true in your matchers, finders like:

Cucumber step to select auto suggested google map search result

Problem

You have a location search in your application that uses google maps auto suggest, and you want to be able to select the first item, so that it can be used in your cucumber tests.

Solution

You can create a step as in the code below, and put it in one of your cucumber step definitions:

and then you can call this step from any other step in your cucumber tests by:

Modal dialog present (Selenium::WebDriver::Error::UnhandledAlertError)

Problem
You are using cucumber for your tests and you would like to use the modal dialog confirmation box in a rails application, with capybara but you are getting the following error:

Solution

In your steps file use the following to accept (press OK), in the confirmation dialog that pops up:

NOTE: Or in more recent versions when the above complains for ‘undefined method wait_until’

NOTE: Taken from the second comment made here

Capybara page.has_content? does not work in Cucumber tests

Problem

You are trying to use page.has_content? inside a cucumber step definition, but it doesn’t work as it matches all text, and returns always true.

Solution

Change the page.has_content? to page.should have_content instead and the tests should be failing when the text doesn’t match.