Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automatización de pruebas con Karate
Automatización de pruebas con Karate
(I)
21 de diciembre de 2022
¿Qué vamos a ver?
En este artículo hablaremos sobre Karate, un framework opensource de testing que,
gracias a su sencillez y expresividad, facilita el desarrollo de pruebas automáticas de
APIs de una manera rápida, clara y mantenible.
Dónde no es recomendable
En casos donde para la correcta ejecución de las pruebas se requiera un setup complejo
de datos o del entorno puede no resultar una buena opción. No tanto porque desde
Karate no se puedan realizar dichas acciones, pero a costa de perder su potencial de
claridad y sencillez.
¿Cómo funciona?
Entorno utilizado, prerrequisitos
Prerrequisitos:
Java 8+
Maven o Gradle
Eclipse o IntelliJ IDE
Todos los ejemplos que vamos a ver, y mucho más, están disponibles
en este repositorio.
Setup inicial
Para un proyecto maven se necesita añadir las siguientes dependencias:
<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-apache</artifactId>
<version>0.9.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-junit4</artifactId>
<version>0.9.4</version>
<scope>test</scope>
</dependency>
En el caso de un proyecto Gradle, se debe agregar las siguientes dependencias al
archivo build.gradle:
mvn archetype:generate \
-DarchetypeGroupId=com.intuit.karate \
-DarchetypeArtifactId=karate-archetype \
-DarchetypeVersion=0.6.2 \
-DgroupId=org.example \
-DartifactId=karate-example
Casos de uso principales
Para aplicar los casos de test se usará la web de prueba https://reqres.in/, la cual
proporciona diversos endpoints sobre sobre los que se pueden realizar peticiones GET,
PUT, POST y DELETE.
Sobre ella se aplicarán los ejemplos más comunes de pruebas utilizados con este
framework.
Para el diseño de los test se crearán tantos archivos “.feature” como se necesite. En
estos archivos se escribe la colección de escenarios que tienen como objetivo probar una
funcionalidad en concreto.
La especificación básica de la pruebas se basa en el lenguaje Gherkin:
Scenario:
Given
When
And
Then
Para ir viendo las principales funcionalidades de Karate se irán recorriendo los casos de
uso más habituales:
GET
La prueba consiste en obtener un listado de los usuarios del sistema y comprobar que la
respuesta es correcta.