Karate es un framework de test automation de código abierto creado por Peter Thomas en Intuit y actualmente mantenido por Karate Labs. Su propuesta de valor es unificar en una sola herramienta la automatización de APIs (REST, GraphQL, SOAP), los mocks, el performance testing y la automatización UI, todo expresado con una sintaxis basada en Gherkin (Feature, Scenario, Given, When, Then) que evita escribir código Java en los tests. En 2026 la versión vigente es la rama 2.x (groupId io.karatelabs, módulo karate-junit6 para los runners modernos), alineada con Java 21 y Java 25 LTS, Maven 4 y Gradle 8.x, y con publicación continua en Maven Central.
A diferencia de Cucumber, Karate no separa los .feature de los step definitions: cada paso del fichero ya invoca directamente la API HTTP del framework, por lo que el equipo de QA puede escribir tests sin programar pasos en Java o Kotlin. Esta característica lo convierte en una opción habitual en consultoras y equipos mixtos donde conviven perfiles de QA manual, automatizadores y desarrolladores de backend que necesitan validar contratos REST en pipelines CI/CD sin curva de aprendizaje de un lenguaje de propósito general.
Qué incluye este itinerario
- Fundamentos e instalación: arquitectura del framework, instalación con Maven y Gradle, layout de proyecto recomendado y primer test ejecutado contra una API real.
- Feature files y sintaxis Gherkin: estructura de un
.feature, palabras claveFeature,Scenario,Background,Given,When,Then, hooks de inicialización y organización con@tags. - HTTP requests: peticiones
GET,POST,PUT,PATCH,DELETE, gestión deheadersycookies, subida de ficherosmultiparty autenticación conJWTyOAuth2. - Aserciones y matchers: el operador
matchcon sus variantes (==,contains,!contains,contains only), validación con JSON Schema y fuzzy matching con#string,#number,#uuid,#regex. - Data-driven testing: tablas
Examples, ficheros JSON/CSV externos,callycalloncepara reusar features y composición de escenarios. - Mocks y virtual services: arranque de un mock server con
karate-mock-servletyMockServer, simulación de servicios externos para entornos integrados. - Performance con Gatling: integración
karate-gatling, escenarios de carga y reporting HTML. - CI/CD y JUnit Jupiter 6: runner
@Karate.Test, generación de reportes Cucumber HTML y ejecución en pipelines de GitHub Actions, GitLab CI y Jenkins.
Integraciones clave
Karate se apoya en otras herramientas del ecosistema Java:
- JUnit Jupiter 6 mediante el módulo
karate-junit6para integrar la ejecución de features en suites Java estándar. - Maven Surefire / Failsafe y Gradle 8.x para construir y ejecutar la suite en local y CI.
- Gatling mediante
karate-gatlingpara reutilizar las features como simulaciones de carga. - Cucumber HTML Reports para generar reportes navegables a partir de los resultados de Karate.
- GitHub Actions, GitLab CI y Jenkins para orquestar la ejecución de tests en pipelines empresariales.
Documentación oficial
La documentación completa está disponible en https://karatelabs.github.io/karate/ y el repositorio en https://github.com/karatelabs/karate. </content> </invoke>