Fermer

novembre 23, 2021

Utilisation d'agents hébergés par Microsoft pour l'exécution de tests automatisés


L'exécution de tests automatisés sur des agents hébergés par Microsoft dans Azure Pipelines vous aide à éliminer les retards de test et à accélérer la livraison des logiciels.

La vitesse est la plus grande promesse de l'automatisation des tests. Pour de nombreuses équipes, en particulier celles qui pratiquent déjà des tests continus, la clé pour accélérer leurs cycles de test est de réduire le temps d'exécution des tests.

Dans ce guide étape par étape, je vais montrer comment configurer des pipelines Azure pour l'exécution. vos tests automatisés sur les agents hébergés par Microsoft.

Que sont les agents hébergés par Microsoft ?

Les agents hébergés par Microsoft (MHA) sont des machines virtuelles (VM) créées à partir d'images prises en charge par Microsoft dans Azure DevOps. Il existe plusieurs images prédéfinies, équipées des dernières versions des navigateurs Chrome et Edge, de Visual Studio et d'autres outils, et de l'agent réel qui se connecte automatiquement au pool d'agents dans le projet Azure. Chaque machine virtuelle est créée lorsqu'une tâche est démarrée et est supprimée une fois l'exécution du pipeline terminée.

Les machines virtuelles des agents hébergés par Microsoft sont configurées pour s'exécuter avec un utilisateur administrateur par défaut. Un grand avantage est que ces modèles reçoivent des mises à jour régulières par l'équipe Azure DevOps (une fois par semaine), vous n'avez donc pas à vous soucier d'avoir la dernière version du navigateur par exemple.

Un aspect clé est qu'un agent hébergé par Microsoft ' la machine n'a pas d'interface Web ou de bureau et ne permet pas une connexion à distance à l'aide de RDP (Remote Desktop Protocol). Ainsi, à des fins de test d'automatisation, qui est le sujet de ce guide, Microsoft recommande les agents hébergés par Microsoft pour les tests sans tête et les agents auto-hébergés pour les tests d'interface utilisateur « directs ». Les tests sans tête dans Test Studio vous permettent également d'accélérer l'exécution des tests jusqu'à trois fois, ce qui est un aspect clé de l'intégration des tests dans votre pipeline de livraison.

Avantages de l'exécution de votre pipeline sur des agents hébergés par Microsoft

L'un des principaux avantages de l'utilisation d'agents hébergés par Microsoft est que cette technologie est prise en charge par Microsoft, de sorte que la maintenance et les mises à niveau des outils sont prêtes à l'emploi. En plus de cela, vous pouvez déployer un logiciel personnalisé pendant l'exécution du pipeline, tel que Test Studio Test Runner, l'installer sur la machine virtuelle et le configurer pour exécuter des tests.

Vous pouvez obtenir des avantages en termes de performances liés à l'exécution plus rapide des builds. , car l'utilisation de machines virtuelles hébergées par Microsoft vous permet d'utiliser leurs ressources afin de ne pas imposer de fardeau sur les vôtres, sans parler de la capacité que vous obtenez pour configurer des machines virtuelles prêtes à l'emploi et plus rapides à déployer.[19659003] S'appuyer sur le même environnement dans l'état attendu sans configuration supplémentaire est une autre raison d'exécuter votre pipeline sur des agents hébergés par Microsoft. Les tests automatisés peuvent également bénéficier de tous les avantages ci-dessus : l'exécution de vos tests automatisés sur MHA vous permet de faire évoluer votre configuration de test plus facilement, plus rapidement et de manière plus fiable. L'exécution de Test Studio tests headless sur des agents hébergés par Microsoft est réalisée en suivant un processus qui implique la configuration et l'installation des prérequis nécessaires aux tests, l'exécution des tests et la collecte de commentaires via les résultats des tests.

Test Studio Runtime Setup

Pour pouvoir exécuter vos tests sur une machine virtuelle MHA, vous devez installer Test Studio Test Runner sur la VM une fois celle-ci déployée et en cours d'exécution. Pour ce faire, la méthode recommandée consiste à définir le programme d'installation .msi de Test Studio Run-Time en tant qu'artefact dans le projet Azure DevOps. Cela vous permet de déployer et d'installer le .msi dans le MHA dès sa création.

Vous pouvez utiliser la fonctionnalité Azure de publier et télécharger des packages universels pour ajouter le programme d'installation *.msi dans le le flux du projet en tant qu'artefact et le rendre disponible pour la tâche de téléchargement du pipeline. Pour vous connecter à un flux de projet, vous devez installer la dernière CLI Azure. Une fois connecté, vous pouvez utiliser les commandes publish pour télécharger Test Studio Test Runner.

Test Execution on Microsoft-. agents hébergés

