J'utilise Selenium pour automatiser les tests de sites Web. Une partie des tests implique d'attendre que les requêtes AJAX se terminent. Je me sers de cette ligne à faire avec jQuery 1.4:Sélénium en attente d'AJAX dans Chrome
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.active == 0", "5000");
Il a bien fonctionné dans Chrome et Firefox 4, mais pas IE9. Ensuite, j'ai mis à jour vers jQuery 1.5, et il a magiquement cessé de fonctionner dans Chrome. J'ai essayé les variations suivantes, mais aucun d'entre eux travaillent:
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.active == 0", "5000");
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.ajax.active == 0", "5000");
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().$.active == 0", "5000");
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().$.ajax.active == 0", "5000");
Le SeleniumException est qu'il ne peut pas lire la propriété active
ou ajax
undefined, donc je suppose qu'il est en quelque sorte pas en mesure de se rendre à jQuery. Mon collègue exécute les mêmes tests sur Firefox 4, et ils passent.
Quelqu'un a-t-il rencontré ce problème? Aucune suggestion?