Catégories

Docker

Docker est une plateforme open source qui permet de créer, de déployer et d'exécuter des applications dans des environnements isolés appelés"conteneurs".

Les conteneurs sont des unités logicielles légères et autonomes qui encapsulent tous les éléments nécessaires à l'exécution d'une application, tels que le code, les bibliothèques, les dépendances et les configurations.

Les tests conçus sur Agilitest peuvent être exécutés avec Docker et ses conteneurs composés d'images. Créez et maintenir vos tests avec Agilitest puis exécutez-les avec Docker pour bénéficier d'exécutions en arrière-plan sans interface graphique qui donneront lieu à des rapports détaillés.

Qu'est-ce que Docker ?

Docker utilise des images pour créer des conteneurs. Un conteneur Docker est une instance en cours d'exécution d'une image Docker. Les images sont créées à partir de fichiers appelés Dockerfiles, qui décrivent les étapes de construction de l'image.

Le conteneur fournit un environnement isolé pour exécuter une application de manière cohérente et reproductible, indépendamment de l'environnement hôte. Chaque conteneur est isolé des autres et utilise efficacement les ressources du système.

Contrairement à une machine virtuelle, qui nécessite un système d'exploitation complet, chaque conteneur Docker partage le même noyau d'exploitation avec l'hôte, ce qui permet une utilisation plus efficace des ressources matérielles.

Pour en savoir plus sur l'utilisation de Docker, vous pouvez consulter la documentation de Docker : https://docs.docker.com/

Docker et ATS

ActionTestScript est un langage de test structuré et lisible utilisé pour créer des campagnes de tests automatisés fiables et performants pour les interfaces graphiques.

Les scripts de test sont définis par une séquence d'actions exécutées sur une application web ou de bureau. Les scripts écrits à l'adresse ATS sont convertis en classes Java, puis exécutés à l'aide des cadres Selenium et TestNG.

Avec ATS, les concepteurs de tests se concentrent uniquement sur les actions fonctionnelles à réaliser et n'ont pas à se soucier des considérations techniques.

En combinant Docker et ActionTestScript, vous avez désormais la possibilité d'exécuter des suites de tests dans des environnements prédéfinis, sous Linux ou Windows. Ces environnements sont équipés des dernières versions de navigateurs et de pilotes web.

Pour utiliser les images Docker, copiez la ligne de commande DockerPull de l'image,

Commande Docker pull

Ensuite, exécutez la commande dans votre script créé dans Agilitest via votre Terminal sur votre ordinateur.

💡 Conseil

Pour mettre à jour votre environnement, il suffit d'effectuer une extraction Docker avant chaque lancement de test pour obtenir la dernière version des images Docker en fonction des mises à jour du navigateur, des pilotes web, etc.

Cette combinaison offre une grande flexibilité et permet de maintenir un haut niveau de contrôle sur les conditions d'essai, garantissant ainsi des résultats précis et fiables.

Aucune configuration spécifique n'est requise sur la machine qui exécute les tests, à l'exception de l'installation de l'application Docker.

Pour installer Docker, cliquez sur le lien de téléchargement directement sur le site de Docker : https://www.docker.com/

Utiliser une image Docker

Pour découvrir les images Docker disponibles d'ActionTestScriptvous pouvez consulter la page web Docker Hup : https://hub.docker.com.

Entrer "actiontestscript"dans la barre de recherche pour afficher toutes les images correspondantes.

DockerHUB

Cette plateforme vous permet de consulter les détails de chaque image, tels que sa version, ses métadonnées et son mode d'emploi.

Détails de Docker Hub

Docker Hub fait de l'utilisation d'images Docker prêtes à l'emploi, comme celles d'ActionTestScript, un jeu d'enfant.

🔸Warning

La première fois que vous téléchargez le Dockerhub, il y a environ 3 Go, mais à chaque mise à jour, il ne télécharge que des portions d'images puisque la base a déjà été téléchargée. Les images sont découpées en "tranches" avec un GUID. Il s'agit généralement de fichiers de 150 à 200 Mo.

ATS images

Avec Docker, vous disposez de référentiels d'images basés sur les systèmes d'exploitation (OS) Linux et Windows.

Les images Linux peuvent être exécutées :

  • Hôte Windows via Hyper-V ou via Windows Subsystem for Linux (WSL)
  • Linux fenêtres
  • MacOs

Quant aux images Windows, elles ne peuvent être exécutées que sur un hôte Windows utilisant Hyper-V et uniquement avec une version "pro" de Windows (10 ou 11).

Images basées sur le système d'exploitation Linux

linux: Prêt à être utilisé pour exécuter des tests avec ActionTestScript, soit avec AtsLauncher, soit avec Maven.

linux-base: contient le Jdk Java, Maven et des outils tels que Git, Zip, Unzip et Bzip2.

