Capybara Find with Wait
Integration tests covering JavaScript features are a prime location for timing-related flickers. Often our implementation and expectations are correct, but the test gives up and bails before the desired behavior can be observed.
Patience!
With Capybara, one way around this is to just wait a little longer. This code:
find('.mj-modal iframe', wait: 5)
will wait for the iframe up to five seconds, overriding Capybara's default max wait time of two seconds. On certain test runs this can make all the difference.
Tweet