Configuration Azure Pipeline pour Test Studio Tests

Maintenant que Test Studio Run-Time est disponible dans le projet, il est temps de configurer Azure Pipeline, qui exécutera les tests automatisés sur le MHA. Étant donné que nous allons effectuer des tests sans tête ici, nous devons utiliser Headless Chrome comme navigateur d'exécution. agents hébergés. Assurez-vous que la liste de tests que vous allez utiliser est configurée pour exécuter des tests uniquement dans Headless Chrome.

  1. Commencez par créer un pipeline de forme libre. Assurez-vous que vous avez votre projet Test Studio avec des tests dans le contrôle de source et ajoutez une tâche pour obtenir la source sur la machine virtuelle. J'utilise le référentiel GitHub pour cette démo.

    Ajoutez une tâche pour obtenir la source sur la machine virtuelle

  2. Ajoutez une tâche pour télécharger l'artefact d'installation Run-Time sur le MHA. La tâche à utiliser est « Télécharger les packages universels ». Notez qu'il est important de définir correctement les noms de flux et d'artefact tels qu'ils ont été utilisés lors de la publication du package.

    Exécution de tests sur des agents hébergés par Microsoft

  3. La prochaine tâche du pipeline consiste à lancer l'installation de Test Studio Durée. Sur la base des détails de la tâche précédente « Télécharger le package », le programme d'installation est téléchargé sur le lecteur C : sur la machine MHA. Vous pouvez utiliser une tâche de ligne de commande et répertorier une commande msiexec pour une installation silencieuse du fichier *.msi – il s'agit de l'« installation passive » dans ce cas. Un exemple de commande est répertorié dans la capture d'écran.

    Exécution de tests sur des agents hébergés par Microsoft - msiexec.exe /ic:TestStudio_Runtime_2021_3_1103_1.msi /passive /le c:errorlog.txt

  4. Une fois l'installation terminée, le la tâche suivante peut lancer l'exécution du test. Vous pouvez utiliser les fonctionnalités du programme d'exécution CLI de Test Studio pour déclencher l'exécution de la liste de tests. Pour cela, vous pouvez créer une nouvelle tâche de ligne de commande et ajouter la commande appropriée. Les options que j'ai choisies définissent un nom personnalisé pour le fichier de résultats de Test Studio et génèrent un fichier de résultats supplémentaire au format junit. aspects lors de la définition de cette tâche. La première consiste à éviter d'utiliser des chemins de fichiers codés en dur, car il n'y a aucune garantie que dans les futures versions des modèles MHA, les chemins seront les mêmes. Au lieu de cela, vous pouvez vous fier aux variables prédéfinies Azure, telles que $(Build.Repository.LocalPath), qui pointera toujours vers le dossier avec les sources du pipeline.

    Le deuxième paramètre clé de cette tâche consiste à définir le " "Continuer en cas d'erreur" pour cela – de cette façon, même si l'exécution de la liste de test échoue, le pipeline continuera à exécuter ses tâches et procédera à la publication des résultats du test quels que soient les résultats de l'exécution du test.

  5. Lorsque la liste de test s'exécute. se termine, vous pouvez envoyer les fichiers de résultats de Test Studio en tant qu'artefact dans le pipeline. De cette façon, vous pouvez les consulter à tout moment après l'exécution du pipeline. Créez une tâche pour « Publier l'artefact du pipeline » et incluez les informations nécessaires pour obtenir le fichier *.aiiresult généré.

    Envoyez les fichiers de résultats de Test Studio en tant qu'artefact dans le pipeline

  6. En outre, vous pouvez renseigner les résultats au format junit à partir de l'exécution de la liste de tests jusqu'au résumé de la construction du pipeline. Utilisez la tâche "Publier les résultats du test".

    Remplissez les résultats junit dans le résumé de la construction du pipeline

Avec cela, le pipeline est défini et vous pouvez l'exécuter pour déclencher l'exécution de la liste de test en mode Headless Chrome. Une fois la génération terminée, le résultat global du pipeline apparaît dans le résumé de génération. Les résultats des tests junit apparaissent sous Plans/Exécutions de tests, et les résultats de Test Studio sont publiés sous forme d'artefacts de pipeline.

Résumé

L'exécution de tests automatisés sur des agents hébergés par Microsoft est un autre moyen efficace et fiable d'éliminer les retards et d'accélérer tests dans le cadre de votre processus de livraison. Surtout si vous utilisez déjà Azure DevOps pour exécuter des pipelines. Le faire une fois, sur la base du guide étape par étape fourni, vous permettra d'intégrer avec succès l'exécution des tests dans votre configuration CI/CD. Ne me croyez pas ? Essayez-le par vous-même.

Essayez maintenant




Source link