Está en la página 1de 17

Conversemos

Karate como herramienta de


automatización de pruebas de integración
01. Qué es Karate

02. Conceptos a tener en cuenta


Tabla de 03. Características
contenido
04. Índice

05. Preguntas
Qué es Karate

Karate es una herramienta de código abierto utilizado para la automatización de pruebas de


API o pruebas de integración.
Conceptos básicos

API
Una API es un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar el
software de las aplicaciones. API significa interfaz de programación de aplicaciones.

BDD
(Behavior Driven Development ): es un proceso de desarrollo de software que trata de
combinar los aspectos puramente técnicos y los de negocio, de manera que tengamos un marco
de trabajo, y un marco de pruebas, en el que los requisitos de negocio formen parte del proceso
de desarrollo.
Conceptos básicos

Cucumber
Es una de las herramientas que podemos utilizar para automatizar nuestras pruebas en BDD.

Gherkin
Definimos el comportamiento del software, sin entrar en su implementación.
Características

● No se requieren conocimientos de Java e incluso los no programadores pueden escribir


pruebas.
● Admite 'nativamente' JSON y XML, incluidas las expresiones JSONPath y XPath.amos
con c.
● Las pruebas son superlegibles, ya que los datos del escenario se pueden expresar en línea,
en tablas JSON, XML, Cucumber Scenario Outline.
● Capacidades integrales de afirmación, y las fallas informan claramente qué elemento de
datos (y ruta) no es el esperado, para una fácil resolución de problemas, incluso de
grandes cargas útiles.
Características

● Alternativa más simple y poderosa al esquema JSON para validar la estructura y el


formato de la carga útil, que incluso admite la lógica de validación entre campos /
dominios
● Los scripts pueden llamar a otros scripts, lo que significa que puede reutilizar y mantener
fácilmente la autenticación y 'configurar' los flujos de manera eficiente, a través de
múltiples pruebas.
Índice
Ventajas y desventajas

Ventajas
● Integración con java, JS
● Json, xml native support
● Capacidades asertivas potentes
● No se requiere saber programar

Desventajas
● No ‘find usage’, autorrenombrar
● Dificulta la preparación de data y entorno antes de lanzar la prueba
● Reduce claridad y sencillez al hacer uso de funciones java y js
Índice
Requisitos

Karate requiere al menos Java 8 y luego Maven, Gradle, Eclipse o IntelliJ para ser instalado.
Índice
Dependencias

Maven
< dependencia >
< groupId > com.intuit.karate </ groupId >
< artifactId > karate-junit5 </ artifactId >
< versión > 1.0.1 </ versión >
< alcance > prueba </ alcance >
</ dependencia >

Gradle
testCompile 'com.intuit.karate:karate-junit4:0.9.4'
Índice
Estructura de carpetas

src/test/java/
| + - - runners
| +- - - EjemploRunner
| +- - resources
| +- - feature
| +- - - Api
| +- - - - api.feature
| +- - jsonfiles
| +- - - api_ejemplo.json
| +- - xmlfiles
| +- - - api_ejemplo.xml
| +- - karate-config.js
Índice
Convenciones de nombres
Índice
Configuración

karate-config.js

function globalVariables() {
if (!env) { karate.configure('logPrettyResponse', true);
env = 'qa'; karate.configure('logPrettyRequest', true);
} karate.configure('connectTimeout', 6000);
var config = { karate.configure('readTimeout', 15000);
}; }
Índice
Configuración y uso de variables

def = Establecer una variable con nombre


assert = Confirmar si una expresión se evalúa como true
print = Impresión en pantalla.
read = lectura de archivos json o xml
url, path, request, method, status, param, header
Índice
Reporte
Preguntas

Para más información de Karate, visita la siguiente URL:


https://intuit.github.io/karate/
racias

También podría gustarte