Publicado: agosto 16, 2020
Trabajar con el framework BDD de Serenity: una visión general
Descripción general del marco BDD de Serenity
Serenity es una biblioteca de informes de código abierto que permite a los desarrolladores escribir criterios de aceptación mejor estructurados y fáciles de entender para proyectos de automatización de pruebasAdemás de generar informes detallados para cada prueba, la herramienta también muestra la lista de funcionalidades probadas en cada caso. Con los detalles de las pruebas ejecutadas y los requisitos evaluados, Serenity BDD Framework permite comprender mejor el funcionamiento y las funcionalidades de una aplicación.
Lo mejor del framework BDD de Serenity es que admite múltiples soluciones de pruebas de aceptación automatizadas. Puedes usarlo con JUnit para escribir rápidamente criterios de aceptación claros y fáciles de mantener, o integrarlo con WebDriver para probar aplicaciones web en Selenium. También es compatible con RestAssured para probar API REST. Serenity te permite usar cualquier herramienta de Desarrollo Guiado por Comportamiento (BDD), como Cucumber. Además, puedes usar cualquier herramienta de gestión de casos de prueba, como Jira, o bien optar por un enfoque basado en directorios.
¿Qué es el trastorno dismórfico corporal (TDC)?
BDD significa Desarrollo Guiado por el Comportamiento. De hecho, ha evolucionado a partir de Desarrollo impulsado por pruebas El Desarrollo Guiado por Pruebas (TDD) se centra en escribir los casos de prueba antes de escribir el código. El Desarrollo Guiado por Competencias (BDD) adopta un enfoque similar, pero se enfoca en el comportamiento del sistema y del usuario. En un entorno BDD, las pruebas se escriben en un lenguaje común para que todos los interesados (técnicos y no técnicos) comprendan el funcionamiento de la aplicación. Esto también facilita una buena colaboración entre los diferentes equipos. La capacidad de escribir casos de prueba en un lenguaje común como el inglés ofrece una gran ventaja a los desarrolladores al preparar los criterios de aceptación. Además, permite escribir casos de prueba que describan escenarios en tiempo real.
Historia y conceptos principales del BDD
Fue Daniel Terhorst-North quien impulsó el desarrollo de la metodología BDD en 2003. Liz Keogh contribuyó al concepto en 2004 junto con Chris Matts y desarrolló la plantilla «Dado / Cuando / Entonces» para capturar historias de usuario y convertirlas en un formato ejecutable. Este concepto se inspiró en el «Diseño Guiado por el Dominio» de Eric Evans. Otra fuente de inspiración fue la plantilla de historia de usuario «Como / Yo / Entonces que», creada por Rachel Davies. En 2005, Dave Astels, David Chelimsky, Steven Baker y Aslak Hellesoy fundaron el Proyecto RSpec, que daba soporte a BDD en Ruby. Mientras mejoraba este proyecto, Aslak creó una versión mejorada de RSpec Story Runner, a la que llamó Cucumber.
En un enfoque BDD, los requisitos se convierten en historias de usuario y escenarios de usuario válidos.
Un ejemplo de plantilla BDD es
- Dado que los
- Al
- Entonces
Otro ejemplo es
- Como (cliente premium)
- Quiero (echar un vistazo a las novedades en el segmento de accesorios de moda)
- Para poder pedir la mejor ropa.
BDD tiene una curva de aprendizaje mínima.wing to El uso de un lenguaje común facilita la colaboración fluida entre diferentes equipos. Aquí, se define el comportamiento, no la prueba. Por lo tanto, los criterios de aceptación se definen antes de desarrollar el código, lo cual beneficia a los responsables del negocio, ya que obtienen una comprensión clara del funcionamiento de la aplicación en lugar de centrarse en las funcionalidades.
Cucumber y Serenity son dos frameworks BDD populares.
Primeros pasos con el marco de trabajo BDD de Serenity
Estos componentes ejecutan el framework Serenity BDD. Todos son necesarios.
- Java
- IDE IntelliJ
- Gradle
- Plugin Serenity BDD
Paso 1: Instalar Java
Para descargar Java, visite el siguiente enlace:
https://www.oracle.com/in/java/technologies/javase-downloads.html
Descarga el Kit de Desarrollo de Java (JDK)

Java SE 14.0.2 es la última versión para la plataforma Java Standard Edition. Acepte el acuerdo de licencia y proceda con la descarga.

Una vez descargado el software, haga doble clic en la aplicación e instale Java.

Elige la carpeta de destino y haz clic en siguiente.

El paquete de instalación instala Java en su equipo. Haga clic en Cerrar para finalizar la instalación.

Para comprobar si la instalación de Java se realizó correctamente, abra el símbolo del sistema y escriba el comando version.
- java -version
Paso 2: Configure las variables de entorno
Para usar Java, debes configurar las variables de entorno. Agrega la ruta de Java en la configuración de variables del sistema y de usuario. Para ello,
- Haz clic en Sistema -> Configuración avanzada del sistema -> Avanzado -> Variables de entorno
Comprueba si la ruta de Java está añadida en las variables del sistema y en la ruta de las variables de usuario.