linux-browsers: Contient les derniers navigateurs web. Les navigateurs inclus sont : Brave, Firefox, Google Chrome, Microsoft Edge et Opera.

Tests avec Docker

Dans les images Docker Linux et Windows, seuls les tests sur les navigateurs web et tous les tests d'API peuvent être exécutés. Il est également assez facile d'exécuter des tests avec Jenkins ou d'autres sur des serveurs non graphiques avec seulement quelques lignes de commande.

Conditions préalables :

  1. Sur un hôte Windows

Une fois installé, vous devez exécuter Docker Desktop sur l'hôte pour utiliser les conteneurs Docker.

        2. Sur un hôte Linux

Consultez la page suivante : https://docs.docker.com/engine/install/ubuntu/

Ensuite, vous devez récupérer l'image Docker :

  • Sur un hôte Windows: Dans une console PowerShell : Docker pull actiontestscript/linux
  • Sur un hôte Linux: Dans une console bash ou un shell : Docker pull actiontestscript/linux
  • Dépôt Git

🔸 Attention

‍Ilest important de noter que les tests impliquant des actions du système ne fonctionneront pas.

Une fois les tests exécutés, vous pouvez générer des rapports contenant des images, comme pour un test normal. Le rapport peut inclure des captures d'écran, même s'il n'y a pratiquement pas d'écran. Tout est stocké en mémoire grâce au navigateur web. Cela signifie que les tests peuvent être exécutés sur des serveurs qui n'ont pas d'interface graphique.

Exécutions Docker avec Agilitest

Quels sont les avantages de lancer une exécution avec Docker, de Agilitest :

  • Parallélisation des exécutions

Plusieurs tests peuvent être exécutés simultanément.

  • Exécutions en arrière-plan

Les tests ne perturbent pas votre système, puisqu'ils s'exécutent en arrière-plan. En général, lorsqu'un test est exécuté directement depuis Agilitest, la machine est monopolisée par son exécution. Ce n'est pas le cas avec une exécution Docker.

  • Affichage des exécutions

Il est déjà possible de copier une ligne de commande Docker depuis le panneau de commande d'exécution. Cette opération s'exécute en mode headless. Cependant, avec une exécution Docker, vous serez en mesure de voir la progression de vos exécutions en cours.

Prérequis: Télécharger et installer Docker Desktop

Vous trouverez un lien de téléchargement dans le menu outils de l'éditeur Agilitest.

Agilitest fournit des images Docker. Elles sont liées à Agilitest et ATS.

Vous ne pourrez pas les générer en tant qu'utilisateur, à partir de l'éditeur.

En haut à droite de l'éditeur se trouve un bouton Docker.

Cliquez dessus pour accéder aux images et aux conteneurs Docker.

Dans ce panneau, vous trouverez des images Docker, ainsi que des conteneurs en cours d'exécution.

Pour faire la différence entre les images et les conteneurs :

Une image = Une exécution qui doit avoir lieu, une prévision.

Un conteneur = une exécution en cours (virtuelle et sauvegardable).

Pour créer un conteneur, cliquez sur "Nouveau conteneur"

Vous pouvez décider d'exécuter un ou plusieurs conteneurs.

Les exécutions de conteneurs sont stockées dans la mémoire de la machine. Si la machine est arrêtée, l'exécution reprendra au démarrage.

Tous les conteneurs ont été activés par Agilitest,

est également disponible sur l'interface de Docker Desktop.

Vous pouvez arrêter un conteneur en cliquant sur le bouton à droite.

En cliquant sur la loupe d'un conteneur, l'exécution s'affiche dans un navigateur avec un système linux en cours d'exécution.

À partir de ce système, vous pouvez exécuter des commandes dans le terminal.

Exécuter un test avec Docker

À partir d'un script, cliquez avec le bouton droit de la souris > Exécuter le script > Exécuter Docker

La même fenêtre de conteneur s'affiche, avec un bouton "Play" supplémentaire.

Cliquez sur pour exécuter le test dans le conteneur choisi.

Vous pouvez exécuter d'autres tests en parallèle sur d'autres conteneurs.

Un rapport s'ouvre lorsque l'exécution des tests est terminée.

Exécuter une liste de lecture avec Docker

Vous pouvez également exécuter une ou plusieurs listes de lecture sur un conteneur.

Dans le menu de gestion des exécutions, sélectionnez une ou plusieurs listes de lecture.

Cliquez ensuite sur le bouton Docker

Enfin, sélectionnez le conteneur dans lequel les listes de lecture sélectionnées seront exécutées.

🔸 Attention

Vous devez répartir les exécutions en fonction des besoins. Plus vous exécutez de conteneurs et de tests, plus vous utilisez de ressources machine.

Vous avez encore besoin d'aide ?
Contacter le support