2017-08-24 3 views
0

après une longue recherche inutile que je voudrais poser la question suivante:Capybara attendre la page pour charger tous les éléments complètement avec Ruby

. Que se passe-t-il surtout après que Capybara a renvoyé {"status" => "succès"}? Attend-il que tous les éléments soient chargés (comme JS, etc.)? Ou il suffit de gérer la réponse HTTP 200 et le renvoie sans donner de soins?

. Est-il un autre moyen de faire Capybara attendre la page pour charger complètement tous les éléments et les fonctions à l'exception de la mise en place d'un délai d'attente?

Par exemple, est-il une méthode pour dire Capybara: « a été exécuté JS lors d'une visite d'une page particulière? » ou "le chargement de la page a-t-il été effectué complètement?".

Je vais apprécier toutes les idées, je vous remercie!

Répondre

0

Le comportement visit est conducteur en fonction et il n'y a aucune garantie d'une page est complètement chargée (mais vous le définir complètement) quand il retourne. Les méthodes d'attente à Capybara sont celles qui attendent des éléments spécifiques. Alors

find(:css, '#blah') 

attendra (jusqu'à secondes Capybara.default_max_wait_time) pour un élément avec id « blah » apparaître sur la page. Si vous ne savez pas quoi que ce soit au sujet de la structure de la page que vous visitez et quels sont les éléments que vous attendez d'être sur elle alors la seule façon serait par un délai d'attente.