Lorsque j'appelle la méthode Open ("[some URL]") dans Selenium, il attend que toutes les ressources (images, CSS, JS) soient téléchargées. Mais comment sait-on que le navigateur est fait en demandant des ressources?La fonction Open de Selenium attend quoi?
Voici mon bout de code du pilote (en C#):
DefaultSelenium selenium = new DefaultSelenium(
"localhost", 4444, "*iexplore", "http://www.stackoverflow.com");
// open my profile page
selenium.Open("http://stackoverflow.com/users/111934/jeff-meatball-yang");
L'URL ci-dessus est par exemple seulement. Dans le cas où j'ai un appel AJAX enveloppé dans un très long délai dans un setTimeout()
déclenché dans le gestionnaire d'événement onload
du corps, Selenium n'attendra pas réellement cet appel AJAX avant de continuer ... Je dois manuellement dire à Selenium d'attendre en utilisant WaitForPageToLoad(timeout)
.
Alors, comment le sélénium détecte-t-il lorsqu'une page normale (sans AJAX) a fini de charger?
Merci Commandant Dave. :) Pouvez-vous me diriger vers le fichier ou l'adresse SVN où vous avez trouvé ceci? –
De rien! http://code.google.com/p/selenium/source/browse/selenium-core/trunk/src/main/resources/core/scripts/selenium-browserbot.js#83 –
Vous pouvez également utiliser ['waitForElementPresent' ] (http://release.seleniumhq.org/selenium-core/1.0.1/reference.html#storeElementPresent) après avoir appelé 'open'. – ma11hew28