Aller au contenu

Tester une API REST en 5 minutes

Objectif : partir d’une spécification OpenAPI et arriver à un test automatisé qui vérifie un parcours complet.

1. Importer la spécification (30 secondes)

Section titled “1. Importer la spécification (30 secondes)”

Fichier ▸ Importer (Ctrl+I), puis l’URL de votre openapi.json.

Restorm construit l’arbre complet : un dossier par étiquette, une requête par opération, les paramètres typés, la documentation, et les en-têtes d’authentification pré-câblés avec leurs variables.

L'arbre produit par l'import OpenAPI, prêt à l'emploi : un dossier par étiquette (pet, store, user) et une requête pré-remplie par opération, à côté du sous-onglet d'accueil du dossier de variables

Si votre API n’a pas de spécification, collez une commande curl — voir Importer des commandes cURL.

2. Renseigner l’environnement (1 minute)

Section titled “2. Renseigner l’environnement (1 minute)”

Ouvrez le dossier de variables créé par l’import. L’URL de base est déjà là ; complétez la variable d’authentification que l’import a préparée pour vous.

Créez un second environnement si vous testez plusieurs cibles — le sélecteur de la smartbar bascule tout le dossier d’un coup.

Ouvrez une requête, cliquez sur Send. La réponse s’affiche : statut, temps, en-têtes, corps dans une visionneuse repliable.

Si vous avez oublié quelque chose, la valeur résolue affichée sous le champ URL vous le dit.

Clic droit ▸ Ajouter ▸ Scénario. Le parcours « créer, relire, supprimer » :

Requête HTTP « POST /clients »
└─response──► Assert (eq, 201)
└─► Définir variable « clientId » ◄── sélecteur body.id
Requête HTTP « GET /clients/{id} »
└─response──► Assert (eq, 200)
└─► Validation schéma (le JSON Schema du client)
Requête HTTP « DELETE /clients/{id} »
└─response──► Assert (eq, 204)

Les trois requêtes utilisent {{clientId}} dans leur URL : la variable de run posée à la première étape est lue par les suivantes.

Enchaînez-les en câblant le port done de chaque assertion sur le port in de la requête suivante — c’est ce qui garantit l’ordre.

Cliquez sur Lecture. Le journal se remplit ; ajoutez une action Log après chaque étape pour tracer ce qui compte.

Branchez une action Throw sur la sortie else de vos assertions critiques : c’est ce qui fera échouer le job de CI.

Terminal window
RESTORM_TOKEN=rstk_… restorm \
--open ./api.restorm \
--run "Parcours client" \
--headless \
--out run.log

Code de sortie 0 si tout passe, 1 sinon. Voir Exécution headless et CI pour les exemples GitHub Actions et GitLab CI.