Ir al contenido principal

Proyecto de automatización Java + Gradle (1 de 4)

Me preguntaron una vez, como tener un proyecto Java - Gradle estandarizado que se pueda involucrar en integración continua bajo un servidor Jenkins, que pueda ejecutar pruebas de aceptación funcional al mejor estilo de Selenium sin importar donde se instale, es decir, ambiente de desarrollo, certificación o QA y Producción.

Pues bien, para responder la pregunta, a modo de reto personal decidí iniciar un proyecto ejemplo donde se explique a detalle cada elemento de la petición (El paso a paso estará divido en 4 partes). Por tanto comparto con el ejemplo:

Ejemplo:

Se necesita un formulario básico con los siguientes datos:
  1. Nombre: De máximo 150 caracteres.
  2. Identificación: De máximo 10 caracteres.
  3. Teléfono: De 7 caracteres
  4. E-Mail: Solo debe aceptar cadenas de tipo correo.

Contenido:

  1. Prerequisitos
  2. Estructura inicial del proyecto
Prerequisitos:


  • Tener instalado Eclipse, para efectos de esta entrada estoy utilizando Neon.2 Release (4.6.2) con los siguientes plugins adicionales (Cucumber, Gradle). Para saber como configurar eclipse con los plugins nombrados puede revisar la siguiente entrada.

Estructura inicial del proyecto:

Antes de comenzar debemos lanzar eclipse y crear un nuevo proyecto, para ello:

  1. En la barra de herramientas de eclipse seleccione la opción de menú File/New/Project
  2. En la ventana de nuevo proyecto escriba "Gradle" y luego seleccione el botón siguiente.

  3. En algunas ocasiones se puede presentar la pantalla de bievenida de gradle, consistente con la siguiente:



    Se sugiere en todo caso quitar la selección de la leyenda "Show the welcome page the next time the wizard appears", para que no aparezca en nuevas definiciones de proyectos gradle.

    Proceda seleccionando el botón siguiente.
  4. En la ventana "New Gradle Project", especifique el nombre del proyecto, para efectos de esta entrada será llamado "Contact"



    Proceda seleccionando el botón de siguiente.
  5. Especifique la distribución de Gradle que será aplicada al proyecto



    La forma por defecto corresponde con Gradle Wrapper, que se encarga de descargar las fuentes de Gradle de forma automática desde el sitio oficial.

    Opción recomendada:
    Se puede especificar las fuentes de gradle desde el equipo, para ello descargue las fuentes desde https://gradle.org/gradle-download, al momento de escribir esta entrada la versión reciente corresponde con la 3.3



    A partir del enlace Binary Distribution, se puede descargar la versión reciente, el paso a seguir sería descargarla y proceder a ubicarla en un directorio de fácil recordación.



    Una vez especificada la versión local de Gradle, proceda seleccionando el botón de siguiente.

    La ventana que se presenta a continuación, corresponde con una vista resumen de la versión de Gradle seleccionada. Con lo cual lo único restante es seleccionar el botón de finalizar.

  6. Una vez creado el nuevo proyecto Contact, procedemos a especificar el archivo build.gradle. Por defecto ya contiene información, pero para efectos de la entrada, lo personalizaremos a nuestro gusto. Para ello recomiendo las siguientes líneas de código.

    https://github.com/cupertime/Blogger/blob/master/build.gradle
  7. Una vez configurado el archivo build.gradle, es indispensable definir el archivo gradle.properties con el parámetro de url nombrado como urlEnvTest, esto es debido a que dentro del archivo build.gradle se encuentra la siguiente línea:

    tasks.withType(Test) { systemProperty 'urlEnvTest', System.getProperty('urlEnvTest', urlEnvTest )}

    Donde se especifica el uso de la variable. Dicho parámetro consiste en la forma en como se solicita la url que ejecutará Selenium Web Driver para cargar la Web donde iniciará el proceso de automatización. En las siguientes entradas veremos la utilidad de manejar la url de forma parametrizada. 

    Les adelanto que de entrada podremos disparar las pruebas de automatización funcional en diferentes ambientes sin necesidad de volver a compilar el código fuente.
  8. El paso a seguir corresponde con actualizar las dependencias de gradle y la estructura del proyecto a partir de: 
    • Seleccionar con el botón derecho del mouse el proyecto Contact y ubicar la opción Gradle en el menú contextual, posteriormente seleccionar la opción Refresh Gradle Project y con ello quedan actualizadas las librerías que utilicemos a nivel del proyecto y su estructura.

Para finalizar, se recomienda eliminar los paquetes por defectos de la aplicación señalados en la imagen:



Y hasta aquí nuestra primera entrada, al termino de este tutorial deberías tener el proyecto de esta forma:


Próximamente la segunda entrada, relacionada con nuestra prueba de aceptación funcional.

No olvides suscribirte o seguir mi blog, saludos :)



Comentarios

Entradas populares de este blog

Instalación de Eclipse y plugins Gradle, Cucumber en Centos 7

Normalmente utilizo Eclipse IDE para trabajar proyectos Java con las siguientes características: Gradle : Herramienta de automatización y gestión de dependencias. Cucumber : Herramienta para implementar prácticas de BDD. Selenium : Herramienta de automatización anexa para pruebas funcionales. JUnit : Framework para definición de pruebas unitarias. En esta entrada veremos como instalar y configurar eclipse  + los plugins de Gradle y Cucumber . Selenium lo veremos como dependencia de proyectos Gradle . Como diría mi amigo el Barto que es de origen Español "Vamos allá" : Contenido: Instalación de Eclipse IDE en Centos 7 Instalación de plugin Cucumber sobre Eclipse Neon.2 Instalación de plugin Gradle sobre Eclipse Neon.2 Instalación de Eclipse en Centos 7: Ingresamos al sitio oficial de descargas de Eclipse  https://www.eclipse.org/downloads/  y ubicamos el botón de descarga respectivo para nuestra arquitectura de máquina, tengo 64 bi...