C'è un modo elegante per farlo? Al momento uso solo un passo personalizzato "E attendi 10 secondi" per essere assolutamente sicuro, c'è tempo per preparare l'iframe. Non voglio che questa funzionalità abbia esito negativo sulla mia VM CI sottodimensionata a causa di un piccolo problema di rete o picchi di CPU. Ma questo significa che la suite di funzioni spreca molto tempo e, come sai, se la suite di test richiede molto tempo, spesso non si preoccupa di eseguirla al di fuori del server CI.Dì a Capybara di aspettare che l'iframe abbia caricato (è pronto)
risposta
Se sai cosa sta per essere nel vostro iframe che si possa fare:
within_frame 'iframe_selector' do
wait_until(10) do
page.should have_content("Content you're waiting for")
end
end
Il metodo wait_until
sarà tenere in attesa per 10 secondi o fino a quando la condizione page.should
restituisce true.
thnx, che dovrebbe essere sufficiente –
Si noti che con l'ultimo capybara have_content attende automaticamente, quindi non è necessario il wait_until –
Grazie per la risposta .. :) Funziona alla grande .. – Selvamani
Che driver stai usando? –
selenio-webdriver con chrome –