HEADER_lecciones_de_software

Conceptos básicos para una ejecución en Screenplay

por Jhordany Mosquera, el 10 de julio de 2019

h_screenplay

El patrón de screenplay tiene un enfoque de desarrollo encaminado por comportamiento Behaviour Driven Development (BDD). Esta no es una herramienta para testing sino una estrategia de desarrollo que se enfoca en prevenir defectos en lugar de encontrarlos en un ambiente controlado, tal y como se explica en el artículo BDD para la automatización de pruebas

Para automatizar procesos, también se utiliza la herramienta Cucumber para implementar metodologías como BDD, las cuales permiten ejecutar descripciones funcionales escritas en texto plano como pruebas de software automatizadas.

Para la implementación en los temas de la automatización, debemos tener en cuenta que se deben manejar ciertos conceptos que abarquen los siguientes elementos: Runners, User Interface, Features, StepDefinitions, task, Interactions, Questions y Reports. 

A continuación, explicaremos cada paquete que se maneja en Screenplay para aclarar dudas sobre las definiciones, entender la mejora desde la forma con POM hasta Screenplay. Además encontrarás el paso a paso para llevar a cabo una ejecución simple de un proceso de pruebas. 

Runners: es el ejecutor de los features, tags, glue (donde se encuentra el step definition), URL del driver y la conexión con excel del drive.

En la imagen podrás ver las configuraciones previas o a tener en cuenta de los features.

Runners

 

User Interface: las UI son el mapeo de la interfaz, donde capturaremos todos los elementos con los cuales podríamos llegar a interactuar durante la automatización. Además, se le puede añadir la URL donde se iniciará la prueba.

BDD

ejecución en Screenplay

Features: los features son las historias de usuario que se llevarán a cabo en las pruebas y proveerá los métodos que utilizaremos más adelante para los StepDefinitions.

Features

StepDefinitions: los Step Definitions son la traducción de los features a código. Los métodos que se utilizaran son los features (historias de usuario), por lo tanto, iremos a la clase “RunnerTags”, le daremos clic derecho sobre ésta, y en la opción “Run as” escogemos “JUnit Test”.

StepDefinitions

Y los pegamos en los StepDefinitions correspondientes.

StepDefinitions correspondientes

Se deben tener en cuenta las importaciones para las anotaciones @Given, @When y @Then

when y then

Actor

automatización de procesos

Task: son las interacciones que se llevarán a cabo para cumplir con las historias de usuarios planteadas. Las tasks se pueden caracterizar porque no se habla en términos de clic, set data o select. Son verbos más amplios como loguearse formulario, cerrar sesión y buscar.

Tal y como explica Víctor Soto, experto en automatización de pruebas de Pragma, hay que pensar en términos de tareas. Por ejemplo, para ejecutar la tarea “Login”, se requiere de algunas Interacciones y saber interpretar cuáles son esas acciones a llevar a cabo y verificar que sí cumplan con el objetivo principal.

task

task y BDD

Interactions: indicar  acciones como dar clic, select,  enviar datos, scroll, entre otras cosas. 

INTERACCIONESQuestions: son lo assert a llevar a cabo para asegurar el cumplimiento de ciertos parámetros.

Reports: los reportes generados por medio de los test ejecutados se visualizarán de la siguiente forma:

questions y reports de BDD

REPOTS BDD

BDD y automatización

Conoce las claves para tener una transformación digital ágil

Lecciones Pragma

Lecciones en Academia Pragma

Aquí encontrarás tutoriales técnicos para que apliques en temas de desarrollo de software, cloud, calidad en software y aplicaciones móviles. 

También puedes visitar nuestro Blog con contenido actual sobre Transformación Digital, Marketing, Conocimiento de Usuario y más. 

Blog

Suscríbete a la academia

Descarga la Guía para trabajar con ambientes IBM Websphere Portal