Karate Framework: Testeo de APIs de Impacto

Compartir esta publicación

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:

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 😉

  Testing de aplicaciones web progresivas en 2021

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

Author

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

¿Tienes un proyecto desafiante?

Podemos trabajar juntos

apiumhub software development projects barcelona
Secured By miniOrange