PURE PLAYER DU QUALITY ENGENEERING
Nous assurons la qualité de vos logiciels

Scripts Selenium trop lents

Comment rendre vos scripts Selenium plus rapides ?

Sommaire

Comment rendre vos scripts Selenium plus rapides ?

Vos scripts Selenium sont trop lents ? Nous vous expliquons comment les rendre plus rapides !

De nombreuses QA’s utilisent aujourd’hui Selenium WebDriver pour automatiser leurs cas de test des applications Web. Ce n’est pas une surprise car Selenium WebDriver est :

  • Gratuit
  • Open source
  • IndĂ©pendant de la langue
  • IndĂ©pendant du système d’exploitation

Mais les scripts Selenium WebDriver sont généralement lents. Plusieurs éléments peuvent améliorer la vitesse des scripts Selenium WebDriver :

Scripts Selenium WebDrive

1. Utilisez des sélecteurs rapides pour vos scripts Selenium

Lors de la sélection du localisateur, commencez par les plus rapides:

1.1 Recherche par ID

Cela fonctionne si l’Ă©lĂ©ment html a l’attribut id.

C’est le localisateur le plus rapide car il utilise la commande javascript document.getElementById () qui est optimisĂ©e pour tous les navigateurs.

1.2 SĂ©lecteur NAME

Cela fonctionne si l’Ă©lĂ©ment a un attribut de nom.

1.3 SĂ©lecteur CSS

Il est plus rapide que XPATH mais pas aussi flexible.

1.4 SĂ©lecteur XPATH

C’est la stratĂ©gie la plus flexible pour crĂ©er des localisateurs.

Mais les sĂ©lecteurs xpath sont les plus lents de tous car le navigateur dom de la page Web doit ĂŞtre parcouru pour trouver l’Ă©lĂ©ment.

2. Ne testez pas la même fonctionnalité deux fois !

Ne pas répéter deux fois - selenium
Image : seleniumjava.com

Assurez-vous que vos scripts Selenium ne vérifient pas encore et encore les mêmes fonctionnalités !

Si vous avez vĂ©rifiĂ© que la connexion fonctionne correctement dans un script, il n’y a aucun avantage Ă  la vĂ©rifier Ă  nouveau dans un autre script.

3. Écrire de bons tests

Les bons tests écrits sont des tests rapides. Ils sont créés en suivant quelques règles simples :

  • Élimine la duplication des Ă©tapes
  • Gardez les scripts indĂ©pendants
  • Écrivez juste assez d’Ă©tapes pour passer de A Ă  B le plus rapidement possible
  • Supprimer les Ă©tapes qui ne sont pas liĂ©es au rĂ©sultat final

4. Utilisez uniquement des attentes explicites pour vos scripts Selenium

Image Tigre
Image : seleniumjava.com

L’un des meilleurs moyens de rendre un script plus rapide consiste Ă  n’utiliser que des attentes explicites.

Si vos scripts de test utilisent des délais et des attentes implicites comme celui-ci :

WebDriver driver = new FirefoxDriver();

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

driver.get(“http://somedomain/url_that_delays_loading”);

WebElement myElement=driver.findElement(By.id(“myElement”));

Remplacez-les par des attentes explicites :

WebDriver driver = new FirefoxDriver();

driver.get(“http://somedomain/url_that_delays_loading”);

WebElement element = (new WebDriverWait(driver, 10))

.until(ExpectedConditions.presenceOfElementLocated(By.id(“element”)));

Les performances du script sont meilleures avec des attentes explicites car les Ă©lĂ©ments HTML sont accessibles dès qu’ils sont disponibles.

Aucun temps d’attente supplĂ©mentaire n’est nĂ©cessaire.

5. RĂ©utilisez l’instance du navigateur pour vos scripts Selenium

Une classe JUNIT typique comprend les composants suivants :

  1. constructeur
  2. méthode setUp ()
  3. méthode tearDown ()
  4. scripts de test

La mĂ©thode setUp () utilise l’annotation @Before et s’exĂ©cute avant chaque script de test.

Son objectif est gĂ©nĂ©ralement de crĂ©er l’objet pilote et d’ouvrir la fenĂŞtre du navigateur.

La mĂ©thode tearDown () utilise l’annotation @After et s’exĂ©cute après chaque script de test.

Son but est de dĂ©truire l’objet pilote et de fermer la fenĂŞtre du navigateur.

Chaque script de test utilise sa propre instance de navigateur lorsque @Before et @After sont utilisés :

Une classe JUNIT - Selenium
Image : seleniumjava.com

 setUp() –> opens browser

  • Test Script 1

tearDown() –> closes browser

setUp() –> opens browser

  • Test Script 2

tearDown() –> closes browser

setUp() –> opens browser

  • Test Script 3

tearDown() –> closes browser

setUp() –> opens browser

  • Test Script 4

tearDown() –> closes browser

6. Ne chargez aucune image dans la page web

Comment rendre vos scripts Selenium plus rapides ?
Image : seleniumjava.com

De nombreuses pages du site sont très riches en images et ne se chargent donc pas rapidement dans le navigateur.

Si la page se charge plus rapidement dans le navigateur, le script sera Ă©galement plus rapide.

La page se chargera plus rapidement si aucune image n’est chargĂ©e.

Cela peut être accompli en configurant un nouveau profil pour le navigateur et en désactivant le chargement des images pour celui-ci.

7. Utilisez des navigateurs et des pilotes sans tĂŞte (headless)

Si vous n’avez pas besoin d’un vrai navigateur ou si vous utilisez une intĂ©gration continue, les navigateurs et les pilotes sans tĂŞte peuvent accĂ©lĂ©rer vos scripts.

Un navigateur sans tĂŞte est un navigateur qui n’a pas d’interface utilisateur.

Les navigateurs headless les plus populaires sont HTML UNIT et Phantom JS.


Source: seleniumjava.com

Adaptation : Zied Hannachi / Consultant test automation / All4Test

Pour en savoir plus sur les frameworks d’automatisation des tests téléchargez notre livre blanc !

Vous souhaitez plus d’informations sur ces outils ?

Vous avez un projet d’automatisation de test ? 

Formez-vous sur Selenium qui vous permettra de vous familiariser avec la rĂ©daction de scripts Selenium pour l’automatisation du test des applications de navigateur. Notre partenaire UpSkill4IT vous propose cette formation sur Selenium – Automatisation des tests.

Partager cet article
Articles similaires

Comment le RAG (Retrieval-Augmented Generation) rĂ©volutionne le test logiciel avec l’IA ? Le Retrieval-Augmented Generation (RAG) est une technologie de pointe qui combine

Écrire du Code Propre : Une Arnaque ou un Atout ? Revivez notre webinaire Le Clean Code est-il une pratique

Rechercher
Thématiques

Demande
de rendez-vous

1
VOUS
2
VOTRE PROJET
3
NOS PRESTATIONS
4
COORDONNÉES
5
RDV

Ă€ propos de vous+

Ă€ propos de votre projet+

Ă€ propos de notre accompagnement+

À propos de vos coordonnées+

À propos de vos disponibilités+

Accédez au livre blanc+

Merci pour votre intĂ©rĂŞt pour l’automatisation des tests, un sujet primordial.

C’est une excellente initiative de votre part de vous y intĂ©resser.

Demande du Livre Blanc

« * » indique les champs nécessaires

Veuillez remplir ce formulaire pour demander votre exemplaire du livre blanc.*