Fermer

octobre 9, 2022

Comprendre la grille de sélénium 4

Comprendre la grille de sélénium 4


Selenium Grid est un outil open source pour automatiser les navigateurs Web. Il nous permet de réaliser une exécution parallèle des tests sur différentes machines avec l’avantage d’exécuter la même suite de tests sur toutes les machines simultanément. L’objectif est de rendre les tests plus efficaces et de réduire le temps d’exécution des tests. Il aide également à réduire le trafic réseau en répartissant les demandes entre tous les serveurs.

Selenium Grid peut être principalement utilisé pour les tests inter-navigateurs, les tests multi-plateformes et les tests de compatibilité inter-navigateurs. Il peut être utilisé pour des tests fonctionnels et non fonctionnels. Il peut également être utilisé pour tester les performances de n’importe quelle application Web.

Composants de SELENIUM GRID

1.Disdistributeur

Il est susceptible d’enregistrer et de suivre tous les nœuds et leurs capacités. Il est utilisé pour interroger la file d’attente de nouvelle session, puis traiter les nouvelles demandes de session en attente

2. Carte des séances

Il est utilisé pour maintenir un mappage entre l’ID de session et l’adresse du nœud sur lequel la session est en cours d’exécution.

3. Routeur

Il agit comme point d’entrée pour la Grille. C’est une partie intégrante de la Grille qui peut être exposé au Web au sens large. Il peut recevoir toutes les demandes externes et les envoyer au bon composant, sans surcharger aucun composant qui n’est pas nécessaire dans le processus.

4. Moyeu

Le hub est le point central où les tests sont chargés. Il n’y a qu’un seul hub dans une grille. Il ne peut être lancé que sur une seule machine.

5. Nœuds

Les instances Selenium sont utilisées pour exécuter les tests chargés dans le hub. Il peut y avoir plusieurs nœuds dans une grille. Les nœuds peuvent être lancés sur plusieurs machines avec plusieurs plates-formes et navigateurs.

6. File d’attente des sessions

La file d’attente des nouvelles sessions respecte l’ordre FIFO pour toutes les nouvelles sessions demandées. Il se compose de paramètres configurables afin de configurer l’intervalle de relance de la demande. et demander un délai d’attente.

7. Bus événementiel

Le bus d’événements fonctionne comme un chemin de communication entre le distributeur, les nœuds, la carte de session et la nouvelle file d’attente de session. La grille effectue la plupart de sa communication interne en évitant les appels et les messages HTTP coûteux.

Grille de sélénium 3 contre Grille de sélénium 4

Différents types de grille

Auparavant, dans Selenium Grid version 3, seuls le Hub et le(s) nœud(s) étaient utilisés. Selenium 4 a quelques nouvelles fonctionnalités mises à jour et avancées, y compris deux autres types de grille. Ci-dessous sont mentionnés les trois types de grille pris en charge dans Selenium 4 :

1. Mode autonome

En mode autonome, le serveur Selenium exécute tout en cours. Standalone est une union de tous les composants de Selenium Grid. Si nous voulons exécuter Hub et Node sur la même machine, nous pouvons utiliser ce mode. Il est invoqué en exécutant la commande mentionnée ci-dessous sur le terminal ->

java -jar selenium-server-4.4.0.jar standalone

La Grille analyse automatiquement les WebDrivers pour Chrome et Firefox qui sont présents sur le système.

Le serveur écoute sur http://localhost:4444/ qui est la même adresse utilisée dans la configuration du Remote WebDriver. Le Chrome WebDriver n’est enregistré qu’une fois le code de test exécuté.

2. Grille de hub et de nœud

Il s’agit de la technique traditionnelle d’utilisation de l’automatisation des tests Grid for Selenium qui se compose de deux composants principaux – Hub et Nodes

Hub est la fusion des composants suivants :

    • Routeur
    • Distributeur
    • Autobus d’événement
    • Nouvelle file d’attente de session
    • Carte des séances
  • Démarrage du Hub dans la machine en utilisant :
