Starter project creado en vivo en stream de Twitch.tv/CharlyAutomatiza basado en Karate DSL.
- 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.
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
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