Aller au contenu

Définir un lien avec serveur d'exécution Squash TF

Transition nécessaire de Squash TF vers Squash Orchestrator

Squash TF n'est plus maintenu.
Afin de laisser le temps à ses utilisateurs de migrer à Squash Orchestrator, Squash TF est encore couramment utilisable pour lancer des tests automatisés depuis Squash TM (la date d'arrêt de ce support n'a pas encore été définie).
Squash TF ne doit donc pas être utilisé pour de nouvelles instance de Squash.

Il est possible depuis Squash TM de lancer l'exécution de tests automatisés sur le serveur d'automatisation Jenkins via Squash TF.

L'objectif du lien Squash TM-Squash TF est de fournir un moyen simple de gérer les tests automatisés de Squash TF depuis Squash TM. Pour ce faire, Squash TM envoie une requête au serveur Squash TF afin de lancer le test, puis Squash TF renvoie les résultats à Squash TM.

Définir l'URL publique de Squash

L'URL publique de Squash doit impérativement être renseignée dans les Paramètres Système de l'espace Administration pour que les résultats d'exécution des tests automatisés exécutés avec Squash TF remontent dans Squash TM.

URL publique de Squash

Créer un utilisateur pour le serveur d'exécution automatisée

Pour exécuter les tests automatisés avec Squash TF, il est impératif de créer un utilisateur appartenant au groupe "Serveur d'automatisation de tests" dans Squash TM.

Ajout d'un serveur d'exécution automatisée

Paramétrer le projet

La configuration d'un projet est accessible depuis l'espace Administration, en cliquant sur le sous-menu Projets. Cliquer sur le projet désiré pour afficher la page de consultation du projet.

Info

Seul un administrateur ou un chef de projet peut configurer un projet.

L'ancre Automatisation Automatisation projet du panneau d'administration permet de configurer l'automatisation du projet.

Il est possible depuis ce bloc de :

  • paramétrer la technologie d'implémentation et la langue des scripts BDD ;
  • activer un workflow d'automatisation (Squash ou Jira) ;
  • gérer le nettoyage des suites automatisées :
    • paramétrer une durée de conservation des suites automatisées ;
    • supprimer les suites automatisées ;
    • supprimer les pièces jointes des exécutions ;
  • associer un serveur de partage de code source ainsi qu'un dépôt (si un workflow d'automatisation est activé) ;
  • associer un serveur d'exécution automatisée et associer des jobs pour les serveurs Squash TF.

Configurer l'automatisation sur un projet

Technologie d'implémentation et langue des scripts

Il est possible pour chaque projet de configurer la technologie d'implémentation des cas de test BDD ainsi que la langue des scripts BDD. Le chef de projet a le choix entre Cucumber et Robot Framework pour la technologie d'implémentation.

Si la technologie Cucumber est sélectionnée, il est possible de choisir parmi les quatre langues suivantes pour le script : anglais, français, espagnol et allemand.
Pour la technologie Robot Framework, l'anglais est la seule langue disponible.

Workflow d'automatisation

L'activation du workflow d'automatisation pour un projet se fait via une liste déroulante.

Par défaut, l'option "Aucun" est sélectionnée.
L'option "Squash avancé" déclenche l'activation du workflow Squash avancé, tandis que "Squash simple" déclenche l'activation du workflow Squash simple.
Lorsque le plugin Workflow Automatisation Jira est activé sur le projet, le workflow d'automatisation est valorisé à "Serveur distant".

L'activation d'un workflow d'automatisation entraîne l'apparition de nouveaux champs dans le bloc Automatisation d'un cas de test.
Dans le cas du workflow Squash avancé, les tests à automatiser sont suivis dans l'espace Automatisation à la fois par les testeurs et par les automaticiens.
Si c'est le workflow Squash simple ou le workflow Jira qui est activé, le suivi des tests à automatiser se fait directement depuis le bloc Automatisation des cas de test.

L'activation d'un workflow d'automatisation entraîne également l'apparition d'une partie Serveur de gestion de code source dans le bloc Automatisation d'un projet.

Nettoyage des suites automatisées

Durée de conservation

La durée de conservation des suites de tests automatisées du projet se fixe en jours. Lors d'un nettoyage (des suites automatisées, ou bien des pièces jointes), tous les éléments inclus dans le périmètre de cette durée de conservation sont conservés tandis que les autres sont supprimés.

Si aucune durée n'est définie, la durée de vie des suites est considérée comme infinie. Par défaut, aucune valeur n'est renseignée.

Suppression des suites automatisées

Il est possible de supprimer toutes les suites automatisées dont la date de création est antérieure à la durée de conservation définie précédemment.

Le clic sur le bouton [Supprimer] ouvre une pop-up avec un avertissement, indiquant notamment que la suppression est définitive ainsi qu'un décompte du nombre de suites automatisées et exécutions concernées par la suppression.

Suppression des suites automatisées

La suppression entraîne la suppression des suites automatisées ainsi que tout ce qu'elles contiennent : exécutions et pièces jointes.

Suppression des pièces jointes

Il est possible de supprimer toutes les pièces jointes associées aux exécutions des suites automatisées dont la date de création est antérieure à la durée de conservation définie précédemment.

Le clic sur le bouton [Nettoyer complètement] ouvre une pop-up avec un avertissement, indiquant notamment que la suppression est définitive, et qu'elle concerne toutes les pièces jointes associées aux exécutions (y compris les rapports d'exécution pour les cas de tests dont le statut n'est pas succès).

