Postman - nivel pro - variables, scripts, colecciones, entornos producción y desarrollo
Guía de uso, nivel pro, para poder trabajar en cualquier proyecto, ser más eficiente y tener más control de cualquier cambio en las API que tengamos.
- Descarga
- 1. Crear colección, importación y exportación
- 2. Consola y devTools
- 3. APIs públicas - endpoints para pruebas http
- 4. Entornos de mocks, desarrollo y produccion
- 5 Pre-script y script
- 6. Variables de entorno, token como variable global
- 7 - Documentación
- 8 - Test
Útil si trabajas en el back como en el front, nos ayuda a probar nuestras API, y desde el front para hacer pruebas, testear que funcionan los servicios en desarrollo y en producción.
Descarga
Hace tiempo que postman dejó de ser un simple plugin de chrome y ser una propia app. Disponible para GNU/Linux, Windows y Mac.
Descargala e instala.
1. Crear colección, importación y exportación
En el menu izquierdo, creamos una nueva colección. Ésta contendrá todos los servicios del proyecto. A medida que se vaya creando tabs se podrán guardar en una colección en concreto.
Para compartir el proyecto a un amigo, solo tenemos que pulsar los 3 puntitos de la colección que queramos, y pinchar en share
. Podemos hacer varias cosas, como compartir url. Nos indicará una url que será la que pasemos a nuestros compañeros.
También podremos crear un equipo de trabajo y de esta forma completar la colección entre varios compañeros.
Podemos exportar e importar dicha colección de igual manera.
2. Consola y devTools
Abajo a la izquierda disponemos de una consola para poder ver los mensajes de respuesta/error de un servicio. Para las devTools: menu - view - developer - show devTools.
3. APIs públicas - endpoints para pruebas http
Una cosa muy interesante es poder usar apis públicas si aún no tenemos el proyecto funcionando, y poder desarrollar la parte front y adelantarnos al back.
Uno de los que más me gusta es: httpbin.org. De aquí en adelante la usaremos para hacer diversas pruebas.
Podemos testear un servicio get con argumentos, post con parámetros.
4. Entornos de mocks, desarrollo y produccion
Supongamos que tenemos un entorno de pruebas en node en localhost (mocks), otro que lo están desarrollando el equipo de back y el de producción (release del desarrollo).
Con el fin de no duplicar los tabs y agrandar la colección, añadiremos el prefijo antes del nombre del servicio, de manera que cambiando de entorno accederá a producción, mocks locales, o desarrollo.
Pulsamos la rueda dentada arriba a la derecha, add.
Como ejemplo ponemos en nombre de entorno: test
, y añadimos la variable url con valor https://httpbin.org
.
Creamos otro entorno, por ejemplo mocks
y variable url con valor http://localhost:3000/MIAPI
De esta forma si ponemos como url /get?uno=a&dos=b
y seleccionamos el entorno de test nos funcionará, entrará en https://httpbin.org/get?uno=a&dos=b
5 Pre-script y script
En cada servicio, tenemos unas tabs de prescript y script. Se lanzan antes y despues de una llamada a un servicio. Cuando lo seleccionamos nos aparecen una serie de snippets que podemos usar directamente.
Es muy útil para actualizado de variables globales y hacer testing.
En cada tab puedes probar a meter cualquier código en javascript. Por ejemplo pon un console.log en cada una.
6. Variables de entorno, token como variable global
Supongamos que tenemos todos los servicios con seguridad por token (Authorization). Tener que ir copiando y pegando el token bueno en cada servicio cada vez que se ha caducado es realmente tedioso.
Desde el servicio que actualiza el token vamos a guardar el token globalmente, para ello, nos vamos a la tab Test
, y escribimos lo siguiente (dependiendo del tipo de respuesta que de, un ejemplo sería este).
let resp = pm.response.json();
if(resp.ok){
let token=resp.token;
// actualizamos token
pm.environment.set("token",token);
console.log('se ha actualizado el token');
}else{
console.log('no se ha actualizado el token');
}
En los demás servicios que requieran el token, en la petaña de Authorization, añadimos ``.
7 - Documentación
Botón derecho sobre la colección, Publish docs
, seleccionamos el entorno y pinchamos en publicar. Copiamos la url y la ponemos en el navegador.
Una parte que me gusta mucho es la zona de la derecha, donde podemos copiar y pegar el código para realizar la llamada al api, siendo configurable en distintos lenguajes de programación: node, jquery, php…
8 - Test
Un tema muy interesante, el hecho de que cada vez que realizamos una llamada a un servicio desde postman realice una serie de test.
Para ello se deben escribir en el tab Tests
.
postman tiene una documentación muy sencilla: learning.getpostman.com/docs/postman/scripts/test_scripts/
// example using pm.response.to.have
pm.test("response is ok", function () {
pm.response.to.have.status(200);
});
// example using pm.expect()
pm.test("environment to be production", function () {
pm.expect(pm.environment.get("env")).to.equal("production");
});
// example using response assertions
pm.test("response should be okay to process", function () {
pm.response.to.not.be.error;
pm.response.to.have.jsonBody("");
pm.response.to.not.have.jsonBody("error");
});
// example using pm.response.to.be*
pm.test("response must be valid and have a body", function () {
// assert that the status code is 200
pm.response.to.be.ok; // info, success, redirection, clientError, serverError, are other variants
// assert that the response has a valid JSON body
pm.response.to.be.withBody;
pm.response.to.be.json; // this assertion also checks if a body exists, so the above check is not needed
});
escríbe algo en comentarios
😉 Gracias.