docker selenium tutorial
Introduction au didacticiel Docker Selenium:
Comme discuté dans l'un de nos tutoriel précédent Selenium grid aide à exécuter nos cas de test dans différents systèmes d'exploitation et sur différents navigateurs.
Cependant, ce Tutoriel Docker Selenium vous expliquera plus en détail ce qu'est un Docker et comment nous le téléchargeons, l'installons et l'intègrons avec la grille Selenium avec les captures d'écran concernées et cette représentation illustrée vous permettra de comprendre le processus rapidement et facilement.
Ce que vous apprendrez:
- Qu'est-ce que Selenium Grid?
- Un exemple pratique d'utilisation de la grille de sélénium
- Qu'est-ce que Docker?
- Prérequis pour le didacticiel Docker Selenium
- Téléchargement de Docker pour Windows
- Installez les images Docker
- Démarrer Selenium Hub
- Démarrer les nœuds Selenium
- Configuration des tests de sélénium
- Conclusion
- lecture recommandée
Qu'est-ce que Selenium Grid?
La grille Selenium permet de maîtriser l'ordinateur (hub) pour distribuer des cas de test parmi les machines esclaves (nœuds).
Lorsque nous implémentons tous les cas de test dans une machine à un moment donné, il peut y avoir des limitations, et parfois une seule machine ne sera pas suffisante pour exécuter tous les cas de test et à ce moment-là, la grille Selenium entre dans le rôle.
Un exemple pratique d'utilisation de la grille de sélénium
Il y a 2-3 ans, la Chine a interdit les produits Google dans le pays. À cette époque, d'autres entreprises qui développaient des systèmes Web pour la Chine devaient tester leur système Web avec différents navigateurs à l'exception des produits Google (Google Chrome) tels que Internet Explorer, Firefox, Opera, etc.
Donc, à cette époque, la grille Selenium était très utile pour ces entreprises, car elles utilisaient la grille Selenium pour exécuter leurs cas de test dans différents navigateurs à l'exception de Google Chrome.
Qu'est-ce que Docker?
En termes simples, Docker peut être qualifié de conteneur. Les développeurs ou les utilisateurs de Docker peuvent placer des éléments tels que des bases de données, des bibliothèques, des dépendances dans ce conteneur, puis utiliser ces bases de données, dépendances et bibliothèques pour créer, déployer et exécuter des applications.
En utilisant des conteneurs Docker, vous pouvez configurer et emballer une application logicielle avec tout le contenu nécessaire à la création de cette application, tels que des bases de données, des bibliothèques et d'autres dépendances, et enfin, vous pouvez les expédier tous en un seul package.
Habituellement, lors de la configuration de la grille Selenium, nous devons héberger plusieurs machines virtuelles en tant que nœuds et nous devons connecter chaque nœud au hub. De plus, lorsque nous configurons une grille normale, nous devons télécharger le fichier jar du serveur Selenium et exécuter ce fichier jar sur chaque ordinateur sur lequel nous allons configurer la grille Selenium.
C'est une tâche coûteuse et parfois longue pour les testeurs. Cependant, Docker nous aide à résoudre des problèmes liés aux coûts et chronophages.
Docker a été inventé par Solomon Hykey et a été lancé dans l'industrie du logiciel en mars 2013 en tant qu'outil open source. De nos jours, les développeurs et les ingénieurs système utilisent Docker pour plusieurs raisons.
Dans ce tutoriel, nous allons utiliser Docker pour les tests logiciels et l'automatisation logicielle.
Prérequis pour le didacticiel Docker Selenium
Tout d'abord, nous devons configurer un environnement pour exécuter le script Selenium.
Voici quelques éléments à vérifier:
- Si votre machine est constituée de JDK 1.7 ou version ultérieure
- Les navigateurs Chrome et Firefox sont-ils installés sur votre ordinateur local?
- Cas de test basés sur Selenium WebDriver et TestNG.
- Fichier Testng.xml configuré pour exécuter des cas de test en tant que tests parallèles.
Téléchargement de Docker pour Windows
La prochaine chose que nous devons faire est d'installer la boîte à outils Docker. Pour exécuter les commandes Docker, nous avons besoin du terminal de démarrage rapide Docker qui viendra avec la boîte à outils Docker. Par conséquent, nous devons installer la boîte à outils Docker.
Nous pouvons télécharger la boîte à outils Docker à partir de n'importe quel site Web, mais je vous recommande vivement de télécharger la boîte à outils Docker à partir de leur site officiel: Docker .
Lors de l'installation de la boîte à outils Docker, quelques cases à cocher apparaîtront, et pour terminer l'installation, vous devez cocher toutes ces cases et installer la boîte à outils Docker. Si vous l'avez installé avec succès, vous obtiendrez les trois icônes de boîte à outils Docker suivantes.
Après avoir installé la boîte à outils Docker, double-cliquez et ouvrez le terminal de démarrage rapide Docker. Docker configurera votre machine par défaut avec l'adresse IP: 192.168.99.100 et il faudra un certain temps pour configurer votre machine locale pour la première fois. Vous devez donc attendre que la fenêtre suivante apparaisse.
Docker est configuré avec succès!
Installez les images Docker
Pendant que nous configurons la grille Selenium (sans Docker), nous devons également configurer le hub Selenium et les nœuds (navigateurs).
Comme une grille normale lorsque nous configurons la grille Selenium avec Docker, nous devons installer le hub et les nœuds du navigateur dans notre conteneur Docker et plus tard, nous pouvons démarrer le hub et les nœuds à partir de ce conteneur Docker.
Par conséquent, la première chose à faire est d'installer les images du hub et des nœuds dans le Docker.
Au départ, nous devons installer cinq images pour exécuter notre test à l'aide de Docker.
- Image du hub sélénium
- Image du nœud Selenium-Firefox
- Image noeud-chrome sélénium
- Image Selenium node-firefox-debug
- Image Selenium node-chrome-debug
La question suivante sera de savoir comment trouver ces images. Pour trouver ces images, nous passons à la Docker Hub et recherchez ces images par nom et vous pouvez également taper le nom de l'image dans la barre de recherche comme indiqué ci-dessous.
Une fois que vous avez tapé le nom et appuyé sur Entrée, vous pourrez voir la fenêtre ci-dessous.
Cette fenêtre affiche tous les référentiels d'images dont nous disposons pour le hub Selenium. Ici, vous devez cliquer sur l'image qui a le plus grand nombre de tirages et cela vous aidera à exécuter notre code sans aucune erreur. Une fois que vous cliquez sur cette image, vous verrez une autre fenêtre comme celle ci-dessous.
(Noter:Cliquez sur n'importe quelle image pour une vue agrandie)
Cette fenêtre vous fournira toutes les informations sur l'image (image du hub Selenium) et vous donnera toutes les commandes pertinentes pour cette image (image hub Selenium). Ici, la commande d'extraction Docker est la commande pour installer cette image Docker dans votre conteneur.
Par conséquent, dans un premier temps, nous devons installer l'image du hub Selenium. Pour ce faire, vous devez copier la commande d'extraction Docker et la coller dans le terminal de démarrage rapide Docker comme indiqué ci-dessous.
Après avoir entré chaque commande dans le terminal de démarrage rapide Docker, vous devez attendre un certain temps pour permettre aux images de se télécharger dans votre conteneur Docker et le temps d'attente dépend entièrement de la vitesse de votre connexion réseau. Parfois, certaines images échouent lors de l'installation ou du téléchargement et si cela se produit, la meilleure chose à faire est de réinstaller cette image jusqu'à ce que le terminal s'affiche comme l'installation terminée.
Un autre facteur important est qu'il ne faut pas taper la deuxième commande avant de terminer le téléchargement de la première commande. Cela échouera à la fois le téléchargement et l'installation.
De même, vous pouvez rechercher et installer les cinq images mentionnées ci-dessus dans votre conteneur Docker.
Le tableau ci-dessous montre toutes les commandes d'extraction que vous devez saisir dans le terminal Quickstart et installer.
Image | Commander |
---|---|
Hub de sélénium | docker pull sélénium / moyeu |
Nœud Selenium Firefox | docker pull sélénium / node-firefox |
Nœud de chrome sélénium | docker pull sélénium / nœud-chrome |
Débogage de Selenium Firefox | docker pull sélénium / node-firefox-debug |
Débogage du chrome sélénium | docker pull sélénium / node-chrome-debug |
Après avoir téléchargé toutes les images dans votre conteneur, vous pouvez le vérifier à l'aide de la commande ci-dessous.
Images Docker
Maintenant, toutes les images sont téléchargées avec succès. Par conséquent, nous pouvons exécuter ces images une par une.
Démarrer Selenium Hub
Dans une grille Selenium normale (sans Docker), la première étape consiste à démarrer le hub Selenium. Pour démarrer le concentrateur Selenium à partir du conteneur Docker, nous avons une commande spéciale qui est
docker run -d -p 4444: 4444 –nom sélénium-hub sélénium / hub
Une fois que vous avez tapé et entré cette commande dans votre terminal, le hub Selenium sera ouvert à partir du conteneur Docker. Vous pouvez vérifier si Selenium Hub a démarré ou non en vérifiant le lien suivant dans votre navigateur: http://192.168.99.100:4444/grid/console
Ici, dans cette image 192.168.99.100 est votre adresse IP
Démarrer les nœuds Selenium
Le hub Selenium est démarré et ensuite, nous devons démarrer les nœuds à partir du conteneur Docker, nous devons démarrer le nœud chrome et le nœud Firefox. Nous avons installé les deux images de nœuds dans notre conteneur Docker lors du processus d'installation.
Maintenant, commençons par les deux nœuds un par un. N'oubliez pas non plus que vous pouvez exécuter autant de nœuds que vous le souhaitez. Ici, j'ai utilisé uniquement deux nœuds (nœud chrome et nœud Firefox).
Commande pour exécuter le nœud chrome à partir de Docker: docker run -d –link sélénium-hub: hub sélénium / nœud-chrome
Commande pour exécuter le nœud Firefox à partir de Docker: docker run -d –link sélénium-hub: hub sélénium / node-firefox
java interview questions et réponses pour les débutants techniques
Après avoir exécuté le nœud Chrome et le nœud Firefox, nous devons également exécuter le nœud de débogage Chrome et le nœud de débogage Firefox. Nous exécutons et installons le nœud de débogage chrome et le nœud de débogage Firefox à des fins de démonstration et à la fin de ce didacticiel, je vais exécuter un cas de test dans les deux nœuds de débogage en utilisant la visionneuse VNC (Virtual Network Computing).
Pour la visionneuse VNC, nous avons besoin à la fois du nœud de débogage de Firefox et de Chrome. La visionneuse VNC (Virtual Network Computing) nous aide à visualiser différentes actions du navigateur en même temps sur un ordinateur.
Commande pour exécuter le nœud de débogage Chrome à partir de Docker: docker run -d –P –link sélénium-hub: hub sélénium / node-chrome-debug
Commande pour exécuter le nœud de débogage Firefox à partir de Docker: docker run -d –P –link sélénium-hub: hub sélénium / node-firefox-debug
Parfois, les deux commandes peuvent être ignorées par le terminal de démarrage rapide Docker. Si votre terminal de démarrage rapide Docker ignore ces deux commandes, vous pouvez également utiliser les commandes ci-dessous pour démarrer le mode de débogage des navigateurs Chrome et Firefox.
Alternative 01
docker run –d –P –link sélénium-hub: hub sélénium / node-chrome-debug
docker run –d –P –link sélénium-hub: hub sélénium / node-firefox-debug
Alternative 02
docker run –d –link sélénium-hub: hub sélénium / node-chrome-debug
docker run –d –link sélénium-hub: hub sélénium / node-firefox-debug
Après avoir exécuté à la fois les nœuds et les nœuds de débogage des nœuds Chrome et Firefox et Chrome et Firefox, vous pouvez actualiser votre navigateur et vous trouverez Firefox et le nœud chrome à partir de votre conteneur.
Si une erreur se produit pendant l'installation ou l'exécution du processus d'images, la meilleure chose à faire est de réinstaller et d'exécuter à nouveau cette image particulière à partir de Docker.
Nous avons maintenant terminé toutes les étapes du côté du conteneur Docker. Ensuite, nous devons prêter attention au script Selenium et à la visionneuse VNC pour faire notre démonstration.
Tout d'abord, nous devons identifier les numéros de port des nœuds de débogage Chrome et Firefox en cours d'exécution. Parce que nous avons besoin de ces numéros de port pour la visionneuse VNC.
Pour identifier les numéros de port de chrome et du nœud Firefox, vous pouvez taper la commande ci-dessous dans votre terminal de démarrage rapide et vous pourrez voir toutes les images Docker et les ports en cours d'exécution de chaque image sous la colonne PORTS.
docker ps - a
Nœuds | Numéros de port en cours d'exécution |
---|---|
Nœud de débogage Chrome | 32771 |
Nœud de débogage Firefox | 32772 |
Maintenant, nous connaissons les numéros de port des nœuds de débogage Chrome et Firefox en cours d'exécution afin que nous puissions démarrer les deux navigateurs à l'aide de la visionneuse VNC.
Pour cela, nous devons suivre les étapes ci-dessous:
1) Téléchargez la visionneuse VNC depuis leur site officiel: Télécharger VNC
2) Exécuter
3) Tapez l'URL du hub et le numéro de port de chaque mode de débogage comme indiqué ci-dessous et cliquez sur le bouton de connexion
URL du HUB : NUMÉRO DE PORT
- Pour le navigateur Chrome 192.168.99.100 : 32771
4) Après avoir cliqué sur le bouton de connexion, le visualiseur VNC vous demandera un mot de passe. Par défaut, le mot de passe de la visionneuse VNC est secret , saisissez le mot de passe comme secret et cliquez sur OK et vous pourrez voir une fenêtre pour le navigateur Chrome.
5) De même, vous devez faire de même pour le navigateur Firefox en utilisant une visionneuse VNC. Ouvrez l'application VNC sur votre ordinateur local et utilisez le numéro de port d'exécution Firefox avec l'URL du concentrateur et cliquez sur le bouton de connexion.
- Pour le navigateur Firefox 192.168.99.100 : 32772
Encore une fois, vous verrez une autre fenêtre s'ouvrir pour le navigateur Firefox.
Maintenant, les deux navigateurs sont affichés dans la visionneuse VNC. Notre prochaine tâche est d'écrire le script sélénium et de l'exécuter.
Configuration des tests de sélénium
Comme d'habitude, nous pouvons créer un script de test qui est pertinent pour la grille de sélénium, les étapes pour créer un script de grille de sélénium sont décrites dans notre didacticiel sur la grille de sélénium .
Voici le script que j'ai créé, il s'agit d'un script de sélénium normal et j'ai créé deux tests et j'ai défini la capacité souhaitée de ces tests sur deux navigateurs différents que nous avons créés.
De plus, j'ai changé mon fichier XML pour exécuter le test de manière parallèle.
Nous avons terminé toutes les étapes et vous pouvez exécuter votre test maintenant. Après avoir exécuté votre test, vous pourrez voir le test s'exécuter via deux navigateurs différents que nous avons créés à l'aide de Docker. La visionneuse VNC montrera comment un navigateur navigue vers chaque site Web en même temps.
Conclusion
Lorsque vous avez un grand nombre de cas de test, vous pouvez utiliser la grille Selenium pour accélérer vos exécutions de cas de test. Parfois, nous devons exécuter et tester vos cas de test sous différents systèmes d'exploitation et parfois vous devez également vérifier vos cas de test sous différents navigateurs. Nous utilisons la grille Selenium dans de telles occasions.
Parfois, la configuration de la grille Selenium peut être un processus long et coûteux, car nous avons besoin de plusieurs machines. Dans de tels cas, la meilleure option sera d'utiliser la grille Selenium avec Docker.
lecture recommandée
- Tutoriel Selenium Grid: configuration et exemple de test de navigateur croisé
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Tutoriels Eclipse détaillés pour les débutants
- Script Selenium efficace et scénarios de dépannage - Tutoriel Selenium # 27
- Débogage de scripts Selenium avec des journaux (Tutoriel Log4j) - Tutoriel Selenium # 26
- 30+ meilleurs tutoriels sur Selenium: Apprenez le sélénium avec de vrais exemples
- Introduction à JUnit Framework et à son utilisation dans Selenium Script - Tutoriel Selenium # 11