Gérer les serveurs d'exécution automatisée
Indisponibilité pour SquashTM Cloud
Les utilisateurs de l'offre SquashTM Cloud ne peuvent ni ajouter ni supprimer de serveurs d'exécution automatisée. Le nom, les URLs, la description et l'authentification ne peuvent pas non plus être modifiés.
Ajouter, modifier et supprimer un serveur d'exécution automatisée
SquashTM peut se connecter avec deux types de serveurs d'exécution automatisée différents : SquashTM Orchestrator pour l'automatisation des tests avec SquashTM Orchestrator et Jenkins pour l'automatisation des tests avec Squash TF.
L'ajout et la configuration d'un serveur d'exécution se fait depuis le menu Serveurs>Serveurs d'exécution automatisée de l'espace Administration.

À la création d'un serveur, le nom, le type et l'URL du serveur (la plus courte possible) doivent obligatoirement être renseignés.

Attention
La suppression d'un serveur d'exécution automatisée associé à au moins un projet ou une exécution entraîne la suppression des liens vers les rapports de résultat et d'exécution mais aussi l'association des scripts d'automatisation aux cas de test. Les exécutions des cas de test automatisés restent néanmoins accessibles. Attention, cette action n'est pas réversible.
Configurer un serveur d'exécution automatisée SquashTM Orchestrator
Configurer la connexion à SquashTM Orchestrator
Pour que SquashTM communique avec SquashTM Orchestrator, il est nécessaire de configurer les URL suivantes :
- URL du receptionist : il s'agit de l'URL saisie à la création du serveur. Elle est utilisée pour lancer l'exécution des tests automatisés avec SquashTM Orchestrator ;
- URL de l'observer : elle permet de récupérer les informations de SquashTM Orchestrator. Si cette URL n'est pas configurée dans SquashTM, elle reprend la valeur de l'URL du receptionist ;
- URL de l'event bus : l'event bus permet le passage d'informations de souscription et de publication à différents services de SquashTM Orchestrator. Si cette URL n'est pas configurée dans SquashTM, elle reprend la valeur de l'URL du receptionist ;
- URL du killswitch : le killswitch permet de stopper un workflow en cours d'exécution. Si cette URL n'est pas configurée dans SquashTM, elle reprend la valeur de l'URL du receptionist.
Il existe deux approches pour définir ces URL au niveau de SquashTM Orchestrator :
- SquashTM Orchestrator est installé derrière un reverse proxy : les URL du receptionist, de l'observer, de l'event bus, et du killswitch sont identiques et communiquent avec SquashTM via le même port.
Exemple :- URL du receptionist :
https://monsquashorchestrator.com; - URL de l'observer :
https://monsquashorchestrator.com; - URL de l'event bus :
https://monsquashorchestrator.com; - URL du killswitch :
https://monsquashorchestrator.com;
- URL du receptionist :
- SquashTM Orchestrator n'est pas installé derrière un reverse proxy : les URL du receptionist, de l'observer, de l'event bus et du killswitch sont différentes. Par défaut, les ports exposés sont le
7774pour le receptionist, le7775pour l'observer, le38368pour l'event bus, et le7776pour le killswitch. La base de l'URL peut également différer.
Exemple :- URL du receptionist :
http://127.0.0.1:7774; - URL de l'observer :
http://127.0.0.1:7775; - URL de l'event bus :
http://127.0.0.1:38368; - URL du killswitch :
http://127.0.0.1:7776.
- URL du receptionist :
En savoir plus
Pour en savoir plus sur l'installation et la configuration de SquashTM Orchestrator, consulter le guide d'installation.
Pour que le serveur soit fonctionnel, il faut également lui associer un token d'authentification généré depuis SquashTM Orchestrator.

Info
Avec SquashTM Orchestrator, la présence d'un token est obligatoire pour la bonne exécution de tests automatisés depuis SquashTM. Dans le cas où l'authentification au serveur d'automatisation n'est pas requise par ce dernier, il faut quand même renseigner une valeur quelconque de token dans SquashTM. Le token peut également être renseigné au niveau des projets.
Page de consultation d'un serveur d'exécution automatisée de type SquashTM Orchestrator

