Créer des tests depuis le CLI
Générer, remplir, valider et créer des tests API, web, app et USSD/SMS avec ktm.
ktm crée des tests à partir d'une définition JSON, ce qui rend la création de tests scriptable et naturellement adaptée à la CI et aux agents de codage IA comme Claude Code ou Codex. Le flux est identique pour chaque canal : générer un template pour les types d'actions nécessaires, remplir les champs, valider, puis créer.
Le flux
ktm tests action-types liste tous les types (44 répartis entre API, web, smartphone et SIM) avec leur canal.
ktm tests template <TYPE...> > test.json écrit une action par type, avec des valeurs de substitution <...>.
Définissez la requête/URL, les assertions et l'owner de chaque action (un identifiant d'appareil).
ktm tests validate --from-file test.json vérifie la définition sans la créer.
ktm tests create --from-file test.json --product my-operator~my-product.
L'owner d'une action prend un identifiant d'appareil depuis ktm resources list : agents web par nom d'hôte (--type web-agent), SIM par MSISDN (--type sim), smartphones par UUID (--type smartphone). Les actions sans propriétaire (JAVASCRIPT, SLEEP) utilisent "".
Par canal
Choisissez le type d'action correspondant au scénario. Parcourez l'ensemble complet avec ktm tests action-types, et définissez les détails des étapes depuis la Bibliothèque d'actions.
ktm tests template ETH_HTTP_API > api_test.json
# fill in url, method, assertions...
ktm tests create --from-file api_test.json --product my-operator~my-productETH_HTTP_API envoie une requête HTTP et vérifie le statut, les en-têtes ou le corps JSON. Voir Scénarios API.
Tests multi-étapes
Passez plusieurs types d'actions pour générer une séquence qui s'exécute de haut en bas :
# Authenticated API flow: call, process the response, call again
ktm tests template ETH_HTTP_API JAVASCRIPT ETH_HTTP_API > auth_flow.json
Utilisez une action JAVASCRIPT entre les appels API pour construire un corps de requête ou transformer des données avec test.variables.get() / set().
Fixer un environnement
Les tests résolvent la valeur de chaque variable par variant. Fixez le variant d'un groupe à la création (les autres utilisent leur défaut) :
ktm tests create --from-file test.json --product acme~web --variant API:Staging
Et ensuite ?
Last updated on