En este tema, exploraremos cómo realizar pruebas en APIs privadas, que son aquellas diseñadas para ser utilizadas internamente dentro de una organización. A diferencia de las APIs públicas, las privadas suelen requerir autenticación y autorización más estrictas, y su acceso está limitado a usuarios o sistemas específicos.
Conceptos Clave
-
Autenticación y Autorización:
- Autenticación: Proceso de verificar la identidad de un usuario o sistema.
- Autorización: Proceso de verificar si un usuario o sistema autenticado tiene permiso para acceder a un recurso específico.
-
Tokens de Acceso:
- Utilizados para autenticar solicitudes a una API privada.
- Pueden ser de diferentes tipos, como JWT (JSON Web Tokens) o tokens de sesión.
-
Entornos Seguros:
- Configuración de entornos en Postman para manejar credenciales y tokens de manera segura.
Configuración de Pruebas para APIs Privadas
Paso 1: Configurar el Entorno
-
Crear un Entorno en Postman:
- Ve a la pestaña de "Manage Environments" en Postman.
- Crea un nuevo entorno y define variables como
base_url
,access_token
, etc.
-
Almacenar Credenciales de Forma Segura:
- Usa variables de entorno para almacenar credenciales y tokens.
- Asegúrate de no compartir estos detalles en archivos de configuración pública.
Paso 2: Autenticación
- Obtener un Token de Acceso:
- Realiza una solicitud de autenticación para obtener un token de acceso.
- Ejemplo de solicitud de autenticación:
POST {{base_url}}/auth/login Content-Type: application/json { "username": "tu_usuario", "password": "tu_contraseña" }
- Almacenar el Token:
- Usa scripts de Postman para almacenar el token en una variable de entorno:
Paso 3: Realizar Solicitudes Autenticadas
-
Configurar la Autenticación en Solicitudes:
- En la pestaña de "Authorization" de tu solicitud, selecciona "Bearer Token" y usa la variable
{{access_token}}
.
- En la pestaña de "Authorization" de tu solicitud, selecciona "Bearer Token" y usa la variable
-
Ejemplo de Solicitud Autenticada:
Paso 4: Validar Respuestas
- Escribir Pruebas para Validar Respuestas:
- Asegúrate de que las respuestas sean las esperadas y maneja errores adecuadamente.
pm.test("Estado de respuesta es 200", function () { pm.response.to.have.status(200); }); pm.test("El cuerpo de la respuesta contiene datos esperados", function () { var jsonData = pm.response.json(); pm.expect(jsonData).to.have.property("nombre"); });
Ejercicio Práctico
Objetivo: Configurar y realizar una prueba de una API privada que requiere autenticación.
-
Configura un entorno en Postman con las siguientes variables:
base_url
: URL base de la API.access_token
: Inicialmente vacío.
-
Realiza una solicitud de autenticación para obtener un token de acceso y almacénalo en la variable
access_token
. -
Crea una solicitud autenticada para acceder a un recurso privado de la API.
-
Escribe pruebas para validar que la respuesta contiene los datos esperados.
Solución
-
Configuración del Entorno:
- Crea un entorno con las variables
base_url
yaccess_token
.
- Crea un entorno con las variables
-
Solicitud de Autenticación:
- Realiza la solicitud de autenticación y usa un script para almacenar el token.
-
Solicitud Autenticada:
- Configura la autenticación usando el token almacenado.
-
Pruebas de Validación:
- Escribe pruebas para verificar el estado de la respuesta y los datos.
Conclusión
Las pruebas de APIs privadas requieren una comprensión sólida de los mecanismos de autenticación y autorización. Al configurar adecuadamente los entornos y manejar los tokens de acceso de manera segura, puedes realizar pruebas efectivas y seguras. En el siguiente tema, exploraremos estudios de caso específicos para aplicar estos conceptos en escenarios del mundo real.
Curso de Postman y Pruebas de API
Módulo 1: Introducción a las APIs y Postman
Módulo 2: Pruebas Básicas de API con Postman
- Creando Tu Primera Solicitud
- Entendiendo Solicitud y Respuesta
- Usando Colecciones de Postman
- Variables de Entorno en Postman
Módulo 3: Técnicas Intermedias de Pruebas de API
- Encadenando Solicitudes
- Usando Scripts de Postman
- Pruebas Basadas en Datos con Postman
- Pruebas de APIs RESTful
Módulo 4: Funciones Avanzadas de Postman
- Automatizando Pruebas con Newman
- Integración Continua con Postman
- Servidores Simulados en Postman
- Técnicas Avanzadas de Scripting
Módulo 5: Mejores Prácticas de Pruebas de API
- Diseñando Casos de Prueba Efectivos
- Manejo de Autenticación
- Manejo de Errores y Depuración
- Pruebas de Rendimiento con Postman