Karate Framework: Testeo de APIs de Impacto

Compartir esta publicación

Share on facebook
Share on linkedin
Share on twitter
Share on email

Recientemente he hablado acerca de un framework de testing llamado Cypress. Pues bien, hoy os traigo otro: un framework de testing sencillo pero muy eficaz para API Automation llamado Karate. Para describirlo de la forma más precisa posible, aquí tenéis un fragmento de la fuente oficial:

Karate Framework es la única herramienta de código abierto que combina API test-automation, mocks y testeo de rendimiento en un solo framework. La sintaxis BDD popularizada por Cucumber es language-neutral, y fácil incluso para los no-programadores. Además de potentes aserciones JSON & XML, puedes ejecutar tests en paralelo para mejorar la velocidad – elemento crítico para testeos HTTP API.

Primero, comparemos Karate con Cucumber y REST-Assured.

Karate:

Karate Test

Cucumber: + debemos implementar pasos y POJO:


Conversion Post EN

Cucumber Test

Rest-assured:

Rest Assured

Ventajas de Karate: BDD unificado (comparado con Cucumber + pasos + lógica de negocio + POJOs). Si necesitas complejidad, Karate ofrece soporte para Javascript.

Para las precondiciones, Karate propone usar otras feature files:

Karate Preconditions

Y ya que Karate está escrito en Java, ofrece integración con éste lenguaje.

Ejemplo de llamada a un método Java desde el testeo API, por ejemplo generar una uniqueId:

Generate uniqueId

Otra ventaja de usar Karate es sus capacidades asertivas:

Karate Assertion Capabilities

Validación Schema. Formato amigable de validación de respuestas. Reutilizar Json como variable. Karate markers. DDT. Similar a Cucumber, pero en comparación con este, donde las variables están estáticas en la tabla, con Karate podemos importar un archivo csv con información.

Boundary Testing Boundary Testing

Ejecución en paralelo con Junit5. En este ejemplo ejecutamos todos los tests/feature files con la etiqueta @regression.

Parallel Execution

Reporte. Allure, Cucumber report. Karate propone un test como este:

Karate API Test

Pero también se puede integrar fácilmente reports de Cucumber o Allure 😉

En caso de usar un report de Cucumber obtendremos algo tal que:

Karate Framework API Test

Otras características del Karate Framework: Json Path, debug UI paso a paso, Integración con CI, Build-in ENV switcher, etc.

Resumiendo: Pros y Contras de usar Karate Framework:

pros contras
Integración con java, JS No ‘find usage’, auto renombrar
Json, xml native support TestNG support deprecated
Capacidades asertivas potentes No tiene Auth Schemes out of the box
Ejecución en paralelo
No se requiere saber programar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

Acerca de Apiumhub

Apiumhub reúne a una comunidad de desarrolladores y arquitectos de software para ayudarte a transformar tu idea en un producto potente y escalable. Nuestro Tech Hub se especializa en Arquitectura de Software, Desarrollo Web & Desarrollo de Aplicaciones Móviles. Aquí compartimos con usted consejos de la industria & mejores prácticas, basadas en nuestra experiencia.

Posts populares
Descarga Grow Professionally: Inside Apiumhub's Dev Team

¿Estás orientado a Datos?

Construyamos tu éxito juntos.

Contáctanos

¿Tienes un proyecto desafiante?

Podemos trabajar juntos