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
-
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.
-
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.
-
Control de Flux:
- Ús de condicions i bucles per controlar l'execució de scripts.
- Implementació de lògica complexa per a proves dinàmiques.
-
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
- Crea una sol·licitud que retorni una resposta JSON amb informació d'un producte.
- Escriu un script de prova per extreure el nom del producte i emmagatzemar-lo en una variable d'entorn.
- Utilitza aquesta variable en una sol·licitud posterior per buscar el producte pel seu nom.
Exercici 2: Control de Flux
- Defineix una variable d'entorn que determini si una sol·licitud s'ha d'executar.
- 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.
Curs de Postman i Proves d'API
Mòdul 1: Introducció a les API i Postman
Mòdul 2: Proves Bàsiques d'API amb Postman
- Creació de la Teva Primera Sol·licitud
- Comprensió de la Sol·licitud i la Resposta
- Ús de les Col·leccions de Postman
- Variables d'Entorn a Postman
Mòdul 3: Tècniques Intermèdies de Proves d'API
- Enllaçar Sol·licituds
- Ús de Scripts de Postman
- Proves Basades en Dades amb Postman
- Proves d'APIs RESTful
Mòdul 4: Funcions Avançades de Postman
- Automatització de Proves amb Newman
- Integració Contínua amb Postman
- Servidors Simulats a Postman
- Tècniques Avançades de Scripting
Mòdul 5: Millors Pràctiques de Proves d'API
- Disseny de Casos de Prova Efectius
- Gestió de l'Autenticació
- Gestió d'Errors i Depuració
- Proves de Rendiment amb Postman