Framework: Serenity BDD + Cucumber + Selenium WebDriver
Patrón: Page Object Model (POM)
Automatización del flujo completo de compra en https://www.demoblaze.com/ que incluye: abrir el navegador, agregar dos productos al carrito, visualizar el carrito, completar el formulario de compra y confirmar la compra.
- Java JDK 11 o superior — verificar:
java -version - Google Chrome instalado (versión reciente)
- Conexión a Internet activa
- Gradle 8.x — incluido en el proyecto vía
gradlew
src/
├── main/java/com/demoblaze/
│ ├── modelo/
│ │ └── DatosPrueba.java # POJO que mapea el JSON de datos
│ └── pages/
│ ├── HomePage.java # Page Object: página principal
│ ├── ProductoPage.java # Page Object: detalle de producto
│ ├── CarritoPage.java # Page Object: carrito de compras
│ └── OrdenPage.java # Page Object: modal de orden y confirmación
└── test/
├── java/com/demoblaze/
│ ├── runners/
│ │ └── Runner.java # Punto de entrada JUnit + Cucumber
│ └── stepDefinitions/
│ └── CompraSteps.java # Implementación de pasos Gherkin
└── resources/
├── datos/
│ └── datos_prueba.json # Datos de prueba externalizados
└── features/
└── flujoCompra.feature # Escenario en Gherkin (español)
Los datos están externalizados en src/test/resources/datos/datos_prueba.json. Para modificar productos, comprador o URL, edita ese archivo sin tocar el código.
Desde terminal (Windows):
.\gradlew.bat test --rerun-tasksDesde terminal (Unix/Mac):
./gradlew test --rerun-tasksFiltrar por tag:
.\gradlew.bat test --rerun-tasks -Dcucumber.filter.tags="@FlujCompra"Al finalizar la ejecución se genera automáticamente el reporte HTML en:
target/site/serenity/index.html
El reporte incluye:
- Resultado de cada paso del escenario
- Capturas de pantalla por acción
- Estadísticas de ejecución
El proyecto usa WebDriverManager (bonigarcia) para descargar automáticamente el ChromeDriver compatible. No es necesario descargar el driver manualmente.