Une application API est une application de type API : un service REST, GraphQL ou un autre service HTTP que vos cas de test appellent avec des étapes d'Appel API. Vous donnez à chaque environnement l'URL de base de l'API et son authentification, et vous pouvez ajouter une spécification OpenAPI ou Swagger. Avec la spécification, Thunders AI écrit des tests d'API à partir d'une courte description, et il peut appeler votre API une fois pour vérifier les valeurs réelles.
Cet article décrit ce qui est propre à une application API. Pour savoir ce qu'est une application et comment plusieurs applications partagent un projet de test, consultez Applications : tester plusieurs applications dans un seul projet de test. Pour les champs d'une étape d'Appel API, consultez Comment ajouter une étape d'Appel API ?
Avant de commencer
Vous avez besoin du rôle Admin pour ajouter ou modifier une application.
Préparez l'URL de base de l'API pour chaque environnement.
Si l'API demande une authentification, préparez le nom d'utilisateur et le mot de passe (Authentification de base) ou le jeton (Jeton Bearer) de chaque environnement.
Où configurer une application API
À la création d'un projet de test. À l'étape Configurer votre première app de l'assistant, sélectionnez API. L'étape Configurer l'environnement demande alors la configuration de l'API, et l'étape Réviser et créer la résume.
À l'ajout d'une application. Ouvrez Configuration > Applications, sélectionnez la carte Nouvelle application, puis sélectionnez API dans Paramètres de l'application. Remplissez l'étape Environnements, puis sélectionnez Créer l'application.
À la modification d'une application. Ouvrez Configuration > Applications et sélectionnez la carte de l'application API. Modifiez les champs, puis sélectionnez Enregistrer les modifications.
Une application API affiche chaque environnement dans sa propre carte. Le champ Spécification d'API (optionnelle) se trouve au-dessus des cartes, car une seule spécification sert tous les environnements de l'application.
Saisir l'URL de base de chaque environnement
Dans chaque carte d'environnement, saisissez l'URL de base de l'API, par exemple https://api.example.com. Saisissez l'adresse racine de l'API, pas l'adresse d'une page web ni d'un fichier de spécification. Dans l'assistant de création de projet, l'URL de base est obligatoire.
Lire la vérification de l'URL de base
Sous chaque URL de base, Thunders envoie une requête à l'adresse avec l'authentification de cet environnement, puis affiche le résultat :
Résultat | Signification |
Accessible | L'API a répondu. |
Authentification requise | L'API demande des identifiants. Choisissez son authentification sous l'URL de base. |
Identifiants refusés | L'API a refusé le nom d'utilisateur et le mot de passe, ou le jeton, que vous avez saisis. |
Ressemble à un site web | L'adresse renvoie une page web. Saisissez plutôt l'URL de base de l'API. |
Ressemble à un fichier de spécification | L'adresse renvoie une spécification d'API. Saisissez l'URL de base de l'API, et ajoutez la spécification dans le champ Spécification d'API (optionnelle). |
Erreur serveur | L'API a répondu par une erreur serveur. Vérifiez qu'elle est en ligne. |
Inaccessible | Thunders n'a pas pu se connecter, par exemple parce que le nom d'hôte ne se résout pas ou que l'API ne répond pas dans les 5 secondes. |
Non vérifiée | Thunders vérifie uniquement les URL https. |
Quand vous choisissez Authentification de base ou Jeton Bearer, la vérification attend les identifiants et affiche « Renseignez l'authentification pour vérifier cette URL. » La vérification est informative. Elle ne bloque jamais Continuer, Créer l'application ni Enregistrer les modifications.
Choisir l'authentification de chaque environnement
Chaque environnement a sa propre liste Authentification, sous son URL de base. L'éditeur de l'étape d'Appel API propose les trois mêmes types :
Aucune authentification : Thunders n'envoie aucun identifiant.
Authentification de base : saisissez un Nom d'utilisateur et un Mot de passe.
Jeton Bearer : saisissez un Jeton.
Thunders enregistre les valeurs comme variables de cet environnement, nommées d'après le nom de l'application. Pour une application nommée Billing API, le jeton va dans la variable secrète BILLING_API_TOKEN, le mot de passe dans la variable secrète BILLING_API_PASSWORD, et le nom d'utilisateur dans la variable BILLING_API_USERNAME.
Quand vous modifiez plus tard une application API, le mot de passe et le jeton s'affichent sous forme de points, et le champ nomme la variable qui contient la valeur, par exemple « Stocké dans [BILLING_API_TOKEN]. Laissez vide pour conserver la valeur actuelle. »
Pour gérer ces valeurs après la configuration, consultez Ajouter / Modifier / Supprimer / Utiliser des secrets et Variables.
Ajouter une spécification d'API (optionnelle)
Ajoutez une spécification pour que Thunders AI connaisse les endpoints de votre API (voir la section suivante). Le champ Spécification d'API (optionnelle) accepte une spécification OpenAPI ou Swagger. Thunders prend en charge Swagger 2.0 et OpenAPI 3.
Importer : déposez vos fichiers de spécification, ou sélectionnez la zone pour parcourir. Vous pouvez ajouter 5 fichiers au maximum, de 10 Mo chacun, au format
.json,.yamlou.yml.Depuis une URL : saisissez l'URL de la spécification, puis sélectionnez Analyser la spécification. Le lien doit être un lien https public vers le fichier de spécification lui-même, pas vers une page de documentation.
Une ligne d'état résume le résultat, par exemple « Analysée · 19 endpoints détectés. » Un fichier que Thunders ne peut pas lire affiche la raison, et Thunders ne l'enregistre pas. Quand le premier environnement n'a pas encore d'URL de base, Thunders la remplit avec le premier serveur de la spécification.
Quand une spécification fait référence à un fichier que vous n'avez pas importé, une ligne Fichier manquant le nomme. Une spécification ajoutée Depuis une URL est lue comme un seul document : importez donc une spécification répartie sur plusieurs fichiers.
Générer des tests d'API avec Thunders AI
Ouvrez Thunders AI, sélectionnez l'application API dans la liste Applications et un environnement dans la liste Environnement, puis décrivez le test avec vos mots. Par exemple : « Crée un test qui passe une nouvelle commande dans la boutique. Appelle l'API une fois pour voir la vraie réponse, puis vérifie le code de statut exact et les champs qu'elle renvoie. »
Thunders AI lit la spécification. Une carte intitulée Spécification API liste ce qu'il a lu, par exemple Lecture de la spécification avec le nombre d'opérations trouvées.
Quand la spécification ne donne pas de valeur, Thunders AI appelle votre API une fois pour voir la réponse réelle. Un appel qui lit seulement des données, comme un GET, part tout de suite. Un appel qui modifie des données (POST, PUT, PATCH ou DELETE) attend votre réponse : Thunders AI affiche la méthode, le chemin, le corps, l'application et l'environnement, et précise « Cette requête modifie des données. » Sélectionnez Run probe once pour envoyer l'appel une seule fois, ou Use spec default pour garder les valeurs de la spécification.
La carte, intitulée alors Spécification API et appels réels, affiche ensuite l'Appel réel avec son code de statut et les champs de la réponse. Quand l'appel échoue ou que vous choisissez la spécification, la ligne indique Non vérifié, et le test utilise la valeur de la spécification.
Thunders AI crée un cas de test en brouillon avec les étapes d'Appel API et les vérifications sur leur réponse, puis l'ouvre. Il propose ensuite « Exécuter le test maintenant ? ».
Vous pouvez aussi demander à Thunders AI de modifier le cas de test ouvert, par exemple : « Règle les assertions sur les valeurs exactes que l'API renvoie. » Thunders AI enregistre le résultat comme une nouvelle version du cas de test.
Quelques points de plus s'appliquent à Thunders AI avec une application API :
Pour une application API, Thunders AI travaille uniquement avec l'API. Il écrit des étapes d'Appel API et n'ouvre pas de navigateur.
Quand votre demande contient un mot de passe ou un jeton en clair, Thunders AI le retire des étapes et vous demande de l'enregistrer comme variable secrète.
Quand un cas de test proche existe déjà, Thunders AI peut demander s'il doit créer un cas de test distinct ou modifier une copie du cas existant.
Thunders AI n'écrit pas encore de tests GraphQL.
Utiliser votre application API dans un cas de test
Les nouvelles étapes d'Appel API partent de l'application. Une nouvelle étape d'Appel API commence avec la variable d'URL de l'application, par exemple
[APP_BILLING_API_URL], et avec l'authentification de l'environnement sélectionné.Les étapes contiennent des variables, pas des secrets. Pour une application API, le mot de passe ou le jeton d'une étape d'Appel API doit être une variable. Quand vous saisissez une valeur en clair, l'éditeur d'étape la refuse : « Utilisez une variable, par exemple [ORDERS_TOKEN]. Les secrets ne sont jamais stockés dans une étape. »
Foire aux questions
Comment utiliser un jeton différent pour chaque environnement ?
Réglez l'authentification dans la carte de chaque environnement. Chaque environnement garde son propre type d'authentification et ses propres variables. À l'exécution, l'étape utilise les valeurs de l'environnement ciblé par l'exécution.
Comment remplacer ou retirer la spécification d'API ?
Ouvrez Configuration > Applications et sélectionnez la carte de l'application API. Pour remplacer la spécification, ajoutez les nouveaux fichiers ou le nouveau lien. Pour retirer une spécification importée, sélectionnez Tout retirer. Pour retirer une spécification ajoutée Depuis une URL, videz le champ URL de la spécification. Puis sélectionnez Enregistrer les modifications. Quand vous passez une application API en application web, Thunders retire aussi sa spécification.






