BassT
BassT

Reputation: 849

Make capybara wait for an element to disappear

After a click on some element I expect a placeholder to disappear and another element to appear after an AJAX call is finished.

find(someLocator).click
expect(page).not_to have_css(disappearingPlaceholderLocator)
expect(page).to have_css(appearingElementLocator)

The first expectation fails though and the AJAX call is not executed.

I think this is somehow related to this SO question but I just can't figure out how.

Upvotes: 8

Views: 5872

Answers (1)

BassT
BassT

Reputation: 849

This works when the expectations are flipped.

find(someLocator).click
expect(page).to have_css(appearingElementLocator)
expect(page).not_to have_css(disappearingPlaceholderLocator)

Upvotes: 4

Related Questions