En aquest tema, explorarem les tècniques avançades de scripting a Postman que et permetran crear proves més robustes i personalitzades. Aprendràs a utilitzar JavaScript per manipular sol·licituds i respostes, gestionar dades dinàmiques i automatitzar processos complexos.

Conceptes Clau

  1. Scripts de Pre-sol·licitud i Scripts de Prova:

    • Els scripts de pre-sol·licitud s'executen abans d'enviar una sol·licitud.
    • Els scripts de prova s'executen després de rebre la resposta.
  2. Manipulació de Dades:

    • Extracció de dades de respostes per utilitzar-les en sol·licituds futures.
    • Emmagatzematge de dades en variables globals, d'entorn o locals.
  3. Control de Flux:

    • Ús de condicions i bucles per controlar l'execució de scripts.
    • Implementació de lògica complexa per a proves dinàmiques.
  4. Gestió d'Errors:

    • Captura i maneig d'errors en scripts per assegurar la robustesa de les proves.

Exemples Pràctics

Exemple 1: Extracció de Dades de la Resposta

Suposem que tens una resposta JSON i vols extreure un valor específic per utilitzar-lo en una sol·licitud posterior.

// Exemple de resposta JSON
// {
//   "user": {
//     "id": 12345,
//     "name": "John Doe"
//   }
// }

// Script de prova per extreure l'ID de l'usuari
let responseData = pm.response.json();
let userId = responseData.user.id;

// Emmagatzemar l'ID en una variable d'entorn
pm.environment.set("userId", userId);

Exemple 2: Control de Flux amb Condicions

Imagina que vols executar una sol·licitud només si una condició específica es compleix.

// Script de pre-sol·licitud
let shouldExecute = pm.environment.get("executeRequest");

if (shouldExecute === "true") {
  // Executar la sol·licitud
  console.log("La sol·licitud s'executarà.");
} else {
  // Cancel·lar la sol·licitud
  postman.setNextRequest(null);
  console.log("La sol·licitud no s'executarà.");
}

Exemple 3: Gestió d'Errors

Captura errors en els teus scripts per evitar que les proves fallin inesperadament.

try {
  // Intentar executar codi que pot fallar
  let data = JSON.parse(pm.response.text());
  console.log("Dades parsejades correctament:", data);
} catch (error) {
  // Manejar l'error
  console.error("Error al parsejar la resposta:", error);
  pm.test("La resposta és un JSON vàlid", function() {
    pm.expect.fail("La resposta no és un JSON vàlid");
  });
}

Exercicis Pràctics

Exercici 1: Extracció i Ús de Dades

  1. Crea una sol·licitud que retorni una resposta JSON amb informació d'un producte.
  2. Escriu un script de prova per extreure el nom del producte i emmagatzemar-lo en una variable d'entorn.
  3. Utilitza aquesta variable en una sol·licitud posterior per buscar el producte pel seu nom.

Exercici 2: Control de Flux

  1. Defineix una variable d'entorn que determini si una sol·licitud s'ha d'executar.
  2. Escriu un script de pre-sol·licitud que comprovi aquesta variable i decideixi si la sol·licitud s'ha d'executar o no.

Solucions

Solució a l'Exercici 1

// Script de prova per extreure el nom del producte
let productData = pm.response.json();
let productName = productData.product.name;

// Emmagatzemar el nom del producte en una variable d'entorn
pm.environment.set("productName", productName);

Solució a l'Exercici 2

// Script de pre-sol·licitud per controlar el flux
let executeRequest = pm.environment.get("executeRequest");

if (executeRequest === "true") {
  console.log("La sol·licitud s'executarà.");
} else {
  postman.setNextRequest(null);
  console.log("La sol·licitud no s'executarà.");
}

Conclusió

Les tècniques avançades de scripting a Postman et permeten crear proves més flexibles i adaptables. Amb la capacitat de manipular dades, controlar el flux de les sol·licituds i gestionar errors, pots assegurar-te que les teves proves siguin robustes i eficients. Practica aquestes tècniques per millorar les teves habilitats de prova d'API i prepara't per a escenaris més complexos.

© Copyright 2024. Tots els drets reservats