Architecture Selenium WebDriver : composants, fonctions et limites
Publié: 2020-12-17Tester le système est une tâche difficile, et rien ne vaut un outil qui automatise cela. Selenium est un outil qui vient à l'esprit des testeurs d'automatisation. Si vous souhaitez en savoir plus sur les compétences de test d'automatisation à l'aide de Selenium WebDriver , vous êtes au bon endroit. Commençons.
Table des matières
Qu'est-ce que le sélénium ?
Selenium est un outil de test d'automatisation open source. L'outil ne teste que les applications Web et est compatible avec plusieurs navigateurs et systèmes d'exploitation.
Il existe principalement trois versions de Selenium :
- Sélénium RC
- IDE au sélénium
- Grille de sélénium
Toutes ces versions sont sorties en 2007.
Pilote Web Selenium
Jusqu'en 2011, Selenium RC était largement utilisé. À la mi-2011, Selenium a publié une nouvelle version, WebDriver 2.0. Ce n'était pas une mise à niveau vers RC mais un outil complètement différent. La différence était que Selenium WebDriver 2.0 a ses propres commandes. La dernière version de Selenium WebDriver est la 3.14.
Selenium WebDriver Selenium WebDriver

- Capable de faire des scripts dynamiques.
- Compatible avec plusieurs navigateurs.
- Génère des rapports et des journaux.
- Rapide, car il communique directement avec le navigateur en utilisant le moteur du navigateur.
- Interaction réelle entre les éléments de la page.
- L'API de Selenium WebDriver est beaucoup plus simple et ne contient pas de commandes confuses et redondantes.
- Selenium WebDriver peut prendre en charge le navigateur HtmlUnit sans tête.
L'architecture Selenium WebDriver comprend cinq composants :
- Language Binding ou Selenium Client Library : ce sont des fichiers Jar, et c'est le langage utilisé pour écrire le framework Selenium. Le script de Selenium est écrit en Java, C#, Ruby, Python et Perl.
- Interface de programmation d'applications (API) Selenium : l'API fournit l'ensemble de règles et de spécifications auxquelles tout langage logiciel adhère. Il est également nécessaire de communiquer avec d'autres logiciels. En bref, l'API agit comme l'interface entre les logiciels et les canaux de communication AC.
- Remote WebDriver : il s'agit de la classe d'implémentation de l'interface WebDriver. Un développeur de script de test utilise la classe sur une machine distante pour exécuter le script de test via un serveur WebDriver.
- JavaScript Object Notation (JSON) Wired Protocol : JSON est un format léger de données interchangeables pour faciliter l'échange de données. Il transfère les données entre le client et le serveur sur le Web. Le fichier JSON a une extension .json. Le protocole filaire JSON envoie des données au format JSON. Ensuite, le serveur analyse les données et les exécute. Après exécution, le serveur donne une réponse et la renvoie au client au format JSON.
- WebDriver : WebDriver est l'outil qui automatise les applications Web et vérifie qu'elles fonctionnent comme prévu.
Architecture du pilote Web Selenium
Nous allons maintenant nous concentrer sur l' architecture Selenium WebDriver . L'API Selenium WebDriver facilite les interactions entre les navigateurs et les pilotes de navigateur. L'architecture comprend les quatre couches suivantes :
- Bibliothèque cliente Selenium
- Protocole filaire JSON
- Pilotes de navigateur
- Navigateurs
Comment fonctionne Selenium WebDriver en interne ?
Le code de Selenium WebDriver est écrit dans l'environnement de développement intégré Eclipse (IDE). Il utilise l'une des bibliothèques client Selenium telles que Java.

Une fois le script prêt, cliquez sur Exécuter pour exécuter le programme. Sur la base du script ci-dessus, le navigateur Chrome se lancera et naviguera vers le site Web SeleniumHQ.
Utilisez les étapes génériques suivantes pour l'architecture interne de Selenium WebDriver :
1. Cliquez sur Exécuter .
La bibliothèque client Selenium communique avec l'API Selenium.
2. L'API Selenium envoie la commande de langage de la liaison de niveau au pilote du navigateur.
La communication se fait via le protocole filaire JSON.
3. L'API Selenium envoie la demande au pilote du navigateur.
Le pilote du navigateur utilise le serveur HTTP pour obtenir la requête HTTP.
4. Le serveur HTTP filtre toutes les commandes nécessaires à l'exécution.
Les commandes du script Selenium s'exécutent sur le navigateur.
5. Le serveur HTTP envoie la réponse au script de test d'automatisation.
Spécifications techniques de Selenium WebDriver
- Système d'exploitation (OS) - Windows, Solaris, Linux et Mac OS
- Navigateur pris en charge - Internet Explorer, Google Chrome 12.0.712.0 et supérieur, Safari, Opera 11.5 et supérieur, Mozilla Firefox, Internet Explorer, HtmlUnit 2.9, Android et iOS
Meilleures fonctionnalités de Selenium WebDriver
- Prise en charge de plusieurs navigateurs – Prend en charge presque tous les navigateurs.
- Prise en charge de plusieurs langues - Prend en charge la plupart des langages de programmation couramment utilisés.
- Vitesse – Selenium WebDriver est plus rapide que les autres outils de Selenium Suite.
- Commandes simples - Les commandes courantes sont utilisées et implémentées facilement dans Selenium WebDriver. Par exemple, pour lancer un navigateur dans Selenium WebDriver, exécutez la commande suivante : :
- Pilote WebDriver = nouveau FirefoxDriver(); (navigateur Firefox)
- Pilote WebDriver = nouveau ChromeDriver(); (Navigateur Chrome)
- Pilote WebDriver = new InternetExplorerDriver(); (navigateur Internet Explorer)
- Méthodes et classes - Selenium WebDriver propose plusieurs solutions pour résoudre les problèmes potentiels des tests d'automatisation.
Lire : Idées et sujets du projet Selenium

Limites de Selenium WebDriver
- Selenium WebDriver ne prend pas automatiquement en charge les nouveaux navigateurs
Comme WebDriver fonctionne au niveau du système d'exploitation, chaque navigateur communique avec le système d'exploitation de différentes manières. Ainsi, pour un nouveau navigateur, la communication avec le système d'exploitation peut être différente, ce qui entraîne un problème de compatibilité. Vous devrez laisser un peu de temps à votre équipe Selenium WebDriver pour rendre le nouveau navigateur compatible avec Selenium WebDriver .
- Selenium WebDriver n'a pas de commande intégrée pour générer automatiquement un fichier "Résultats du test"
Vous devez vous fier à la fenêtre de sortie de l'environnement de développement intégré (IDE). Vous pouvez également le concevoir vous-même en utilisant votre langue préférée et le stocker sous forme de fichier HTML ou de texte.
Lisez aussi: Salaire du développeur de sélénium en Inde
Inscrivez-vous à des cours de génie logiciel dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Dernières pensées
- Selenium WebDriver est un outil qui teste les applications Web sur différents navigateurs.
- Il utilise différents langages de programmation.
- Selenium WebDriver est une version améliorée de Selenium RC en raison de son architecture plus simple.
- Selenium WebDriver a une API concise.
Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, plus de 9 projets, et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