Dépannage - Accessibilité du SquashTM Orchestrator
Il est possible de vérifier que la connexion au SquashTM Orchestrator (depuis le serveur hébergeant SquashTM) fonctionne correctement en l'interrogeant, par exemple en demandant la liste des environnements d'exécution :
curl --header "Authorization: bearer <token>" <Observer URL>/channels
<token>est le token d'authentification au SquashTM Orchestrator.<Observer URL>est l'URL de l'Observer.
La réponse devrait être de la forme :
{"apiVersion":"v1","code":200,"details":{"items":[{"apiVersion":"opentestfactory.org/v1alpha1","kind":"Channel","metadata":{"channelhandler_id":"907f43e2-b5a0-4594-a1c7-31f6bf667b38","name":"dummy.example.com","namespaces":"default"},"spec":{"tags":["ssh","linux"]},"status":{"currentJobID":null,"lastCommunicationTimestamp":"2022-09-16T12:18:01.640489","phase":"IDLE"}}]},"kind":"Status","message":"Known channels","metadata":{},"reason":"OK","status":"Success"}
L'image docker de SquashTM ne contient pas curl. Vous pouvez utiliser à la place wget:
docker exec <SquashTM container> wget --header="Authorization: bearer <token>" -O - <Observer URL>/channels
<SquashTM container>est le nom du container.<token>est le token d'authentification au SquashTM Orchestrator.<Observer URL>est l'URL de l'Observer.
La réponse devrait être de la forme :
Connecting to 172.17.0.1:7775 (172.17.0.1:7775)
writing to stdout
- 100% |********************************| 464 0:00:00 ETA
written to stdout
{"apiVersion":"v1","code":200,"details":{"items":[{"apiVersion":"opentestfactory.org/v1alpha1","kind":"Channel","metadata":{"channelhandler_id":"907f43e2-b5a0-4594-a1c7-31f6bf667b38","name":"dummy.example.com","namespaces":"default"},"spec":{"tags":["ssh","linux"]},"status":{"currentJobID":null,"lastCommunicationTimestamp":"2022-09-16T12:18:01.640489","phase":"IDLE"}}]},"kind":"Status","message":"Known channels","metadata":{},"reason":"OK","status":"Success"}
Définir un environnement d'exécution par défaut
SquashTM Orchestrator permet de déclarer des environnements d'exécution par le biais de ssh ou d'un agent.
Chaque environnement d'exécution est entre autres caractérisé par un ensemble de tags qui correspondent aux capacités qu'il offre : OS (obligatoire), navigateur ou autre.
En savoir plus
Pour plus d'informations sur la définition et les cas d'utilisation des tags d'environnements, consulter la page Exécuter un cas de test automatisé.
Le bloc Environnements recense les environnements disponibles ainsi que leurs tags. Il est utilisé pour définir des tags d'environnements par défaut.
Le tableau Environnements disponibles contient la liste des environnements ainsi que leurs tags. Ces informations sont renvoyées en temps réel par SquashTM Orchestrator. Les environnements affichés sont dépendants du jeton saisi dans le bloc Politique d'authentification et des permissions de ce jeton sur chaque environnement.
Le champ Tags d'environnements par défaut permet de filter le tableau Environnements disponibles : seuls les environnements possédant tous les tags définis seront listés.
À l'exécution des tests automatisés, ces tags sont proposés par défaut à l'utilisateur, tout en restant modifiables, pour cibler un environnement d'exécution correspondant aux valeurs sélectionnées.
En savoir plus
Le jeton et les tags d'environnement par défaut peuvent être également définis au niveau des projets liés au serveur SquashTM Orchestrator. Dans ce cas, ce sont ces valeurs qui sont proposées par défaut lors de l'exécution des tests automatisés. Pour en savoir plus, consulter la page Associer un serveur d'exécution automatisée SquashTM Orchestrator à un projet.
Associer des variables d'environnement et définir leur valeur par défaut
Les variables d'environnement permettent de définir de nombreux paramètres, tels que les identifiants, le type d'environnement (par exemple production ou pré-production), la branche Git, ou encore le navigateur de test.
Contrairement aux tags d'environnement qui sont renvoyés par SquashTM Orchestrator, les variables d'environnement sont à définir dans SquashTM.
En savoir plus
Pour plus d'informations sur les cas d'utilisation des variables d'environnement, consulter la page Exécuter un cas de test automatisé.
Le bloc Variables d'environnements permet d'associer des variables d'environnement préalablement créées dans l'espace Administration>Entités et de définir leur valeur par défaut.
Pour associer une variable d'environnement au serveur d'exécution automatisée, cliquer sur le bouton
et sélectionner la ou les variables d'environnement à associer.
Une fois la variable d'environnement associée, il est possible de lui attribuer une valeur par défaut, qui pourra être redéfinie si besoin au niveau projet. Selon le type de variable d'environnement, différents caractères sont autorisés.
À l'exécution des tests automatisés, cette valeur est proposée par défaut à l'utilisateur mais reste modifiable.
Pour dissocier une ou plusieurs variables d'environnement d'un serveur d'exécution automatisée, cliquer sur le bouton
.
Paramétrer une configuration additionnelle pour le serveur d'exécution automatisée
Attention
La gestion des configurations additionnelles est disponible avec la licence Ultimate de SquashTM et le plugin SquashTM Premium.
La configuration additionnelle permet d'envoyer directement depuis SquashTM des données à l'orchestrateur lors de la création d'un workflow (hooks, variables d'environnement, ressources…).
Pour se faire, un espace dédié à la déclaration d'un script YAML ou JSON offrant une coloration et une vérification syntaxique est disponible.
Cliquer dans le champ pour éditer un script. Plusieurs boutons apparaissent alors au-dessus du script permettant de :
- confirmer les modifications effectuées. Il est également possible de les enregistrer en utilisant le raccourci clavier Ctrl+Alt+S ;
- annuler les modifications effectuées depuis la dernière sauvegarde et de repasser en mode lecture seule ;
- vérifier la syntaxe du script.

Le bouton
affiche un volet d'aide à la rédaction des scripts de configuration additionnelle présentant des exemples de hooks, metadata, ressources et variables.

En savoir plus
Pour en savoir plus sur la configuration additionnelle d'un workflow, consulter la documentation de SquashTM Orchestrator.
Configurer un serveur d'exécution automatisée Squash TF
Lors de l'ajout d'un serveur d'exécution automatisée de type Jenkins, la case Autoriser le choix manuel du serveur d'exécution au lancement des tests automatisés (Implique que ce serveur est un serveur maître) permet de choisir le serveur d'exécution lors du lancement des tests dans le cas de l'utilisation d'un serveur maître avec des serveurs secondaires.
Pour que le serveur soit fonctionnel, il faut également lui associer des identifiants : login et mot de passe Jenkins valides.
Page de consultation d'un serveur d'exécution automatisée de type Jenkins
