Maison  >  Article  >  développement back-end  >  Comment accélérer les tests Selenium en ajustant la stratégie de chargement des pages ?

Comment accélérer les tests Selenium en ajustant la stratégie de chargement des pages ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-14 20:30:03190parcourir

How to Speed Up Selenium Tests by Tuning Page Loading Strategy?

Régler Selenium pour contourner le chargement lent des scripts

Le comportement par défaut de Selenium est d'attendre qu'une page se charge complètement avant de continuer, ce qui peut devenir problématique lorsque les pages contiennent des scripts lents ou peu fiables. Pour atténuer ce problème, envisagez d'ajuster la stratégie de chargement de page de Selenium.

La propriété pageLoadStrategy vous permet de manipuler la façon dont Selenium gère les événements de chargement de page. En spécifiant la stratégie appropriée, vous pouvez limiter le temps d'attente de Selenium, bloquer les requêtes AJAX et même désactiver complètement le chargement des scripts.

Configurer pageLoadStrategy pour différents navigateurs

Firefox :

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().FIREFOX
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe')
driver.get("http://google.com")

Chrome :

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "normal"  # full page load
# caps["pageLoadStrategy"] = "eager"  # interactive
# caps["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
driver.get("http://google.com")

Options pageLoadStrategy

  • normal : Attendez la page complète chargement, y compris les scripts et les requêtes AJAX.
  • impatient : attendez que la page soit interactive, permettant à Selenium de poursuivre l'exécution pendant que les scripts et AJAX se chargent toujours de manière asynchrone.
  • aucun : désactivez tous les chargements de scripts et les requêtes AJAX, permettant à Selenium de procéder immédiatement.

Remarque : La stratégie « impatiente » est toujours en cours de développement pour les implémentations de ChromeDriver, il se peut donc qu'il ne soit pas entièrement pris en charge sur tous les navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn