Serenity es una librería de código abierto que ayuda a escribir pruebas de aceptación automatizadas de mayor calidad y de manera más eficiente.
ScreenPlay es un patrón de diseño para automatización de calidad y su comportamiento gira en torno a la metodología de desarrollo Behaviour Driven Development (BDD)
Ya teniendo un poco más claro los conceptos anteriores, continuamos con los pasos para empezar a automatizar.
Prerequisitos
En la máquina se debe tener instalado las herramientas necesarias para realizar la automatización.
En esta capa se escriben los archivos .feature, estos describen las características y escenarios a probar haciendo uso del lenguaje Gherkin, además se pueden entender como las historias de usuario a desarrollar.
Ejemplo
Contiene los archivos runner encargados de ejecutar los escenarios de los feature. Se usan las anotaciones @RunWhit() @CucumberOptions() para especificar qué ejecutar y cómo hacerlo.
Ejemplo
La zona subrayada indica el feature que será tomado en cuenta.
Gestiona los fragmentos de código definidos en el Given, Then, When de los escenarios de los archivos .feature. Los fragmentos de código son conocidos como Code Snippets los cuales son métodos que mapean las instrucciones de los escenarios.
Ejemplo
Esta clase contiene las clases que son el corazón del patrón de screenplay=Las tareas. Las tareas son acciones de alto nivel que definen un conjunto de interacciones en el lenguaje de negocio.
Ejemplo
Se encargan de las interacciones con la interfaz de usuario. Muchas interacciones ya fueron desarrolladas y se encuentran disponibles gracias a las librerías de screenplay y de serenity BDD. Ejemplo: Open, Click, Enter, Hit, SelectFromOptions.
Esta capa gestiona los Asserts o verificaciones de las pruebas las cuales son el fin último de las mismas, ya que con estas capturamos la información de la interfaz que puede ser usada. Text,Value, Visibility.
Almacena las clases en las cuales se mapean los elementos de la interfaz de usuario, inputs o botones.
NOTA: Únicamente se mapean los elementos, las interacciones con los mismos se llevan a cabo por las interacciones en la capa de interactions.
Los objetos de negocio son una abstracción de un ente real o virtual, modelado mediante atributos y métodos.
Contiene clases con los métodos unitarios que pueden ser utilizados libremente por otras clases del proyecto como: Conversores, Waits, verificadores.
Esta es una capa muy importante que tiene como objetivo dar manejo a los errores que pueden presentarse en la aplicación. Es una capa sensible al negocio y particular a cada proyecto.
1. Instala Git Bash en tu computadora utilizando la terminal. Lo puedes descargar del siguiente link: https://git-scm.com/downloads
2. Dentro de tu proyecto escribe: $git init. Ejm:
3. Agrega los archivos a tu nuevo repositorio local utilizando el siguiente comando (no olvides el punto después de “add”): $git add. Ejm:
4. Para entender el siguiente paso, es necesario entender el significado de “commit”. Commit es un comando que va creando distintas versiones del proyecto. Conforme vayamos avanzando, creando nuevos archivos y mejorando el proyecto, podemos ir guardando las distintas versiones en github, para esto será necesario que hagamos un commit cada vez que queramos crear una nueva versión. Utilizando el siguiente código: $git commit -m “version1.0”. Ejm:
5. Ahora, es necesario en la terminal ir al repositorio git (la carpeta del proyecto) y estando dentro pegar el siguiente código: $git remote add origin https://github.com/usuario/repositorio
6. Ahora se necesita escribir $git remote -v
7. El último paso es para alojar todos los cambios en la rama creada en Git con el comando: $git push origin master