HEADER_lecciones_de_software

Manual de automatización de integración (API) con la herramienta Karate

por Jonathan Conrado Marin Benavides, el 5 de octubre de 2021

Herramienta Karate

¿Qué es Karate?

Karate es una herramienta de código abierto, fácil de manejar para personas que no poseen conocimientos de programación. Esta herramienta combina la automatización de API y las pruebas de rendimiento en un marco único. No requiere compilar código y permite mezclar la automatización de pruebas de API con UI en el mismo script de prueba.

Además, Karate tiene una API de Java que permite volver más potentes las capacidades de automatización, escribiendo las pruebas en una sintaxis simple diseñada para HTTP, JSON, GraphQL y XML.

 

Conceptos para tener en cuenta cuando utilizamos karate

 

¿Qué es Cucumber?

Cucumber es una herramienta de prueba que admite el desarrollo impulsado por el comportamiento (BDD). Ofrece una forma de escribir pruebas que cualquiera puede entender, independientemente de sus conocimientos técnicos.

En BDD, los usuarios (analistas comerciales, propietarios de productos) primero escriben escenarios o pruebas de aceptación que describen el comportamiento del sistema desde la perspectiva del cliente, para que los propietarios de productos los revisen y aprueben antes de que los desarrolladores escriban sus códigos. El marco de cucumber utiliza el lenguaje de programación Ruby.

 

¿Qué es Gherkin?

Gherkin es un Lenguaje DSL (Domain-Specific Language), es decir, que fue creado para resolver un problema muy específico. esta compuesto por un conjunto de elementos que se pueden apreciar en la siguiente imagen:

 

Herramienta Karate

Ordoñez, M. A. (10 de Noviembre de 2019). Open Webinars. Obtenido de Open Webinars: https://openwebinars.net/blog/que-es-gherkin/

Entre los elementos más utilizados podemos encontrar, Scenario, When, Feature, Given, Example, Scenario Outline, Then y And. El resto son un poco más desconocidos en general o bien que se han publicado recientemente.

 

Por qué utilizar Karate

  • Karate es perfecto para personas que no tienen un conocimiento avanzado en lenguajes de programacion Orientado a Objetos como Java

  • Los scripts no necesitan formato, ni  compilación o IDE, además, se puede trabajar de forma colaborativa utilizando Git / SCM estándar.

  • Esta fundamentado en el estándar Cucumber / Gherkin, con soporte IDE.

  • La sintaxis DSL permite  JSON y XML, igualmente, las expresiones JsonPath y XPath.

  • Permite probar las respuestas  dinámicas de GraphQL API-s. 

  • Los datos  se pueden expresar en línea, en tablas JSON , XML , Cucumber Scenario Outline o un enfoque de generador de carga útil exclusivo de Karate, esto permite que las pruebas sean legibles.

  • Son más simple y potentes al esquema JSON para verificar la configuración  de la carga útil.

  • Pueden reutilizar y mantener la autenticación de los flujos, permitiendo que los scripts llamen a otros scripst.

  • Tiene su propio soporte para leer archivos YAML o CSV.

  • Ayuda a solucionar los problemas y la depuración de manera más fácil, al incluir HTTP de solicitud y tener respuesta de registros en línea. 

 

 

Nueva llamada a la acción

Temas:Desarrollo de Software

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal