En aquest tema, explorarem com realitzar proves d'APIs privades, que són aquelles que no estan disponibles públicament i requereixen autenticació per accedir-hi. Aquestes APIs són comunes en entorns empresarials on la seguretat i el control d'accés són crucials.
Conceptes Clau
-
Autenticació i Autorització:
- Autenticació: Procés de verificar la identitat d'un usuari o sistema.
- Autorització: Procés de determinar si un usuari autenticat té permís per accedir a un recurs específic.
-
Tokens d'Accés:
- Utilitzats per autenticar sol·licituds a APIs privades.
- Poden ser de diversos tipus, com JWT (JSON Web Tokens) o OAuth tokens.
-
Capçaleres d'Autenticació:
- Les sol·licituds a APIs privades sovint requereixen capçaleres específiques per a l'autenticació, com
Authorization: Bearer <token>
.
- Les sol·licituds a APIs privades sovint requereixen capçaleres específiques per a l'autenticació, com
Configuració de Proves d'APIs Privades amb Postman
Pas 1: Configuració de l'Entorn
- Crear un Entorn a Postman:
- Afegeix variables com
baseUrl
,accessToken
, etc. - Exemple de configuració d'entorn:
{ "baseUrl": "https://api.empresa.com", "accessToken": "your_access_token_here" }
- Afegeix variables com
Pas 2: Autenticació
-
Obtenir un Token d'Accés:
- Realitza una sol·licitud POST a l'endpoint d'autenticació de l'API.
- Exemple de sol·licitud:
POST {{baseUrl}}/auth/login Content-Type: application/json { "username": "usuari", "password": "contrasenya" }
-
Emmagatzemar el Token:
- Utilitza scripts de Postman per emmagatzemar el token d'accés a una variable d'entorn.
- Exemple de script:
pm.environment.set("accessToken", pm.response.json().token);
Pas 3: Realitzar Sol·licituds Autenticades
-
Afegir Capçaleres d'Autenticació:
- Inclou el token d'accés a les capçaleres de la sol·licitud.
- Exemple de capçalera:
Authorization: Bearer {{accessToken}}
-
Enviar Sol·licituds:
- Realitza sol·licituds GET, POST, PUT, DELETE a l'API privada utilitzant el token d'accés.
Pas 4: Validació de Respostes
-
Comprovar l'Estat de la Resposta:
- Assegura't que les respostes tenen l'estat esperat (per exemple, 200 OK).
-
Validar el Cos de la Resposta:
- Utilitza assertions per verificar que el cos de la resposta conté les dades esperades.
- Exemple d'assertion:
pm.test("La resposta conté l'usuari esperat", function () { var jsonData = pm.response.json(); pm.expect(jsonData.username).to.eql("usuari"); });
Exercici Pràctic
Objectiu: Configurar i provar una API privada que requereix autenticació.
- Configura un entorn a Postman amb les variables
baseUrl
iaccessToken
. - Realitza una sol·licitud POST per obtenir un token d'accés.
- Emmagatzema el token d'accés en una variable d'entorn.
- Realitza una sol·licitud GET a un endpoint protegit utilitzant el token d'accés.
- Valida que la resposta conté les dades esperades.
Solució
-
Configura l'entorn:
- Afegeix les variables
baseUrl
iaccessToken
.
- Afegeix les variables
-
Obtenir el token d'accés:
POST {{baseUrl}}/auth/login Content-Type: application/json { "username": "usuari", "password": "contrasenya" }
-
Emmagatzemar el token:
pm.environment.set("accessToken", pm.response.json().token);
-
Realitzar la sol·licitud GET:
GET {{baseUrl}}/user/profile Authorization: Bearer {{accessToken}}
-
Validar la resposta:
pm.test("La resposta conté l'usuari esperat", function () { var jsonData = pm.response.json(); pm.expect(jsonData.username).to.eql("usuari"); });
Conclusió
Les proves d'APIs privades són essencials per garantir la seguretat i el funcionament correcte de les aplicacions que depenen d'aquestes APIs. Mitjançant l'ús de Postman, podem gestionar fàcilment l'autenticació i realitzar proves exhaustives per assegurar-nos que les nostres APIs funcionen com s'espera. En el següent tema, explorarem escenaris reals de proves d'API per aplicar els coneixements adquirits.
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