Automatizando peticiones HTTP que requieren autenticación con Postman

Publicado el 24.09.2023 a las 22:42

Automatizando peticiones HTTP que requieren autenticación con Postman

  1. Creando variables globales

  2. Creando la petición de login

  3. Creando la petición que requiere autenticación

    • Creando la petición

    • Automatizando la obtención del token de autenticación

    • Código del script

Automatizando peticiones HTTP que requieren autenticación con Postman

Como desarrolladores, debemos de automatizar todas las tareas repetitivas para dedicarnos a lo realmente importante.


En la programación de APIs, es muy habitual tener endpoints protegidos con autenticación.


Cuando queremos probar los endpoints que requieren autenticación, debemos autenticarnos, es obvio 🤡


En el siguiente artículo te voy a explicar cómo automatizar con Postman la autenticación de los endpoints que lo requieren.

Creando variables globales

Me gusta tener como variables globales de Postman el endpoint de autenticación y las credenciales de prueba, para así tenerlas disponible en la petición de autenticación y para cualquier automatización donde requiera dichas variables.


Lo dicho, voy a crear las siguientes variables:

  • Enpoint de autenticación que llamaré url_login
  • Usuario que la llamaré user
  • Contraseña que la llamaré password
  • Variable accessToken que serán donde almacen el valor del token de autenticación JWT

Para ello:

  1. Crea una colección
  2. Navega a la pestaña de variables
  3. Crea las variables
Creando variables globales en Postman

Creando la petición de autenticación

Dentro de nuestra colección, crearemos nuestra petición de autenticación, es mi caso es una petición POST y le paso en un json las credenciales.


Mi endpoint de autenticación requiere los campos usuario y contrasena


Para que los campos de usuario y contrsena tomen los valores de las variables globales que creé en el punto 1 lo hacer metiendo el nombre de la variables entre dobles llaves.

Petición POST tomando valores de variables globales de Postman

Creando la petición que requiere autenticación

Una vez que hemos creado la petición de autenticación y hemos probado que funciona bien con las variables globales que creamos en el punto 1 podemos pasar al siguiente apartado.

Creando la petición

En mi caso, uso para autenticar en mi API JWT con un Beare token, así que añade un Header de Authorization válido para tu caso.


En mi caso sería:

Petición POST tomando valores de variables globales de Postman

Si te fijas, estoy utilizando la variable global accessToken que será la que se envía a mi API.

Automatizando la obtención del token de autenticación

Para obtener el token de acceso automaticamente, lo que hago es:

  1. Navega a la pentaña de Pre-req
  2. Programamos una petición POST con JavaScript que almacenará el token en la variable global accessToken
Script automatizando una petición POST y almacenando la respuesta en una variable global de Postman

Código del script

Te dejo el código del script por si lo quieres copiar 👇

pm.sendRequest({
    url:pm.variables.get('url_login'),
    method: 'POST',
    header: {
        'Content-Type': 'application/json',
    },
    body: {
        mode: 'raw',
        raw: JSON.stringify({
        usuario: pm.variables.get('user'),
        contrasena: pm.variables.get('password'),
        }),
    },
    }, function (err, response) {
    if (err) {
        console.log(err);
    } else {
        // Extraer el token de la respuesta y almacenarlo en una variable de entorno
        var token = response.json().token;
        pm.environment.set('accessToken', token);
    }
    });
        

Hasta luego 🖖