2015-09-17 22 views
11

Qualcuno sa come trovare se una pagina ha un testo più di una volta?Capybara si aspetta che la pagina contenga più di una volta

So che posso usare

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

per controllare se il testo appare una volta. Tuttavia, ho bisogno di qualcosa come

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

(che non funziona).

Sto usando capybara v2.1.0.

risposta

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

farà quello che vuoi in versioni moderne di Capybara, non so se questo funzionerà in 2.1, ma vale la pena provare (2.1 è oltre 2 anni ormai)

2

Quando si desidera il testo per mostrare a almeno 2 volte (o 2 volte e più) è necessario utilizzare minimo anziché conteggio.

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

+2

Sì, e se si vuole almeno 2 ma <= 5 si può fare 'aspettare (pagina) .to have_text (/ my-text /, minima: 2, al massimo: 5)' o 'expect (page) .to have_text (/ my-text /, between: (2..5)) –