Checks repensés, variables in-test et monitors de campaigns 🧬

KTM 8.93
Une release majeure. Les checks sont maintenant adaptés à chaque type de step avec des conditions en langage clair. Les variables deviennent un vrai système d'input/output avec capture et mise à jour au runtime. Les monitors peuvent maintenant surveiller des campaigns entières. Et oui, le dark mode est là 🤩.
✅ Nouveau : Checks, repensés de zéro
Les checks ne sont plus génériques. Chaque type de step propose maintenant des checks qui ont du sens pour ce qu'il fait.

Ce qui change :
Checks spécifiques par step : API, email et web ont chacun leurs propres checks pertinents
Success et warnings sont indépendants : Un warning ne décide plus si un step passe ou non. Il est toujours reporté séparément.
Conditions en langage clair : "Passes if Status code = 200", "Warns if Response time > 10s"
Logique AND/OR sur les conditions de succès et les warnings
Les tests existants conservent leur logique pass/fail inchangée.
🔍 Nouveau : Checks API, Email & PDF
Réponses API : Ciblez un champ JSON spécifique, utilisez des variables dans les noms de header ou les chemins XML, comparez la structure du body avec le nouvel opérateur matches-JSON.
Steps Get mail : Vérifiez l'expéditeur, le destinataire, le CC, le sujet, le contenu et le nom des pièces jointes.
Nouveau step Check PDF : Téléchargez un PDF depuis une URL et vérifiez son texte extrait, nombre de pages, taille de fichier et nom de fichier.
🧬 Nouveau : Variables in-test, inputs et outputs
Les variables deviennent un vrai système d'input/output.

Déclarez vos inputs là où vit le test. L'onglet Environment est maintenant groupé en sections avec des boutons + pour créer des variables in-test, des variables globales ou des variable groups sans quitter le formulaire. Les noms dupliqués sont bloqués avec une erreur inline.
Capturez des outputs depuis le run. Un step API Call peut écrire sa réponse dans une variable : depuis un chemin JSON, un chemin XML, le body entier ou un header de réponse. Les valeurs par défaut optionnelles évitent les échecs de step quand rien n'est extrait. Les steps qui créent des variables les affichent comme un chip bleu sur le canvas.

Mettez à jour une variable globale au runtime. Le nouveau step Update Variable (web et smartphone) réassigne une variable existante pendant que le test s'exécute. Un token capturé au step 3 peut être écrit dans une variable globale et utilisé par ce qui suit.
Set Local Variable possède sa valeur. L'ancien step Set Variable contient maintenant le nom et la valeur, acceptant des variables et des fonctions random. Ses variables ne peuvent plus être surchargées au lancement : le step est la source de vérité unique.

Masquez les valeurs sensibles. Les variables in-test et les steps Set Local Variable peuvent être masqués dans les résultats d'exécution. Le flag se propage dans la run confirmation, les monitors et les overrides de campaign. Révélez à la demande quand nécessaire.
Suggestions scopées. Les variables créées par un step ne sont suggérées que dans les steps qui le suivent. Les références au-dessus de leur step de création s'affichent en tag rouge.
Renommages en cascade. Renommer une variable met à jour les checks, campaigns et monitors qui utilisent le test, avec un toast indiquant ce qui a été mis à jour.
🎯 Nouveau : Monitorer une campaign entière
Créez un monitor sur une test campaign au lieu d'un monitor par test.

Les monitors de campaign supportent les overrides par test et apparaissent dans la liste des monitors avec un filtre de type. Dans le dashboard Realtime Status, creuser dans une campaign affiche un verdict agrégé, un compteur de succès et un détail par test.
🧩 Nouveau : Librairie de custom steps
Les snippets JS peuvent maintenant vivre dans une librairie et être référencés par vos tests au lieu d'être copiés dans chacun.

Un Custom step lié montre le step de librairie vers lequel il pointe, avec une vue read-only de son code et un moyen de détacher. Éditer ou supprimer un script de librairie indique combien de tests seront mis à jour.
Le code des custom steps est maintenant édité directement dans le panneau du step, comme tous les autres types de step.
🌓 Nouveau : Dark mode
Choisissez votre mode d'affichage dans My Account → Preferences : Light, Dark, ou Auto pour suivre votre système.

Le mode TV a son propre toggle jour/nuit dans sa top bar, pour qu'un écran laissé allumé dans une salle de contrôle soit configuré indépendamment de votre préférence personnelle.
✨ Autres Améliorations
Support BrowserStack : Back-end prêt, front-end avec setup d'agent arrive bientôt
Envoyer les résultats par email : Exportez les résultats d'exécution directement depuis la page de détails
Export USSD Live : Exportez une session USSD Live comme un vrai rapport Excel
Changement de produit : Changez de produit depuis le breadcrumb des Status Details
Ordre chronologique : Nouvelle option timeline avec le bucket le plus ancien en premier
Timeline mode TV : Se compacte automatiquement, le popover de filtre peut sélectionner tous les tests d'un coup
Affichage des steps plus clair : Extract value, SMS code, mail code, email link et Get text affichent le selector et le nom de variable sur une ligne
Legacy Overview supprimé : Les URLs en favoris redirigent vers Realtime Status
Lignes de checks compactes : Layout plus économe en espace
Suppression groupée de checks : Clic droit sur le chip "N checks" pour supprimer tous les checks d'un coup
🐛 Corrections
Les monitors de campaign portent maintenant toutes les variables in-test de tous les tests, donc les steps reçoivent les valeurs affichées dans le formulaire au lieu de valeurs vides
Lancer une campaign avec le même test plusieurs fois conserve le variant configuré pour chaque occurrence
Taper au milieu d'un champ variable ne déplace plus le curseur à la fin
Ouvrir des tests créés avant la mise à jour des checks JSON path ne crash plus l'éditeur
Les checks email sur les steps Get mail survivent à tous les chemins de sauvegarde
Le panneau de détails des steps scrolle quand il y a plus de checks que l'écran ne peut afficher
Les longs chemins JSON et valeurs ne débordent plus des lignes de check
Les variables extraites par un step ne demandent plus de valeur d'input
La modale "Add tests" des campaigns n'apparaît plus vide pour les opérateurs avec 100+ produits
Les reusable components ne fuient plus dans les écrans de liste des tests
Le web recorder peut démarrer quand l'URL de départ contient des variables
Les test campaigns affichent la valeur sélectionnée des variables choice, et n'affichent plus les variables secrètes comme vides en rouge
Ouvrir une image en fullscreen depuis les résultats d'exécution l'affiche au-dessus de la modale