Pour vous familiariser avec les assertions ou les variables, nous vous recommandons de lire nos articles sur les assertions et les variables où vous trouverez des informations sur leur utilité et leur fonctionnement. Cet article vous indique comment utiliser les champs source et propriété pour valider une réponse d’API.
Les champs source et propriété fonctionnent de paire pour identifier d’où provient la réponse d’API et quel contenu doit être vérifié. La source est le point d’origine des données. La propriété désigne le contenu qui doit être validé.
Ces champs sont disponibles dans la réponse pour les assertions comme pour les variables :


Voici la liste des sources disponibles et la marche à suivre pour indiquer la valeur de propriété correspondante.
Corps de réponse en tant que JSON
Sélectionnez ce type de source si vous attendez une réponse d’API au format JSON. Dans le champ propriété, précisez l’élément JSON que vous voulez inspecter ou extraire.
Exemples
Par exemple, voici une réponse JSON :
{
"access_token":"MjAxNy0xMC0wMlQxMDoxMDoyNy42NDkwOTEzWg==",
"token_type":"Bearer",
"expires_in":86400
}
Pour capturer la valeur MjAxNy0xMC0wMlQxMDoxMDoyNy42NDkwOTEzWg==, utilisez access_token comme valeur de propriété.
Si l’objet contenant la clé access_token est l’enfant d’un autre objet JSON, précisez le chemin JSON complet. Dans ce cas, utilisez response.access_token comme valeur de propriété :
{
"response":{
"access_token":"MjAxNy0xMC0wMlQxMDoxMDoyNy42NDkwOTEzWg==",
"token_type":"Bearer",
"expires_in":86400
}
}
Si vos données JSON contiennent un tableau avec un ou plusieurs éléments et que vous voulez extraire le prix du premier élément (par exemple, 20000), précisez l’index suivi du nom de l’attribut. L’index d’un tableau commence toujours par zéro : [0]. Dans ce cas, le champ propriété doit être [0].Price pour récupérer la valeur 20000.
[
{
"Name": "Alpha Cygnus IX",
"Price": 20000,
},
{
"Name": "Norcadia Prime",
"Price": 25000,
},
{
"Name": "Risa",
"Price": 37500,
}
]
Si vos données JSON contiennent un tableau qui est l’enfant d’un autre objet, vous devrez préciser chaque chemin, y compris l’index pour l’élément qui se trouve dans le tableau. Supposons que votre réponse JSON ait le contenu suivant :
{
"Destinations":[
{
"Name":"Alpha Cygnus IX",
"Price":20000
},
{
"Name":"Norcadia Prime",
"Price":25000
},
{
"Name":"Risa",
"Price":37500
}
]
}
Dans ce cas, la valeur du premier Name peut être capturée en utilisant Destinations.[0].Name, qui est Alpha Cygnus IX.
Corps de réponse en tant que XML
Sélectionnez ce type de source si vous attendez une réponse d’API au format XML. Vous pouvez ensuite fournir une requête XPath pour récupérer un contenu spécifique.
Exemples
Par exemple, voici une réponse XML :
<AuthInfo>
<access_token>MjAxNy0xMC0wMlQxMDowOTo1My45MDUxNjEyWg==</access_token>
<expires_in>86400</expires_in>
<token_type>Bearer</token_type>
</AuthInfo>
Pour capturer la valeur MjAxNy0xMC0wMlQxMDowOTo1My45MDUxNjEyWg==, utilisez la requête XPath /AuthInfo/access_token/text() comme valeur de propriété. Pour en savoir plus sur XPath, y compris SOAP XML, vous pouvez lire l’article
Exemples XPath.
Corps de réponse en tant que texte
Sélectionnez ce type de source si votre réponse n’est ni au format JSON ni au format XML. Cette option accepte un texte brut, un fichier HTML ou un format propriétaire pour utiliser l’intégralité du contenu.
Ce type de source s’applique lorsque vous voulez exécuter une simple opération Contient, par exemple pour vérifier si le corps de la requête contient le texte Price. La vérification réussit dès lorsque le texte Price apparaît quelque part dans le contenu. Si vous voulez utiliser le contenu dans sa totalité ou l’attribuer à une
variable, laissez le champ de propriété vide.
Si vous cherchez à inspecter ou à extraire du contenu à partir d’un emplacement spécifique du document, précisez une expression régulière dans le champ de propriété. L’expression régulière sera utilisée pour capturer la valeur dans votre contenu.
Si l’expression régulière contient un groupe de capture (soit un motif entre parenthèses), la première correspondance sera utilisée pour ce groupe de capture.
Code de statut
Cette option vérifie le code de statut HTTP numérique qui fait partie de chaque réponse, ce qui vous permet d’identifier des erreurs liées au code de statut.
Par défaut, Uptrends vérifie automatiquement les codes 4xx et 5xx. L’application vérifie aussi que le code de statut est inférieur à 400, même si vous ne précisez pas de code de statut.
Si vous définissez un code de statut vous-même, il remplace notre vérification par défaut. Par exemple, si vous définissez que le code de statut est égal à 200, l’application vérifie exactement cette condition.
Description du statut
Cette option vérifie la description textuelle du code de statut HTTP (officiellement appelé Reason-Phrase). Elle fournit du contexte supplémentaire pour vérifier certaines conditions d’erreur de l’API. Par exemple, lorsque vous confirmez que vous avez fourni une entrée correcte, une description de statut utile est renvoyée.
Réponse complétée
Cette option renvoie toujours une valeur booléenne indiquant si la requête HTTP a réussi.
La réponse renvoie la valeur false si l’un des événements ci-dessous se produit :
- Le serveur auquel se connecter ne peut pas être déterminé.
- Le serveur ne renvoie pas une réponse HTTP dans le délai attendu.
- Aucune connexion ne peut être établie.
Autrement, la réponse renvoie la valeur true.
Dans la plupart des cas, vous ne devez pas préciser cette option, car nous la vérifions automatiquement pour vous : Réponse complétée est égal à true.
Selon le type de source, nous signalons une erreur lorsqu’aucune réponse HTTP n’est récupérée auprès du serveur.
Dans certains cas, il est possible d’inverser cette vérification. Si vous spécifiez false, nous vérifions que l’obtention d’une réponse réussie n’est pas possible. Cela peut être utile si vous avez une application web ou une API qui ne doit être disponible que sur votre réseau interne, même si le nom de domaine correspondant est disponible publiquement. Avec cette vérification, nous vérifions que nous ne pouvons pas atteindre votre API ou votre application web.
Response header
Cette option vous permet d’inspecter un en-tête de réponse HTTP spécifique. Vous devez spécifier le nom de cet en-tête dans le champ de propriété.
Cookie
Cette option renvoie la valeur actuelle d’un cookie. Vous devez spécifier le nom de ce cookie dans le champ de propriété. Les cookies retournés par votre serveur sont traités comme des cookies de session : les valeurs des cookies sont lues, mises à jour et renvoyées à votre serveur pendant l’exécution du scénario entier, jusqu’à la dernière étape.
Tous les cookies sont ensuite retirés, quelles que soient les directives d’expiration. Ainsi, les cookies permanents sont traités comme des cookies de session.
Longueur du contenu
Cette option renvoie la taille du corps de réponse en octets. Si le serveur envoie la réponse dans un format compressé, la valeur correspond à la longueur du contenu original après décompression.
Durée
Cette option renvoie la durée totale, en millisecondes, qui a été nécessaire pour l’exécution de la requête et la réception de la réponse. Cela vous permet de surveiller la performance des différentes étapes.