fbpx

Las API se integran en muchos de los servicios web utilizados hoy en día, lo que permite a los sistemas enviar y comunicar varias piezas de información de ida y vuelta. Como tal, son un poderoso vínculo entre los servicios críticos. Y como con cualquier parte importante de un sistema, es necesario probarlos. Con soluciones de pruebas de API de terceros, o Postman, podemos realizar pruebas manuales y automatizadas. API significa Interfaz de programación de aplicaciones. Es una interfaz de software a software. Con las API, las aplicaciones conversan entre sí sin intervención del cliente. Pero con miles de API disponibles, Postman entra en escena para crear, probar, compartir y administrar estas API haciendo que el uso de la API sea eficiente y menos tedioso.

Este artículo ayudará a entender Postman, colecciones, sus características destacadas y cómo podemos configurar pruebas de carga para colecciones Postman y su integración con canalizaciones de CI/CD con LoadView.

 

¿Qué es Postman?

Postman es una popular herramienta de cliente de API que facilita a los equipos de desarrollo la creación, el uso compartido, la prueba y las API de documentos. Proporciona una experiencia de usuario perfecta que ayuda a alcanzar los puntos de conexión de la API mediante la creación rápida de solicitudes según la especificación de API y la disección de los distintos parámetros de respuesta, como el código de estado, los encabezados y el propio cuerpo de respuesta real. Podemos aprovechar estas características para realizar pruebas continuas y automatizadas. Se utiliza como una herramienta complementaria para desarrollar, documentar y probar en una API y proporciona una interfaz de usuario para realizar solicitudes de servidor de API REST y muestra la respuesta de los servidores.

Postman es una herramienta de desarrollo de API utilizada en el ciclo de vida de desarrollo de software:

  • Desarrollo de API
  • Pruebas de API
  • Documentación de la API

Postman no sólo nos proporciona un entorno para trabajar con API, También se puede utilizar para solicitar páginas web como un navegador. Introduzca la dirección URL en la barra de direcciones y pulse Enviar para ver la respuesta HTML. Postman también puede ayudar a anexar scripts antes de que el usuario envíe la solicitud y después de obtener la respuesta. Podemos almacenar cada solicitud en una colección, que más adelante se puede utilizar para ejecutar todas las solicitudes en orden.

 

¿Qué son las pruebas de API?

En las pruebas de API, usamos herramientas dedicadas para enviar llamadas al servidor que hospeda la API y recuperar la respuesta. El objetivo de las pruebas de API es confirmar la ejecución correcta y validar si la API está obteniendo, guardando o actualizando recursos según lo previsto.

Si sabemos que la API debe realizar una acción determinada, como actualizar datos, capturar datos, eliminar datos, realizar un cambio en los datos, las pruebas deben comprobar los resultados de esas acciones. ¿Se comporta de la misma manera que se supone que es? ¿Y cuando no se supone que suceda? ¿Y son los resultados los que esperarías que fuera? Las pruebas de API suelen ser pruebas de caja negra, pero en la medida en que tenemos acceso a los resultados de las acciones de la API y de antemano conocemos la respuesta esperada que debe validarse.

 

Características de Postman

 

Solicitudes de importación

Postman proporciona una función de importación, donde podemos pegar texto CURL sin procesar y convertirlo en una solicitud formateada con detalles como URL de solicitud, encabezados, cuerpo de solicitud, parámetros de consulta y tokens de autorización.

 

Soporte de Protocolo Múltiple y Tecnología

La característica de cliente de API Postman nos permite enviar solicitudes REST, SOAP, WSDL y GraphQL.

 

Escribir casos de prueba

Podemos crear casos de prueba que ejecuten API agregadas y que puedan ayudar en la validación de respuestas con la afirmación de respuestas JSON/XML y validaciones de código de respuesta.

 

Colecciones

Postman nos ayuda a crear colecciones que ayudan a segregar las API con carpetas Estructura para diferentes proyectos. Proporciona compatibilidad para ejecutar Collection, que finalmente ejecutará todas las API que forman parte de la colección.

 

Validación de esquema JSON

Podemos usar el esquema JSON para definir la estructura de sus solicitudes y respuestas. Ayuda a embellecer y estructurar JSON haciendo que sea fácil de entender y leer en Postman.

 

Usar variables dinámicas y de entorno

Podemos crear variables en Postman y en diferentes entornos, las mismas variables pueden tener diferentes valores asignados para el entorno seleccionado. Esto es útil mientras trabajamos con las mismas API, pero con varios entornos en el mundo real.

 