Suppression complète des pièces jointes

Il est possible de supprimer les pièces jointes associées aux exécutions ayant un statut succès des suites automatisées dont la date de création est antérieure à la durée de conservation définie précédemment.

Le clic sur le bouton [Nettoyer partiellement] ouvre une pop-up avec un avertissement, indiquant notamment que la suppression est définitive et qu'elle ne concerne que les pièces jointes associées aux exécutions dont le statut est succès.

Suppression partielle des pièces jointes

Déclarer un serveur d'exécution automatisée

Il est nécessaire de déclarer un serveur d'exécution automatisée de type "Jenkins" en suivant la procédure d'ajout d'un serveur d'exécution automatisée pour permettre à Squash TM de se connecter à Jenkins.

Une fois le serveur enregistré, il faut l'associer au projet Squash TM depuis le bloc Automatisation de la page de configuration du projet.

Configuration du serveur d'exécution automatisée sur le projet

Une fois le serveur d'exécution automatisée associé au projet, il faut sélectionner les jobs Jenkins qui seront utilisés pour l'exécution des tests automatisés.

Ajouter un job

Il est possible de modifier un job en cliquant sur le bouton Crayon. Dans le champ Serveur(s) d'exécution possibles (séparés par des points-virgules), il est possible de choisir les serveurs secondaires qui pourront être utilisés pour exécuter les cas de test automatisés. Il faut remplir le champ avec le nom des serveurs séparés par des points virgules (exemple : SecondaryServer1; SecondaryServer2).

Ajouter un serveur de code source (Facultatif)

Squash TM permet de créer des cas de test scriptés (Gherkin et BDD). Ces cas de test peuvent ensuite être transmis pour automatisation aux formats .feature ou .robot dans un dépôt Git hébergé sur un serveur de partage de code source.

La page de gestion des serveurs de partage de code source accessible depuis l'espace Administration permet d'ajouter un serveur de partage de code source et de déclarer les dépôts concernés.

Une fois le dépôt ajouté, il peut être associé au projet contenant les cas de test scriptés à pousser dans le dépôt, via le bloc Automatisation. Une fois le serveur sélectionné, les noms de ses dépôts ainsi que leur branche s'affichent dans une liste déroulante.

Info

Pour un projet configuré avec un serveur Jenkins, si le dépôt du serveur de partage de code source configuré sur le projet est identique à celui configuré dans le job associé au projet Squash TM et que l'option "Peut exécuter BDD" est cochée, l'association de scripts automatisés aux cas de test scriptés (Gherkin ou BDD) se fait de manière automatique.
Seul un job présent dans le tableau Jobs peut être configuré pour exécuter des scripts BDD.

En savoir plus

Pour en savoir plus sur la transmission de cas de test scriptés, consulter la page suivante Transmettre un cas de test scripté sur un SCM.

Configurer Squash TF

Configurer les paramètres de sécurité

Afin que Squash TM puisse envoyer l'ordre à Squash TF d'exécuter un job, un utilisateur avec les droits d'exécution doit avoir été créé sur le serveur Squash TF.

Configurer la sécurité du serveur Squash TF équivaut à configurer la sécurité du serveur Jenkins embarqué. Pour configurer la sécurité standard de Jenkins, il est préférable de choisir la meilleure option en fonction de l'environnement en se référent à la documentation Jenkins.

Configurer le rétro-appel TM

Après que le serveur Squash TF ait exécuté une suite de tests à la demande du serveur Squash TM, Squash TF renvoie des informations sur l'exécution au serveur Squash TM. Cette fonctionnalité fonctionne de la manière suivante :

  • quand Squash TM envoie une requête d'exécution au serveur Squash TF, il fournit à Squash TF son URL de rétro-appel ;
  • Squash TF utilise cette URL de rétro-appel pour récupérer le login/mot de passe à utiliser, et envoie à Squash TM l'évènement d'exécution.

Du côté du serveur Squash TF, l'association de l'URL de rétro-appel et du couple login/mot de passe est fait dans un fichier properties. Le fichier est modifiable depuis le menu Configuration files de l'espace Administrer Jenkins. Dans le fichier taLinkConf.properties, il faut définir pour chaque serveur Squash TM utilisant ce serveur Squash TF, une URL de rétro-appel et le login/mot de passe associé de l'utilisateur serveur d'exécution automatisée créé sur Squash TM.

Exemple :
Pour un serveur Squash TM ayant comme URL de rétro-appel http://myServeur:8080/squash et comme login/mot de passe de l'utilisateur serveur d'exécution automatisée, tfserver/tfserver, il est nécessaire de définir les propriétés suivantes dans le fichier taLinkConf.properties :

endpoint.1=http://myServer:8080/squash 
endpoint.1.login=tfserver
endpoint.1.password=tfserver

Configurer l'URL de Jenkins

Depuis le framework Squash TF 1.8.0, lorsque le framework envoie à Squash TM les informations d'exécution, il fournit l'URL du rapport HTML. Pour fabriquer l'URL du rapport HTML, la variable JENKINS_URL est utilisée. Il est nécessaire de paramétrer cette variable dans Jenkins à partir du menu Configurer le système de l'espace Administrer Jenkins, champ URL de Jenkins.

Focus

Au premier lancement de Jenkins, même si la propriété URL de Jenkins contient la bonne valeur, il est impératif de cliquer sur Enregistrer ou Appliquer, sinon la variable JENKINS_URL ne sera pas correctement paramétrée.