Java ya está listo para su uso.
Paso 3: Instalar el IDE
Para escribir y ejecutar pruebas con Serenity BDD Framework, necesitas un IDE moderno. Puedes elegir entre IntelliJ o Eclipse. Para instalar IntelliJ, visita el siguiente sitio web.
https://www.jetbrains.com/idea/

Haz clic en el botón Descargar para descargar la herramienta. IntelliJ se ofrece en dos versiones: Ultimate, con una prueba gratuita de 30 días, y la versión Community, que es gratuita y de código abierto. Elige la versión Community para realizar la prueba.

Ahora, haga doble clic en el software IntelliJ para iniciar el procedimiento de instalación.

Haz clic en Siguiente y elige la ubicación de instalación.

La siguiente pantalla le solicita que personalice las opciones de instalación.

Puedes crear un acceso directo en el escritorio o actualizar el menú contextual. La función más importante a tener en cuenta es la opción «Actualizar variable PATH». Al seleccionarla, se configurarán automáticamente las variables de entorno. Esto significa que no tendrás que añadir manualmente la ruta de IntelliJ a las variables del sistema ni a las de usuario.
En la siguiente pantalla, seleccione la opción del menú de inicio y haga clic en Siguiente para continuar con la instalación.

Una vez finalizada la instalación, le pedirá que reinicie el sistema. También puede reiniciarlo manualmente más tarde.

Tras reiniciar el sistema, abre el IDE de IntelliJ. La primera vez que lo abras, te pedirá que aceptes la política de privacidad.

En la siguiente pantalla, elige tu preferencia para compartir datos.

Ahora se abre el IDE.

Ya está listo para usar. Puedes elegir la versión de interfaz de usuario Drácula (en modo oscuro) o Clara (en modo claro).

Ahora, la herramienta está lista. Puede elegir un proyecto nuevo o abrir uno existente.
Paso 4: Instalar Gradle
Para ejecutar pruebas y generar informes, debes añadir una herramienta de compilación como Maven o Gradle. Puedes descargar Maven aquí:
https://maven.apache.org/download.cgi
Para Gradle, visita este enlace:
https://gradle.org/next-steps/?version=6.5.1&format=all
Crea una carpeta llamada Gradle en la unidad C y descomprime el paquete Gradle en esa carpeta.
Paso 5: Configurar la variable de entorno
Para usar Gradle, debes configurar las variables de entorno. Sigue los pasos del paso 2 para abrir la configuración de Variables de entorno. Agrega la siguiente ruta en Variables del sistema.
- C:\Gradle\gradle-6.5.1\bin
Para comprobar si Gradle está configurado correctamente, abra una ventana de símbolo del sistema y escriba el comando version.
- Gradle -versión

Por lo tanto, Gradle funciona correctamente.
Paso 6: Agregar el plugin Serenity BDD
Para ejecutar tus pruebas con Serenity BDD Framework, debes añadir el plugin de Serenity. Para ello, abre el IDE de IntelliJ.

Haz clic en Nuevo proyecto. En el menú de la izquierda, elige Gradle.

Elija un nombre y la ubicación de la carpeta de compilación y haga clic en Finalizar.

La herramienta descargará los archivos necesarios y creará un nuevo proyecto Gradle.

Una vez finalizada la compilación, se mostrará un mensaje indicando que la compilación se ha realizado correctamente.

Agregar el plugin Serenity BDD
Para aplicar el plugin Serenity BDD Framework al proyecto, abra el archivo build.gradle y edítelo con el siguiente código.
[javascript] aplicar plugin: 'java' aplicar plugin: 'net.serenity-bdd.aggregator' repositorios { mavenLocal() jcenter() } script de compilación { proyecto.ext { serenityVersion = '2.2.12' } repositorios { mavenLocal() jcenter() } dependencias { classpath('net.serenity-bdd:serenity-gradle-plugin:' + serenityVersion) } } dependencias { testCompile 'junit:junit:4.12' testCompile 'net.serenity-bdd:serenity-core:' + serenityVersion testCompile 'net.serenity-bdd:serenity-junit:' + serenityVersion testCompile 'org.assertj:assertj-core:3.4+' testCompile 'org.slf4j:slf4j-simple:1.7+' } gradle.startParameter.continueOnFailure = verdadero [/javascript]

Ten en cuenta que el código menciona serenityVersion. La última versión es la 2.2.12. Al ejecutar el código, se instalará el plugin Serenity versión 2.2.12.

Junto con el plugin Serenity Gradle, se instalarán todas las dependencias. En este ejemplo, se añade la biblioteca de pruebas JUnit. También puedes elegir cualquier otra biblioteca de pruebas y añadirla como dependencia.

