Réutiliser des parties de requêtes ou de réponses - Cloud

Guide d'utilisation de Talend Cloud API Tester

EnrichVersion
Cloud
EnrichProdName
Talend Cloud
EnrichPlatform
Talend API Tester
task
Création et développement > Test d'API
Chaque requête stockée dans votre dépôt peut être accessible via des expressions, afin de pouvoir réutiliser ses composants dans d'autres requêtes ou dans des assertions.

Cas d’utilisation

Vous testez les opérations CRUD (Create, Read, Update, Delete) pour votre ressource /planets.

Vous souhaitez créer une planète en postant sur /planets, puis vérifier que votre planète a été créée et est disponible.

Vous pouvez créer :

  • un scénario Creation scenario dans le projet Star wars API avec une requête Create planet qui poste la nouvelle planète ;
  • une deuxième requête Verify planet existence qui récupérera le nouvel identifiant de la planète à partir de la réponse de la première requête pour récupérer la planète créée sur /planets/{planetId}.

Si la réponse de votre première requête est :

{
  "id": "9e5d2284-94ad-11e7-bbbc-773611cab8f7",
  "name": "Tatooine",
  "rotation_period": "23",
  "orbital_period": "304",
  "diameter": "10465",
  "climate": "arid",
  "gravity": "1 standard",
  "terrain": "desert",
  "population": "200000",
}

Alors vous pouvez tester la création de votre planète en créant un GET sur https://my-star-wars-api.com/planets/${"Star wars API"."Creation scenario"."Create planet"."response"."body"."id"} et en indiquant un code de réponse à 200, par exemple.

Éléments utilisables

Les requêtes sont structurées comme suit :

{
  {request name}: {string},
  "request": {
    "method"  : {string},
    "uri"     : {string},
    "headers" : {
      {header name}           : {header value}
      },
    "query" : {
      {query parameter name}  : {query parameter value}
    },
    "body"    : {string or object}
  },
  "response": {
    "headers"   : {object},
    "status"    : {
      "message" : {string},
      "code"    : {number}
    }
    "body"      : {string or object}
  }
}

La réponse contient un objet JSON représentant la réponse HTTP au dernier appel de la requête.

Vous pouvez la requêter de la même façon qu'un objet JavaScript standard, à l'aide d'une notation pointée.

Remarque : Tous les noms d'en-têtes sont en minuscules, seuls les corps de textes peuvent être référencés.

Cela signifie que vous pouvez référencer les éléments de la requête Get planets dans le projet Star-wars API comme suit :

  • URI de la requête : ${"Star-wars API"."Get planets"."request"."uri"} ;
  • Code de statut de la réponse : ${"Star-wars API"."Get planets"."response"."status"."code"} ;
  • La valeur de l'en-tête de réponse Content-type : ${"Star-wars API"."Get planets"."response"."headers"."Content-type"} ;
  • Attribut du corps de la réponse : id: ${"Star-wars API"."Get planets"."response"."body"."id"}.