Selenium WebDriver – architecture du framework

Selenium WebDriver – architecture du framework
MIN
30 Juin 2023

Dans l’article précédent sur Selenium intro – une introduction, nous avons découvert les différents composants de Selenium, ses avantages et ses limites. Ce tutoriel est basé sur le composant principal de la suite de tests Selenium – Selenium Webdriver. Nous allons ici découvrir l’architecture du framework Selenium WebDriver, ses composants individuels et son fonctionnement.

Table des matières

Architecture de Selenium WebDriver

Pour bien comprendre l’automatisation de l’interface utilisateur Web à l’aide de Selenium WebDriver, il est nécessaire de connaître son architecture. Pour comprendre l’architecture, il faut d’abord connaître les quatre éléments qui composent le cadre.

Schéma de l’architecture de Selenium WebDriver :

Bibliothèque client Selenium

Les développeurs de Selenium WebDriver ont permis la prise en charge d’un grand nombre de langages de programmation. La bibliothèque Selenium Client Library ou une partie des liaisons linguistiques de l’architecture Selenium WebDriver nous permet d’écrire des scripts d’automatisation Selenium dans le langage de notre choix – Java, Python, C#, Ruby, Javascript, etc.

Pilotes de navigateur

Nous disposons d’un pilote de navigateur distinct pour chacun des navigateurs Selenium pris en charge. Ces pilotes reçoivent les commandes des scripts Selenium et les transmettent aux navigateurs appropriés.
Ainsi, ces pilotes de navigateur permettent au script Selenium de communiquer avec différents navigateurs. Cette communication se fait également sans révéler la logique interne de ces navigateurs. Les pilotes de navigateur de Selenium sont FirefoxDriver, ChromeDriver, InternetExplorerDriver, SafariDriver, OperaBrowser, EdgeDriver et HtmlUnitDriver.

Fil JSON sur HTTP

JSON ou JavaScript Object Notation est un format de données léger pour le stockage et le transfert de données. Le protocole JSON permet de transférer des données entre un client et un serveur sur le web.
Dans l’architecture WebDriver, le protocole JSON est utilisé pour communiquer entre les scripts Selenium et les pilotes de navigateur.

Navigateurs

Ce composant de l’architecture Webdriver de Selenium est assez simple. Les navigateurs reçoivent la commande et appellent la méthode appropriée pour effectuer la tâche d’automatisation requise. Les différents navigateurs pris en charge par Selenium sont : Chrome, Firefox, IE, Edge, Safari, Opera, etc.

Explication de l’automatisation à l’aide de Selenium WebDriver

Il est temps d’examiner les rouages de l’automatisation des applications web dans différents navigateurs à l’aide de Selenium WebDriver. Exemple d’exécution d’une tâche d’automatisation simple :

WebDriver driver = new FirefoxDriver() ;

driver.get(« https://ittester.sk ») ;

driver.findElement(By.id(« button »)).click() ;

Le script est écrit en Java. Le composant Selenium Client Library nous aide donc à créer des scripts en Java. En utilisant le protocole JSON, le client Selenium communique avec le pilote du navigateur (Firefox dans notre exemple). Exécute l’opération get() pour lancer la page web ITtester.sk, puis clique sur le bouton.

Le pilote du navigateur Firefox envoie ensuite les commandes au navigateur approprié. Lorsque les tâches d’automatisation sont terminées avec succès, la réponse est renvoyée au script d’automatisation.

Ceci conclut le tutoriel sur l’architecture WebDriver dans Selenium. Nous continuons avec le chapitre suivant de nos tutoriels – Selenium WebDriver – installation. Ce guide vous aidera à configurer Selenium sur votre ordinateur.