Convertir API a código

Postman permite que la solicitud de API se convierta en código en todos los lenguajes prominentes como JavaScript, Golang, Java, PHP, Python y muchos más.

 

Beneficios del cartero

 

Automatizar las pruebas

Postman nos permite automatizar las pruebas de API e integrar la colección con canalizaciones de CI/CD. Podemos automatizar pruebas unitarias, pruebas de integración, pruebas de regresión y pruebas simuladas como parte de estas pruebas

 

Compatible con la plataforma y el sistema operativo

Postman está disponible en Mac, Windows, Linux y Chrome y es compatible con todos los principales sistemas operativos.

 

Informes de pruebas de cartero

Proporciona un informe de prueba que nos ayuda con el seguimiento de datos a través del generador de solicitudes y podemos generar informes HTML para las ejecuciones de prueba.

 

Integraciones

Postman proporciona soporte y se puede integrar fácilmente con todas las principales herramientas de desarrollo como Github, Slack, Dropbox y Gitlab.

 

Precios

Todas las principales funcionalidades de Postman son gratuitas. Podemos obtener todos los beneficios anteriores de forma gratuita. También hay planes de pago para Postman Pro y Postman Enterprise para pequeñas y grandes empresas.

 

Alternativas a Postman

 

Swagger

Swagger es una especificación de API de código abierto, es como WSDL para las API de REST, donde se define la estructura de las API de REST (direcciones URL de puntos finales, modelos de entrada/salida, esquema de autenticación, etc.). El archivo de especificación se basa en JSON y la extensión de archivo es JSON o YAML. Algunos de los aspectos más destacados de Swagger son:

  • De código abierto y gratuito, sin embargo, puede ser difícil aprender o encontrar recursos para problemas.
  • SwaggerUI representa las API dentro del navegador
  • Puede generar automáticamente documentación a partir de la creación de sus servicios

 

Soapui

SoapUI permite a los usuarios probar rápida y fácilmente las API rest y SOAP, ya que la herramienta se creó específicamente para probar las API. SoapUI ayuda a probar combinaciones complicadas de servicios web como RESTful, SOAP, JSON y AMF. Sin embargo, debe utilizar WSDL para probar servicios web. Además, para la automatización de ingrate, se requiere una gran cantidad de secuencias de comandos, y para los usuarios que no tienen esa experiencia, puede llegar a ser difícil y llevar mucho tiempo. Algunos de los aspectos más destacados de SoapUI son:

  • La funcionalidad de apuntar y hacer clic ayuda a facilitar la usabilidad DE JSON y XML.
  • Carga datos desde Excel, archivos, bases de datos, etc.
  • Reutilice los casos de prueba funcionales como pruebas de carga.
  • Se integra con plataformas de administración de API de terceros, admite REST, SOAP, JMS e IoT, etc.

 

 

Integrar pruebas de recogida de carteros en la canalización de CI/CD

La integración continua (CI) es una práctica de desarrollo que requiere que los desarrolladores combinen código regularmente en un repositorio compartido. Implica el proceso de automatización de la compilación y pruebas de aplicaciones cada vez que se confirma un nuevo cambio en el código fuente. El desarrollo continuo se puede explicar como una secuencia de pasos que deben realizarse en secuencia para permitir que la aplicación se ejecute en un servidor especializado y cumplir su caso de uso de atender las solicitudes de usuario.

Podemos integrar las API de colecciones postman para ejecutarse dentro de nuestros entornos de integración continua/desarrollo continuo utilizando Newman, Newman es una herramienta de línea de comandos que nos permite ejecutar una colección de carteros en nuestro servidor o en un entorno local. Para integrar necesitamos una clave de API de UID y Postman de colección. Podemos ejecutar la colección de postmanes con un solo comando tan simple como se menciona a continuación:

newman ejecutar https://api.getpostman.com/collections/ {collection_uid} ? ? apikey {postman-api-key-here} ?

 

Cargando colecciones de carteros usando LoadView

Cada vez que probamos una aplicación back-end, probar la funcionalidad es una parte estándar del proceso para asegurarnos de que las cosas funcionen como habíamos previsto que funcionen. Eso está bien, pero no para el mundo real. Sus aplicaciones serán utilizadas por muchos, si no cientos o miles de usuarios al mismo tiempo, por lo que también necesitamos llevar a cabo pruebas de rendimiento para ver qué tan bien se aferran a ese tráfico. Necesitamos comparar y validar la aplicación con cada cambio de aplicación. Como hemos visto la visión general de Postman, sus características y cómo podemos configurar la estrategia de prueba para las pruebas funcionales de API, tendríamos que entender las herramientas que pueden ayudar a probar la aplicación.

