Los tres problemas de Postman que no te habían contado antes
Artículo de Alejandro Rey
¡Hola a todos!
En este artículo, quiero compartir mi experiencia al trabajar con Postman en sus versiones 9 y 10. Postman es una plataforma muy completa que facilita el desarrollo y uso de APIs gracias a su amplio conjunto de herramientas, como:
API Client: Posibilita explorar, depurar y probar APIs de manera fácil y eficiente, con soporte incorporado para autenticación y la posibilidad de incluir código JavaScript para automatizar flujos de trabajo.
API Design: Facilita crear especificaciones en formatos populares como OpenAPI, RAML, GraphQL y SOAP, y generar colecciones de Postman para diferentes etapas del ciclo de vida de la API.
API Documentation: Permite incluir detalles sobre las solicitudes y ejemplos de código en varios lenguajes de cliente, y compartir la documentación con el equipo o el público en general.
API Mocks: Simulan los puntos finales de una API antes de que esté en producción, así como retrasos personalizados en el servidor de simulación.
API Monitors: Monitorean el estado y el rendimiento de las APIs y envían alertas en caso de errores, lo que ayuda a detectar y solucionar problemas antes de que afecten a los usuarios finales.
En particular, me gustaría centrarme en la primera de la lista, Postman API Client, que es una herramienta ideal para aquellos que están comenzando a probar APIs. Con una gran variedad de ejemplos, guías y documentación, el cliente de APIs de Postman puede ayudar a los usuarios a comprender qué se debe probar y cómo hacerlo.
Sin embargo, durante mi experiencia, me he encontrado con algunos problemas que me gustaría compartir
Gestión deficiente del control de cambios
Postman permite hacer forks de colecciones, entornos y flujos, lo que permite que los equipos trabajen de manera organizada y controlada. Sin embargo, cuando hay conflictos en las merge requests que Postman no puede solucionar automáticamente, solo puedes quedarte con tus cambios o con los cambios que vienen desde la rama destino. Esto puede ser muy molesto y una opción como "Mantener Ambos Cambios" sería de gran utilidad.

Es complicado encontrar la definición de un esquema, función o variable
Cuando tenemos pruebas que se repiten para varios endpoints, una buena práctica es agruparlas en funciones que podemos reutilizar para hacer el código más fácilmente mantenible. Lo mismo ocurre con la definición de los esquemas. Sin embargo, encontrar la definición de una función o un esquema en Postman puede ser difícil ya que no permite hacer búsquedas por toda la colección.
Dificultad para reutilizar flujos funcionales
Postman permite hacer pruebas de flujos funcionales, pero el no poder reutilizar estas pruebas para integrarlas con otras herramientas como la automatización de User Interfaces, lo pone en desventaja frente a otras soluciones. Frameworks como Cypress y Playwright, ampliamente utilizados hoy en día, permiten hacer pruebas de APIs que pueden ser luego utilizadas para preparar precondiciones de las pruebas funcionales de User Interface (UI) permitiendo así una disminución considerable del tiempo de ejecución y de mantenibilidad de la suite de tests.

Conclusión
Si estás comenzando a explorar las pruebas de API, Postman es una excelente opción, ya que es una herramienta completa y fácil de usar. Sin embargo, si ya tienes experiencia en el campo y deseas evitar los problemas antes mencionados al utilizar Postman, entonces puedes considerar herramientas como PactumJS o SuperTest. Estas herramientas son específicas para pruebas de API que ofrecen una sintaxis y una configuración fáciles de usar.
Si estás buscando combinar la automatización de pruebas de API con pruebas de interfaz de usuario, entonces considera usar Cypress o Playwright. Estas herramientas ofrecen capacidades para realizar pruebas de API y UI, lo que puede ayudarte a ahorrar tiempo y aumentar la eficiencia. Además, al combinar las pruebas de API y UI, puedes tener una visión más completa del rendimiento y la calidad de tu aplicación.
Y vosotros, ¿qué experiencia habéis tenido con Postman durante las pruebas de API?