Configurer Cursor

Créez un workspace d'écriture de tests Kapptivate avec ktm init et connectez-le à Cursor.

Écrire un test Kapptivate à la main suppose de connaître la grammaire JSON, le catalogue d'actions et les sélecteurs qui fonctionnent réellement sur votre application. ktm init crée un workspace qui confie tout cela à votre agent de code : les skills d'écriture, un catalogue de vos tests et variables, et une connexion vivante à un robot capable de piloter de vrais navigateurs et appareils.

Cette page décrit la configuration pour Cursor. Le même workspace fonctionne dans Claude Code, Codex et Copilot sans modification.

Avant de commencer

Il vous faut ktm installé et une clé API. Si ce n'est pas encore le cas, suivez d'abord Installation, puis créez une clé depuis les Paramètres de votre organisation, rubrique Clés API.

Cursor doit déjà être installé. ktm init le détecte et propose de le configurer.

Créer le workspace

Créez un dossier vide et lancez l'assistant dedans. Un dossier correspond aux tests d'un produit.

mkdir mes-tests
cd mes-tests
ktm init

L'assistant pose cinq questions. Appuyez sur Entrée pour accepter la valeur par défaut à tout moment.

1
Environnement

app.kapptivate.com, sauf si un hôte spécifique vous a été fourni.

2
Clé API

Collez votre clé, ou réutilisez celle déjà enregistrée pour cet hôte. La clé part dans le trousseau de votre système, jamais dans un fichier du dossier.

3
Opérateur et produit

Un produit est l'application ou le site que vous testez. Si votre clé n'atteint qu'un seul opérateur, l'assistant le choisit pour vous. Changez plus tard avec ktm use <produit>.

4
Automatisation des appareils

L'assistant cherche un robot capable de piloter navigateurs et appareils pour votre opérateur, puis le configure. Rien à coller.

5
Agents de code

Rien n'est coché par défaut. Cochez Cursor. L'assistant écrit .cursor/mcp.json pour vous.

À la fin, vous obtenez un dossier de cette forme :

mes-tests/
  .agents/skills/          les skills d'écriture, lus par Cursor
  .claude/skills/          liens vers les mêmes skills, pour Claude Code
  .cursor/mcp.json         connexion au robot pour Cursor
  .mcp.json                connexion au robot pour les autres agents
  AGENTS.md                contrat du workspace pour les agents de code
  CLAUDE.md                le même contrat pour Claude Code
  catalog/                 instantané de vos tests, variables et réutilisables
  pages/                   sélecteurs vérifiés lors d'une exécution réelle
  .ktm.json                opérateur et produit ciblés par ce dossier

Les fichiers porteurs d'un secret (.mcp.json, .cursor/mcp.json, .ktm.local.json) sont ajoutés au .gitignore automatiquement. Le dossier peut être versionné tel quel.

Ouvrir le dossier dans Cursor

Passez par File, puis Open Folder, et choisissez le dossier que vous venez de créer.

Menu File de Cursor avec Open Folder en surbrillance

Ouvrir le dossier créé comme workspace Cursor

C'est l'ouverture du dossier qui active la configuration du workspace. Cursor lit .cursor/mcp.json et .agents/skills/ relativement au dossier ouvert : ouvrir un dossier parent ne fonctionnera pas.

Activer la connexion au robot

ktm init écrit la configuration MCP, mais Cursor demande de l'activer une fois par workspace.

1
Ouvrir Customize

Cliquez sur Customize dans la barre latérale, puis sur l'onglet MCPs.

Panneau Customize de Cursor, onglet MCPs

L'onglet MCPs sous Customize
2
Sélectionner kapptivate-automation

Il apparaît sous Connected, marqué Workspace et Disabled.

kapptivate-automation affiché comme Disabled

Le serveur est détecté mais pas encore activé
3
Activer la source Workspace

Basculez l'interrupteur en face de la source .cursor/mcp.json.

Fenêtre de configuration avec la source Workspace désactivée

L'interrupteur Workspace, avant activation
4
Vérifier la connexion

Local passe à Connected et la liste des outils apparaît. Cliquez sur Done.

Fenêtre de configuration affichant Connected et les outils activés

Connecté, avec les outils d'automatisation listés

Si Local reste sur Disconnected, le robot n'est pas joignable. Vérifiez qu'il est en ligne, puis lancez ktm init --reconfigure pour le récupérer.

Remplir le catalogue

Les skills sont disponibles dès que le dossier est ouvert. Tapez / dans le panneau de l'agent pour les voir.

Autocomplétion des skills affichant sync-kapptivate-catalog

Les skills Kapptivate, accessibles depuis le panneau de l'agent

Lancez d'abord sync-kapptivate-catalog. Il récupère vos tests, variables et réutilisables dans catalog/, ce qui permet à l'agent de référencer un groupe de variables existant par son id au lieu d'écrire un mot de passe en dur.

Rafraîchissez-le dès que le catalogue dépasse une quinzaine de jours, ou après une modification des tests sur la plateforme.

Écrire votre premier test

Demandez en langage courant. Le skill write-kapptivate-test porte la grammaire JSON et le catalogue d'actions, vous n'avez pas à les connaître.

Écris un test qui se connecte à la boutique avec les identifiants de staging
et vérifie que la page compte affiche le nom de l'utilisateur.

L'agent rédige le test, l'exécute sur un vrai navigateur via le robot, et corrige ce qui échoue. Un test n'est pas terminé tant qu'il ne renvoie pas success : la validation structurelle ne détecte pas un mauvais sélecteur, seule une exécution réelle le fait.

Après une exécution verte, demandez à l'agent d'enregistrer dans pages/ les sélecteurs qu'il a vérifiés. Le test suivant sur les mêmes écrans partira de sélecteurs éprouvés au lieu de les redécouvrir.

Maintenir le workspace à jour

Les skills sont verrouillés sur la version du CLI : ils documentent les options et le comportement du binaire qui les a écrits. Après une mise à jour de ktm, rafraîchissez-les.

ktm update
ktm init --refresh-skills

--refresh-skills supprime et réécrit les dossiers de skills. Si vous y conservez des fichiers personnels, prévisualisez d'abord avec ktm init --refresh-skills --dry-run, qui liste tout ce qui serait supprimé.

Résolution de problèmes

Cursor les lit dans .agents/skills/ relativement au dossier ouvert. Vérifiez que vous avez bien ouvert le dossier créé, et non son parent. Si le dossier est le bon, fermez-le et rouvrez-le.

Cursor n'a probablement pas été coché pendant l'assistant, donc .cursor/mcp.json n'a jamais été écrit. Lancez ktm init --reconfigure dans le dossier et cochez Cursor cette fois.

La clé API atteint la plateforme mais pas le robot. Lancez ktm operators list puis ktm reusables list --product <operateur>~<produit>. Si la seconde échoue, votre clé n'a pas les accès au niveau produit : créez une nouvelle clé sur une équipe qui les possède.

Aucun agent d'automatisation n'était en ligne pour votre opérateur au moment de l'assistant. .mcp.json conserve une URL de remplacement. Lancez ktm init --reconfigure une fois un robot démarré, ou passez --automation-url <endpoint> si vous la connaissez.

Et ensuite ?

Écrire des tests avec un agent

Approfondir le prompting, les sélecteurs et l'obtention d'un test vert

Configuration du CLI

Variables d'environnement, hôtes et stockage des identifiants

Configurer Claude Code

Le même workspace, configuré pour Claude Code

Exécuter les tests en CI

Emmener les tests écrits ici dans votre pipeline

Last updated on