En los casos en los que estamos usando Postman para probar la funcionalidad de la API web y queremos generar una prueba de carga a partir de las colecciones de llamadas de API que tenemos, podemos optar por una herramienta de prueba de carga especializada como LoadView. LoadView proporciona pruebas de carga reales basadas en explorador para las API, así como aplicaciones web (externas e internas) y sitios web y servidores.

 

Configuración de la prueba

Echaremos un vistazo, paso a paso, sobre cómo configurar una prueba de carga de aplicaciones web para una colección de Carter.

Pruebas de la API de Postman de LoadView: Paso 1

Antes de empezar, tendríamos que exportar la Colección Des postman. Podemos elegir la opción de obtener el vínculo Público y podemos importarlo fácilmente a LoadView (Nota: Asegúrese de que la colección Postman utiliza variables locales solo porque las variables de entorno no se almacenan en la colección).

Exportación de la colección Postman

 

Pruebas de la API de Postman de LoadView: Paso 2

Abra la plataforma LoadView y seleccione Crear nueva prueba de carga.

 

Pruebas de la API de Postman de LoadView: Paso 3

Aquí verá los distintos tipos de pruebas de carga que están disponibles en LoadView: aplicaciones web, sitios web y API. Para nuestro caso de uso, seleccionaremos la opción Postman Collection para iniciar las pruebas de API.

Tipo de prueba de carga Postman

 

Pruebas de la API de Postman de LoadView: Paso 4

Se abrirá una nueva ventana y aquí es donde tendremos que importar la colección Postman exportada y hacer clic en Crear dispositivo.

Solicitud de recogida de carteros

Pruebas de la API de Postman de LoadView: Paso 5

Una vez que hayamos creado con éxito un dispositivo, veríamos la pantalla Escenario de prueba, donde podemos establecer el tipo de carga,que diferiría en función del objetivo de nuestra prueba.

  • Curva basada en carga. Esto es para ejecutar pruebas de carga con un número conocido de usuarios y aumentar el tráfico después de configurar el tiempo de calentamiento.
  • Curva basada en objetivos. Esta configuración de prueba se utiliza cuando buscamos transacciones deseadas por segundo para nuestra API específica y queremos escalar lentamente a la velocidad deseada.
  • Curva dinámica basada en. Este conjunto le proporciona elegir valores dinámicos en número de usuarios, usuarios máximos y duración de la prueba, y se puede cambiar, en tiempo real, durante la prueba.

 

Tipos de carga de recogida de carteros

 

Pruebas de la API de Postman de LoadView: Paso 6

Una vez que hemos creado un escenario de prueba con una lista de todas las API, ahora podemos ejecutar pruebas de carga y esfuerzo para nuestras API. Después de completar correctamente la ejecución de la prueba de carga, se le proporcionarán informes, paneles y métricas que muestran cómo se realizó nuestra API y los sistemas bajo carga.

 

 

Integración de pruebas de carga de recogida de carteros con Jenkins

Como hemos analizado cómo podemos integrar y ejecutar pruebas de carga de recopilación de Postman mediante LoadView, podemos agregar estas pruebas como parte de CI/CD para obtener comentarios y resultados de rendimiento regulares. LoadView también proporciona integración con Jenkins, lo que ayuda a realizar pruebas de esfuerzo en sitios web, aplicaciones web y API con conexiones simultáneas en exploradores reales desde una nube totalmente administrada. Cualquier nueva actualización o características adicionales también se pueden probar con el complemento LoadView para Jenkins.

Echemos un vistazo a los pasos utilizados para el escenario de prueba de la colección Postman creado anteriormente en LoadView y su integración con Jenkins.

Paso 1. Para integrar las pruebas con Jenkins, estaríamos usando el mismo escenario de prueba postman creado anteriormente.

Paso 2. Cree un UID único. Esto se usará como token de seguridad para integrarse en Jenkins. Copie el UID de integración.

Postman Jenkins Integración UID

 

Paso 3. El identificador de escenario de prueba para nuestra colección postman se puede encontrar en la página de configuración del escenario o en la página Historial de la prueba (Administrador de pruebas > del menú de acciones de la > prueba).

Historial de pruebas de la colección de carteros

 

LoadView Plugin en Jenkins

