Using Capybara for AJAX integration tests

2020-02-29 03:33发布

问题:

I am using Capybara for rails integration tests. When it comes to AJAX requests, I am getting the following error:

Capybara::TimeoutError: failed to resynchronize, ajax request timed out

Any idea what's wrong and how this can be fixed?

回答1:

I had this same issue once I upgraded my selenium/capybara gems. There is some AJAX synchronization logic that is causing this, so I just disabled it within my test hook.

Before do
  page.driver.options[:resynchronize] = false
end


回答2:

If you are on rail 3

change this in your gem file.

gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git', :branch =>'async_is_my_bitch'

then do bundle update.

This will solve it.