Présentation de l'architecture de sélénium

Actuellement, Selenium est l'un des outils d'automatisation les plus populaires du marché. C'est un outil très puissant et largement utilisé. L'une des raisons de sa popularité est qu'il est gratuit, c'est-à-dire qu'il s'agit d'une suite de tests open source. Sa popularité n'est pas seulement le résultat de cela, mais bien d'autres raisons. C'est un outil d'automatisation pour les applications Web et prend en charge tous les différents navigateurs comme Internet Explorer, Chrome, Safari, Mozilla Firefox, Opera, etc. Il étend la prise en charge à différentes plates-formes ainsi qu'à divers langages de programmation tels que C #, Java, Perl, PHP, Python, Ruby. Le sélénium est quelque peu similaire à l'outil UFT (HP Quick Test Pro ou QTP). La principale différence est que Selenium est dédié à l'automatisation des applications Web uniquement. Si vous utilisez du sélénium pour les tests, il est connu sous le nom de tests de sélénium.

N'oubliez pas que Selenium est une suite Web UI (interface utilisateur) open source pour les tests d'automatisation. Il possède de nombreux logiciels qui répondent indépendamment aux exigences d'un testeur d'automatisation dans une organisation. L'outil a été développé lors de travaux de réflexion par Jason Huggins en 2004 en tant qu'outil interne. Selenium prend en charge plusieurs plates-formes différentes comme Windows, Linux, Solaris et Macintosh. Il prend également en charge OS (système d'exploitation) pour les applications mobiles telles que Windows Mobile et Android Mobile, iOS. Tous les tests fonctionnels peuvent être automatisés et effectués facilement avec Selenium. Afin de réaliser des tests en continu, il peut également être intégré à d'autres outils de test pour l'automatisation comme Maven, Docker, Jenkins, etc. Comme le sélénium est incapable de générer des rapports de test par lui-même, il doit être intégré à des outils comme JUnit ou TestNG dans afin de gérer les cas de test et de générer des rapports bien descriptifs et configurables selon nos exigences.

Architecture de sélénium

Les quatre principales architectures de Selenium sont répertoriées ci-dessous -

  1. Selenium IDE
  2. Sélénium RC
  3. Sélénium Webdriver
  4. Grille de sélénium

1) Selenium IDE ou Integrated Development Environment peut être implémenté comme une extension de Firefox. Aucune logique de programmation n'est requise pour écrire des scripts de test dans IDE car elle vous permet simplement d'enregistrer les événements se produisant à la suite de vos interactions avec le navigateur ainsi que les fonctionnalités de lecture, d'édition et de débogage des tests. Tous les enregistrements et lectures sont autorisés à s'exécuter dans un environnement réel. Les scripts générés peuvent être modifiés ultérieurement à la main. On pense qu'il fournit un environnement idéal pour créer des scripts de test Selenium quelle que soit votre méthode de test préférée. Il est vrai que vous n'avez besoin d'aucune connaissance en langage de programmation pour utiliser Selenium IDE mais une connaissance de base préalable de JavaScript sera utile lors de l'utilisation de commandes Selenese comme runScript, etc. L'une des limitations de Selenium IDE est qu'étant un plugin Firefox, il ne prend en charge que un navigateur, c'est-à-dire Mozilla Firefox.

2) Selenium Remote Control est un outil de test d'automatisation qui vous permet de créer des scripts de test pour une application Web dans n'importe quel langage de programmation à l'aide de tout navigateur sur lequel JavaScript est activé. Fondamentalement, Selenium RC a deux composants principaux - un serveur et une bibliothèque client.

Le rôle d'un serveur ici est de lancer et de tuer le navigateur, de recevoir et de vérifier les requêtes HTTP effectuées entre le navigateur et l'application en cours de test, d'interpréter et d'exécuter les commandes Selenese passées par le programme de test et également d'agir en tant que proxy HTTP. Les bibliothèques clientes agissent cependant comme une interface entre le serveur Selenium RC et les différents langages de programmation utilisés.

La méthodologie de l'architecture Client-Serveur de RC, avec Selenium RC entre Automation Suite et AUT (Application Under Test), rend l'exécution des scripts plus lente. Ceci est pris en charge par le sélecteur Web Selenium car il communique directement avec l'AUT et utilise la compatibilité naturelle du navigateur avec l'automatisation sans avoir besoin d'aucun serveur.

3) Selenium WebDriver est le composant le plus populaire et le plus important de Selenium. Il s'agit de l'un des outils d'automatisation les plus populaires sur lesquels reposent actuellement plusieurs ingénieurs en automatisation. L'outil est un "outil Open Source" c'est-à-dire qu'il est disponible gratuitement.

WebDriver est une version améliorée de Selenium RC étendant sa prise en charge à différents navigateurs et plates-formes, contrairement à Selenium IDE. L'exécution de scripts de test ne nécessite pas de démarrage d'un serveur Selenium, contrairement au Selenium RC. Selenium Webdriver est essentiellement une API d'outil d'automatisation des tests basée sur le Web qui est facile à comprendre et à utiliser. Il prend également en charge le test de pages Web dynamiques. Selenium Webdriver aide à créer et à maintenir les scripts de test d'une manière très simple car il n'est lié à aucun framework ou outil de test. Cela facilite l'intégration avec tous les outils open source tels que Junit, TestNG, etc. selon nos connaissances, nos exigences et notre utilisation.

4) Selenium Grid est l'un des composants de la suite Selenium qui prend en charge l'exécution de plusieurs scripts de test sur différents navigateurs, systèmes d'exploitation ou machines. Après avoir spécifié le système d'exploitation de votre choix ainsi que le navigateur et la version du navigateur, la grille de sélénium peut être facilement connectée avec la télécommande de sélénium. Ces valeurs ne peuvent être spécifiées qu'en fonction des capacités de la télécommande Selenium utilisée.

Le hub et les nœuds sont ses deux principaux composants. Pour pouvoir utiliser l'outil Grille de sélénium, la toute première étape à effectuer consiste à créer un concentrateur. Après la création d'un concentrateur, plusieurs nœuds différents peuvent être connectés à ce concentrateur. Les scripts de test sont exécutés dans le nœud. La fonction du concentrateur, cependant, est de s'assurer que le test se terminera correctement sur les spécifications fournies telles que les détails de la machine, du système d'exploitation et du navigateur spécifié dans votre test.

Conclusion

Pour conclure, Selenium est essentiellement une suite d'outils à savoir, IDE, une extension Firefox qui permet des fonctionnalités d'enregistrement et de lecture. La fonction d'enregistrement / lecture est limitée et disponible uniquement pour Firefox, donc le deuxième outil est le RC avec Webdriver (troisième outil) comme extension qui fournit des API dans différentes langues et la compatibilité du navigateur. Enfin, la grille est chargée de rendre possible l'exécution parallèle de scripts dans différents navigateurs et machines.

Articles recommandés

Cela a été un guide pour l'architecture de sélénium. Ici, nous discutons de l'introduction et de l'architecture du top 4 du sélénium. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Carrière à Selenium
  2. Cycle de vie des défauts dans les tests de logiciels
  3. Comment installer Selenium
  4. Questions d'entretiens chez Selenium