Para configurar el complemento LoadView, siga estos pasos:

  1. Inicie sesión en su cuenta de Jenkins.
  2. En Jenkins, vaya a Credentials > Add Credentials > LoadView Security Token (UID). Configure y valide las credenciales.
  • Tipo. Token de seguridad (UID) de LoadView.
  • Alcance. Seleccione Global.
  • ID. Deje el valor predeterminado o especifique un identificador único.
  • Descripción. Especifique una descripción única para distinguir las credenciales.
  • UID. Pegue el UID de la API web de prueba de carga desde su cuenta de LoadView. Una vez agregado el UID, haga clic en Validar UID para asegurarse de que Jenkins puede tener acceso a la API LoadView.
  1. A continuación, seleccione un trabajo y haga clic en Configurar.

Ficha de seguridad De Jenkins LoadView

 

  1. Vaya a Crear > acciones posteriores a la compilación > Agregar escenario de prueba de carga LoadView-Run de acción posterior a la compilación > LoadView-Run load test scenario. Especifique la configuración de LoadView Stress Test para la compilación:
  • Credenciales. Seleccione la clave de API con la descripción.
  • ID de escenario. Pegue el identificador de escenario de prueba que desea usar en la compilación. Copie el identificador de la página del escenario en LoadView.
  • Umbral de error. Especifique un porcentaje aceptable de sesiones con errores que se produjeron durante la prueba (no se pudo acceder al recurso de destino, no se han encontrado palabras clave/imagen, etc.). Si el porcentaje de sesiones de error es mayor que el valor especificado, la compilación se marcará como un error en Jenkins.
  • Tiempo promedio. Especifique un límite para un tiempo de respuesta medio medido durante la ejecución de la prueba. Si se alcanza el límite, la compilación se marcará como un error en Jenkins.
  1. Haga clic en Guardar.

 

Ver los resultados de las pruebas de LoadView

Por último, hemos integrado con éxito nuestra colección Postman con Jenkins utilizando LoadView como plataforma. Mientras se ejecuta nuestra prueba de esfuerzo, el estado se muestra en la salida de la consola de Jenkins en modo en tiempo real.

Salida de la consola de Postman Jenkins

 

Resultados del rendimiento de las pruebas del cartero Jenkins LoadView

 

Monitoreo de la prueba de recogida de carteros

LoadView forma parte de la solución Dotcom-Monitor. Dotcom-Monitor también proporciona herramientas de monitoreo fáciles para nuestras colecciones Postman. Si tenemos una colección de pruebas de integración utilizadas para las pruebas internas de API con Postman, y también queremos configurar pruebas para que se ejecuten desde fuera de la red local, podemos cargar las pruebas de Postman en Dotcom-Monitor. Usando la tarea Dotcom-Monitor Postman Collection podemos crear pruebas de monitoreo automatizadas con alertas sobre errores. Podemos especificar ubicaciones de supervisión, un programador de supervisión, filtros y configurar informes basados en los resultados de supervisión.

La colección de solicitudes HTTP agregadas se ejecutará repetidamente con la frecuencia definida para realizar la secuencia de llamadas a la API web de destino. Con eso tendremos las aserciones que se especificaron para las solicitudes en Postman que ayudarán a verificar las respuestas de la API. Si no se cumple alguna condición establecida por aserciones, la tarea se marcará como errónea.

 

Pruebas de carga de su API con Postman: Pensamientos finales

La comunidad de desarrollo tiene opiniones muy variadas sobre las API de prueba. Hemos visto cómo Postman nos ayuda por completo en la creación, mantenimiento y prueba de API con tanta facilidad. También examinamos una guía paso a paso sobre cómo podemos simular la recopilación de Postman de pruebas de carga de usuarios simultáneos mediante LoadView. Más adelante hemos analizado cómo podemos automatizar este paso mediante la integración de Jenkins con LoadView. Las herramientas necesarias para destacar estas aplicaciones se han simplificado últimamente y proporciona una inmensa ayuda para probar sistemas complejos que dependen de aplicaciones internas y externas. Nos ayuda a detectar los cuellos de botella y los problemas con mayor claridad.

Comience a probar la carga de sus API hoy mismo con LoadView. Regístrese para la prueba gratuita y reciba $20 en créditos de pruebas de carga. O regístrese para una de nuestras demostraciones privadas con uno de nuestros ingenieros de rendimiento. Le guiaremos a través de la plataforma LoadView completa, así como le mostraremos cómo integrar LoadView en colecciones de Postman y automatizar los pasos con Jenkins.