Giter VIP home page Giter VIP logo

retoqadevops2023c1g1's Introduction

Reto DevOps - Grupo #1

Este proyecto contiene la automatización de pruebas para APIs REST y SOAP.

Requisitos

Para este proyecto, se necesitará:

Windows

  • Java 8 o superior.
  • Gradle para compilar el proyecto.
  • Configuración de SonarQube.
  • Configuración de Jenkins.

Ubuntu

¿Cómo correr el proyecto?

Para ejecutar el proyecto se deben seguir los siguientes pasos:

Windows

  1. Abrir una consola de comandos o terminal en tu equipo dentro de la carpeta del proyecto.
  2. Ejecutar el siguiente comando en la terminal:

.\gradlew clean test aggregate

Ubuntu

  1. Abrir una consola de comandos o terminal en tu equipo dentro de la carpeta del proyecto.
  2. Ejecutar el siguiente comando en la terminal:

./gradlew clean test aggregate

Estructura de las carpetas - Patrón ScreenPlay

main/java/com/sofkau

  • interactions: Contiene las clases que modelan las interacciones entre los actores y los elementos de la interfaz de usuario.
  • models: Contiene clases con las definiciones de objetos para automatizar interacciones en aplicaciones.
  • questions: Contiene las clases que incluyen preguntas claves para cada test case.
  • tasks: Contiene las clases con métodos que realizan tareas específicas dentro del sistema, lo cual nos permitiría reutilizar la lógica sí es necesitarlo.
  • utils: Contiene las clases con métodos que nos realicen procesos que son comunes pero utiles.

test/java/com/sofkau

  • runners: Clases para correr los test cases.
  • setup: Clases para configuraciones.
  • stepdefinitions: Clases con la ejecución de los pasos definidos en los feature .

test/resources/java/com/sofkau

  • features: Contiene los gherkin con la definición de los casos de prueba en un lenguaje natural.

Configuración de Sonar

Paso 1:

  • Inicialmente nos dirigimos al panel de control de Jenkins y seleccionamos la opción "Administrar Jenkins", allí seleccionamos la opción "Administrar plugins".

Paso 1

Paso 2:

  • Allí buscamos el plugin con el nombre: "SonarQube Scanner for Jenkins"

Paso 2

Paso 3:

  • Una vez instalado el plugin, al momento de configurar una tarea, dentro de los build steps tendremos la opción de seleccionar el plugin de SonarQube para su ejecución.

Paso 3

Paso 4:

  • Una vez seleccionado el nuevo step podremos configurar el escaneo utilizando la siguiente configuración:

Paso 4

Configuración de Jenkins

Paso 1

  • Inicialmente procedemos a crear una nueva tarea.

Paso 1

Paso 2

  • Después procedemos a nombrar y seleccionar el tipo de proyecto que vamos a utilizar.

Paso 2

Paso 3

  • Una vez se ha creado la nueva tarea se procede a configurar esta tarea ingresando a la siguiente opción.

Paso 3

Paso 4

  • Dentro de las opciones de configuración, inicialmente completaremos la configuración del origen del código fuente.

Paso 4

Paso 5

  • Activamos la siguiente opción para que Jenkins utilice el webhook creado previamente en GitHub.

Paso 5

Paso 6

  • Dentro de la configuración del build step procedemos a configurar la línea de código que enviará Jenkins vía CMD, en esta caso usaremos un comado para Windows.

Paso 6

Paso 7

  • Ahora procederemos a configurar el envío de reportes y mensajes vía email, inicialmente ingresaremos a la configuración de Jenkins usando la siguiente opción:

Paso 7

Paso 8

  • Posteriormente ingresamos a la opción de configuración de sistema.

Paso 8

Paso 9

  • Dentro de esta opción deberemos configurar las siguientes opciones:

Paso 9

Paso 10

  • Dentro de estas opciones podremos configurar las opciones de Subject y cuerpo del email.

Paso 10

Paso 11

  • Finalmente debemos configurar la dirección de correo desde la cual se enviará el email.

Paso 11

Paso 12

  • Dentro del build step que ya tenemos creado debemos seleccionar la siguiente opción dentro de las acciones del Build.

Paso 12

Paso 13

  • Una vez seleccionada la acción debemos configurar las direcciones de correo donde se enviará el email.

Paso 13

Paso 14

Posteriormente tendremos la opción de configurar el subject y el cuerpo del email pero esta configuracion aplicará solamente para esta tarea.

Paso 14

Paso 15

  • Aquí seleccionaremos el Trigger para el envío del email, en este caso seleccionaremos que siempre se envie un email pero tenemos muchas más opciones.

Paso 15

Paso 16

  • Una vez seleccionado el Trigger podremos seleccionar la lista de personas a las cuales será enviado el email.

Paso 16

Paso 17

  • Finalizada la configuración crearemos una nueva acción en la cual se enviarán emails cada vez que falle el build, para esto seleccionaremos la siguiente opción:

Paso 17

Paso 18

  • Aquí ingresaremos unicamente las direcciones de correo electrónico ya que esta acción siempre se disparará cuando falle el build.

Paso 18

retoqadevops2023c1g1's People

Contributors

jessilopezobando avatar ivan-ruiz00 avatar yeisonosorio avatar osp1n4 avatar grettymt avatar miguelmendoza22 avatar meli0720 avatar cristhianmorenog avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.