Gestion des mots de passe cryptés
La clé chiffrée par défaut vs. la clé personnalisée
Il est essentiel de bien comprendre la différence entre la gestion native d'Agilitest et l'utilisation des variables d'environnement :
- Clé par défaut d'Agilitest
Utile pour le développement local rapide. Agilitest et le moteur d'exécution d'ATS s partagent une clé interne qui permet un chiffrement et un déchiffrement transparents sur votre ordinateur.
Si vous souhaitez que le mot de passe soit géré et chiffré directement par Agilitest (pour une utilisation locale, par exemple, sans passer par le système d'exploitation).
Dans Agilitest, accédez à la section Projet > Secrets du projet »

Cliquez sur le bouton « Clé » pour créer un mot de passe qui servira de variable

Agilitest cryptera cette valeur de manière sécurisée (elle n'apparaîtra pas en clair dans le code source).
Pour l'appeler dans le script, utilisez la valeur spéciale du menu ou saisissez : $pass(MY_PASSWORD).
- Clé de projet/d'environnement personnalisée
Dans un contexte d'entreprise ou pour vos pipelines CI/CD (par exemple, GitLab CI), l'utilisation d'une clé générique n'est pas suffisante. Vous pouvez associer une clé spécifique à l'environnement.
Si vous utilisez une variable d'environnement telle que $env(...), celle-ci n'est pas « chiffrée » par Agilitest lui-même, mais par votre orchestrateur. Si vous exécutez vos tests via un pipeline logiciel (Jenkins, GitLab CI, GitHub Actions), c'est votre outil CI/CD qui se charge de chiffrer le mot de passe.
Vous créez un secret ou un identifiant protégé dans Jenkins, GitLab ou directement dans le système d'exploitation de votre machine, et l'outil se charge de l'injecter sous forme de variable d'environnement masquée lors de l'exécution. Il s'agit de la meilleure pratique du secteur pour séparer les secrets du code.
Créer la variable d'environnement dans le système d'exploitation
Sous Windows :
- Utilisation de l'interface graphique :
- Ouvrez le menu Démarrer, tapez«Variables d'environnement », puis sélectionnez « Modifier les variables d'environnement du système ».
- Cliquez sur le bouton « Variables d'environnement... ».
- Dans la section « Variables utilisateur » ou « Variables système », cliquez sur « Nouveau ».
- Donnez un nom à la variable (par exemple, MY_PASSWORD), saisissez votre mot de passe, puis cliquez sur OK.
Sous Linux ou macOS :
- Depuis un terminal :
export MY_PASSWORD="Secret123!"
Cela ne fonctionnera que pour la session en cours ; pour que cette modification soit permanente, ajoutez cette commande à la fin de votre fichier : ~/.bashrc ou ~/.zshrc
Dans Agilitest, si vous avez une action « saisir du texte » sur un champ de mot de passe, il suffit d'utiliser la variable d'environnement correspondante en écrivant $env(MY_PASSWORD).
Lorsqu'elle est exécutée, la commande « ATS » récupère la valeur stockée dans le système de la machine sur laquelle le test est exécuté et la saisit.
Sécurité dans les rapports et les journaux
Le rôle principal d'ATS Core est de garantir que les données déchiffrées ne « fuient » nulle part ailleurs que vers l'élément cible de l'application :
- Journaux d'exécution : les journaux textuels générés par ` ats-core` remplacent automatiquement les mots de passe chiffrés par des masques de sécurité.
Agilitest masque automatiquement ces valeurs ($pass) à l'aide d'astérisques (****) dans les rapports d'exécution HTML afin d'éviter toute faille de sécurité.
- Rapports visuels : dans les rapports Agilitest (captures d'écran et vidéos), les champs identifiés comme des mots de passe restent flous ou masqués lors de la saisie automatique afin d'éviter toute divulgation lors de la consultation des résultats.
🔶Avertissement
Lorsque vous utilisez la variable d'environnement, il est essentiel de définir cette variable d'environnement avec la clé correcte sur les machines des concepteurs de tests et sur les machines d'exécution des tests. Sinon, les données ne seront pas déchiffrées.

