2013-01-15 13 views
36

Desidero avere diversi tempi di attesa Capybara nel mio codice in base a quanto tempo impiegano normalmente per caricare completamente? Devo ripetutamente continuare a cambiare il Capybara.default_wait_time o c'è un modo migliore?Più tempi di attesa Capybara?

risposta

65

È possibile utilizzare using_wait_time(seconds) metodo come:

using_wait_time 3 do 
    expect(page).to have_text 'Lorem ipsum' 
end 

o :wait opzione (che è apparso in Capybara 2.1).

Nota che l'opzione :wait era supportata solo dal metodo find in Capybara 2.1.

Supporto per :wait opzione matchers (ossia has_x? e have_x metodi) è stato aggiunto in Capybara 2.2:

expect(page).to have_text('Lorem ipsum', wait: 3) 
+0

risposta eccellente, grazie per menzionare il supporto imminente. – Jazzepi

+0

Forse mi manca qualcosa qui, ma questo non è solo un modo elegante di usare il sonno (x)? – Dono

+4

@Dono 'sleep' sarà sempre in pausa per' x'. 'have_text' si fermerà per un po 'di tempo fino a' x' (finché non verrà visualizzato il testo). –

Problemi correlati