Skip to content

charlyautomatiza/starter-karate-dsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twitch Discord

Karate DSL

API Test Automation - Karate DSL For Restful and GraphQL APIs

Starter project creado en vivo en stream de Twitch.tv/CharlyAutomatiza basado en Karate DSL.

Requerimientos generales

  • Instalar algún cliente git como por ejemplo git bash

Descargar e instalar

  • Java Development Kit 17 (JDK)
    • Asegurarse de tener configurada la variable de entorno JAVA_HOME con la ruta de la JDK respectiva.
    • En caso de tener otra versión anterior de la JDK, para que funcione el proyecto se deberá actualizar en el archivo pom.xml la propiedad java.version.
  • Maven (Maven)
    • Asegurarse de tener configurada la variable de entorno M2_HOME o PATH con la ruta de la Maven respectiva.

Instalación del framework de pruebas

Clonar el repositorio:

git clone https://github.com/charlyautomatiza/starter-karate-dsl.git

Para la ejecución de los test de API Rest situarse en la raíz del proyecto y ejecutar

mvn clean test

Para ejecutar un test específico de API Rest, por ejemplo del feature users.feature aquellos casos con el tag @create_user.

mvn clean test "-Dkarate.options=--tags @create_user"

Para ejecutar un test específico de API GraphQL, por ejemplo del feature users-gql.feature aquellos casos con el tag @graphql_examples.

mvn clean test "-Dkarate.options=--tags @graphql_examples"

Para ejecutar todos los tests tanto de API Rest como de GraphQL se puede ejecutar con el tag @run.

mvn clean test "-Dkarate.options=--tags @run"

Importante: Se agrega un test fallido para tener ejemplo de como se visualizan los errores en el reporte.

El reporte unificado de los resultados de los test

Luego de cada ejecución se genera dentro de la carpeta target/karate-reports los reportes en formato html.

Para más detalle se puede consultar la documetación oficial

Github Actions para ejecutar los test de APIs

Nueva carpeta .github/workflows con el archivo karate-test-runner.yml para ejecutar nuestros tests desde un pipeline de Github Actions.

JUnit Report obtenido desde Marketplace de GitHub

El workflow está configurado para que se ejecute ante el siguiente evento:

  • push: cuando se hace un push a un repositorio