Tonatiuh
Tonatiuh

Reputation: 2525

Capybara expect page to have content more than once

Does anybody know how to find if a page has a text more than once?

I know I can use

expect(page).to have_content("my-text")

to check if text appears once. However, I need something like

expect(page).to have_content("my-text").twice

(which doesn't work).

I'm using capybara v2.1.0.

Upvotes: 31

Views: 18383

Answers (2)

Thomas Walpole
Thomas Walpole

Reputation: 49950

expect(page).to have_content("my-text", count: 2)

will do what you want in modern versions of Capybara, not sure if that will work in 2.1 but worth trying (2.1 is over 2 years old now)

Update: In Capybara 3.19+ this can also now be written

expect(page).to have_content("my-text").twice

Upvotes: 49

Panos Angel
Panos Angel

Reputation: 136

When you want the text to show at least 2 times (or 2 times and more) you have to use minimum instead of count.

expect(page).to have_text(/my-text/, minimum: 2)

Upvotes: 5

Related Questions