Ahora, abre la ventana del símbolo del sistema y escribe el siguiente comando.
- Agregado de pruebas de Gradle

La compilación se realizó correctamente. Los informes de prueba se encuentran en la carpeta raíz: C:\Experitest\Serenity\targetsite\serenity. Al abrir el archivo index.html, puede consultar los informes de prueba generados por Serenity BDD Framework. Gracias a la implementación de continueOnFailure, las pruebas continuarán incluso si algunas fallan.

Realizando tu primera prueba
Aquí tienes una prueba de ejemplo utilizando un sitio de demostración http://decohere.herokuapp.comEste proyecto autentica la tarea de inicio de sesión del usuario y comprueba si el usuario puede iniciar sesión y navegar a la página de bienvenida.
Abre tu proyecto ExperitestSerenity en el IDE de IntelliJ.

Aquí tenéis una lista de los paquetes y clases creados para el proyecto.
CuandoAutenticando.java
Esta es la clase principal que verifica si el usuario está en la página de inicio, inicia sesión en la cuenta como administrador y navega correctamente a la página de bienvenida.
[javascript] package ExperitestTC1.features.authentication; import ExperitestTC1.steps.DecohereUser; import net.serenitybdd.junit.runners.SerenityRunner; import net.thucydides.core.annotations.Managed; import net.thucydides.core.annotations.Steps; import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.WebDriver; @RunWith(SerenityRunner.class) public class WhenAuthenticating { @Steps private DecohereUser user; @Managed(driver = “chrome”) WebDriver browser; @Test public void shouldBeAbleToLoginAsAdmin() { user.isOnTheHomePage(); user.logsInAsAdmin(); user.shouldBeOnLandingPage(); } } [/javascript]
DecohereUser.java
Esta clase proporciona los detalles de la página de inicio de la clase principal.
[javascript] package ExperitestTC1.steps; import ExperitestTC1.ui.DecohereHomePage; import ExperitestTC1.ui.LandingPage; import net.thucydides.core.annotations.Step; import static org.assertj.core.api.Assertions.assertThat; public class DecohereUser { private DecohereHomePage decohereHomePage; private LandingPage landingPage; @Step public void isOnTheHomePage() { decohereHomePage.open(); } @Step public void logsInAsAdmin() { decohereHomePage.loginAsAdmin(); } @Step public void shouldBeOnLandingPage() { assertThat(landingPage.noticeMessage()).isEqualTo(“You are now logged in as admin@decohere.com.”); } } [/javascript]
DecohereHomePage.java
Esta clase proporciona el nombre de usuario y la contraseña para iniciar sesión en el sitio.
[javascript] package ExperitestTC1.ui; import net.serenitybdd.core.pages.PageObject; import net.thucydides.core.annotations.DefaultUrl; @DefaultUrl(“https://decohere.herokuapp.com/”) public class DecohereHomePage extends PageObject { public void loginAsAdmin() { $(“#openLogin”).click(); $(“#username”).sendKeys(“admin@decohere.com”); $(“#password”).sendKeys(“admin”); $(“#login”).click(); } } [/javascript]
Página de destino.java
Esta clase muestra el mensaje de la página de bienvenida.
[javascript] package ExperitestTC1.ui; import net.serenitybdd.core.pages.PageObject; public class LandingPage extends PageObject { public String noticeMessage() { return $(“.notice”).getText(); } } [/javascript]
Al ejecutar la prueba en IntelliJ IDE, se abrirá la página principal de Decohere y se iniciará sesión en la cuenta. Serenity BDD generará un informe con los detalles de la prueba.

Resumen
La práctica biblioteca de informes del framework Serenity BDD permite ejecutar pruebas de aceptación mejor estructuradas y más fáciles de comprender. Gracias a los informes generados para cada acción en cada paso, los desarrolladores pueden entender el funcionamiento de cada funcionalidad e identificar errores rápidamente. Las bibliotecas de pasos de Serenity permiten anotar métodos con la anotación `@Step` para orquestar llamadas a diferentes capas, como bases de datos, servicios web y objetos de página. En definitiva, el framework Serenity BDD es una excelente opción para las pruebas de aceptación.
Continuous Testing Se trata de derribar barreras. Vea cuán importante es. Pruebas continuas en la nube Este video del seminario web se mantiene vigente en 2021.
También puede interesarle
Cómo los equipos financieros prueban los recorridos de usuario seguros sin comprometer la seguridad.
En las aplicaciones financieras, las partes más importantes son la autenticación, el control de acceso, etc.
¿Por qué la mayoría de los fallos en las solicitudes financieras no se detectan antes? Release
Un cliente abre su aplicación bancaria para transferir dinero. El…
Appium y los marcos de trabajo móviles modernos: Entendiendo los desafíos de la automatización
La automatización móvil ha madurado significativamente durante la última década, en gran medida…