java -jar selenium-server-4.0.0.jar hub 
  • Un nœud ayant la même machine
    java -jar selenium-server-4.4.0.jar node
  • Un nœud ayant une machine différente
    java -jar selenium-server-4.4.0.jar node --detect-drivers true --publish-events tcp://{hubIP}:4442 --subscribe-events tcp://{hubIP}:4443
  • hubIP – Affiché dans les journaux cmd lors de l’enregistrement du hub

3. Entièrement distribué

Il peut fonctionner de manière entièrement distribuée, chaque pièce exécutant sa procédure. Dans cette approche, nous devons démarrer tous les composants individuellement comme le routeur, le distributeur, etc. Il est utilisé lorsque nous avons une grille de plus grande taille à configurer.

  • Carte des séances
    • Mappe les identifiants de session pour les sessions de nœud en cours d’exécution
    • Lancez la carte de session à l’aide de la commande mentionnée ci-dessous :

java -jar selenium-server-4.4.0.jar sessions
    • Il mappe les ID de session sur le nœud sur lequel la session est actuellement en cours d’exécution
  • Autobus d’événement
  • File d’attente des sessions
  • Distributeur
  • Routeur
  • Nœud
    • Nœud de démarrage sur la même machine :
      java -jar selenium-server-4.4.0.jar node
    • Nœud de démarrage sur une autre machine :
      java -jar selenium-server-4.4.0.jar node --detect-drivers true --publish-events tcp://192.168.0.112:4442 --subscribe-events tcp://192.168.0.112:4443


Avantages de la grille de sélénium

  1. Open Browser : Selenium est un framework d’automatisation open source et facilement accessible sans frais initiaux. Ainsi, les utilisateurs peuvent économiser beaucoup d’argent ici et les utiliser pour d’autres bonnes raisons.
  2. Prend en charge plusieurs navigateurs : Firefox, Chrome, IE, etc.
  3. Prend en charge plusieurs architectures et systèmes d’exploitation : Windows, Linux, UNIX, Mac OS, etc.
  4. Augmente le temps d’exécution des tests : il augmente le temps d’exécution de la suite de tests car il peut exécuter plusieurs tests en parallèle. Par exemple, si nous avons 5 nœuds et que nous voulons exécuter une suite de tests de 60 tests, cela prendra 6 fois moins de temps qu’une seule machine qui exécute la même suite de tests sans Selenium Grid. Lorsqu’un nœud est inactif, il récupère de lui-même le scénario de test en attente dans la file d’attente d’exécution.
  5. Exécution basée sur le cloud : fiabilité, disponibilité, coût de maintenance logicielle et économie de matériel.
  6. Prise en charge du framework et des langages : il contient tous les langages cruciaux tels que Java, C #, Python, JavaScript, Perl, Ruby et les langages de programmation pour l’automatisation des tests logiciels.


Inconvénients de la grille de sélénium

  1. Coût : coût supplémentaire pour le projet car il nécessite des machines supplémentaires en tant que nœuds.
  2. Évolutivité médiocre : il a une évolutivité relativement faible par rapport à de nombreuses applications actuelles. Il est insuffisant d’augmenter ou de diminuer la demande.
  3. Reconfiguration : Elle est statique. Chaque serveur est personnalisé au préalable avec un sous-ensemble des instances de navigateur nécessaires disponibles. Si vous voulez différer cela, vous devez le reconfigurer.
  4. Besoin d’ingénieurs qualifiés : Selenium Grid a besoin d’ingénieurs qualifiés pour créer et maintenir les choses et l’approbation informatique.


Sommaire

Enfin, nous pouvons dire que cela augmentera la stratégie marketing des grandes entreprises en croissance dans un avenir proche. Il a une large portée en ce qui concerne les normes croissantes de l’industrie. Il aide au déploiement de code non défectueux. Une grille contient un seul concentrateur et un ou plusieurs nœuds. Les deux peuvent être utilisés à l’aide d’un exécutable selenium-server.jar. Le hub reçoit un test qui doit être exécuté avec des informations détaillées sur le navigateur (Firefox, chrome) et la plate-forme (c’est-à-dire Windows, Linux/Unix, etc.) où le test doit être exécuté. Étant donné que le concentrateur connaît chaque nœud enregistré et ses configurations, il récupère tout nœud disponible contenant une combinaison navigateur-plateforme déjà demandée.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link