Thanks to visit codestin.com
Credit goes to github.com

Skip to content
 
 

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Proyecto de integración de Selenium con Spring

Descripción:
Este proyecto es un ejemplo sencillo que muestra cómo integrar pruebas de extremo a extremo con Selenium dentro de una aplicación Spring Boot.
La aplicación es una pequeña página web con dos rutas principales: la página de inicio (`/`) y un formulario de registro (`/register`) implementadas con controladores Spring y plantillas Thymeleaf.

¿Cómo integra Selenium con Spring en este proyecto?

1) Arranque de la aplicación durante las pruebas
- Las pruebas E2E usan `@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)` para arrancar la aplicación Spring Boot en un puerto aleatorio durante la ejecución de los tests.
- `@LocalServerPort` inyecta el puerto asignado en las pruebas para construir la URL `http://localhost:{port}` que Selenium visita.

2) Tests que usan Selenium WebDriver
- Los tests E2E se encuentran en `src/test/java/com/practice/selenium/e2e` y usan `ChromeDriver` (con `ChromeOptions`) como `WebDriver`.
- Ejemplos de tests:
  - `HomeE2ETest`: abre la ruta `/` y verifica que el elemento con id `titulo` contiene el texto esperado.
  - `RegisterE2ETest`: abre la ruta `/register`, completa el formulario (inputs, select, radios, checkboxes, textarea), envía el formulario y espera el mensaje de éxito.

3) Cómo se comunican pruebas y aplicación
- Las pruebas lanzan un servidor real de Spring Boot (no mocks HTTP). Selenium se conecta a ese servidor mediante HTTP local y simula la interacción del usuario contra las páginas Thymeleaf.

4) Componentes relevantes en el código
- `src/main/java/com/practice/selenium/SeleniumApplication.java`: clase principal Spring Boot.
- `src/main/java/com/practice/selenium/controller/PageController.java`: mapea `/` y añade el atributo `mensaje` al modelo.
- `src/main/java/com/practice/selenium/controller/RegisterController.java`: mapea `/register` para mostrar y procesar el formulario.
- `src/main/resources/templates/home.html` y `register.html`: plantillas Thymeleaf que renderizan la UI que Selenium interactúa.
- `src/test/java/com/practice/selenium/e2e/*`: pruebas E2E que controlan el navegador y validan comportamiento.

5) Requisitos para ejecutar las pruebas E2E
- Tener un navegador Chrome y el `ChromeDriver` compatible instalado y accesible en el `PATH`, o configurar el driver correspondiente.
- Las pruebas usan `ChromeOptions` con modo headless en los ejemplos para ejecución automatizada.

6) Cómo ejecutar (resumen)
- Ejecutar con Maven desde la raíz del proyecto (asegurar `ChromeDriver` disponible):
  - `./mvnw test` (Linux/macOS) o `mvnw.cmd test` (Windows).

Notas finales:
Este proyecto es una plantilla clara para entender cómo arrancar una aplicación Spring Boot dentro del ciclo de pruebas y cómo usar Selenium WebDriver para ejecutar pruebas de integración que interactúan con la aplicación en tiempo de ejecución.

About

Este proyecto es un ejemplo que muestra cómo integrar pruebas de extremo a extremo con Selenium dentro de una aplicación Spring Boot.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages