Este proyecto contiene un conjunto de pruebas automatizadas para verificar la funcionalidad de la página web SauceDemo.
El propósito de este proyecto es validar las principales funcionalidades del sitio web SauceDemo mediante pruebas automatizadas utilizando Selenium WebDriver, JUnit y Java.
Las funcionalidades probadas incluyen:
- Inicio de sesión: Validación de credenciales y flujo de autenticación.
- Carrito de compras: Agregar, eliminar y modificar productos en el carrito.
- Proceso de compra: Completar el flujo de compra y verificar mensajes de confirmación.
El proyecto está organizado de la siguiente manera:
Selenium_Maven_Challenge
├── pom.xml
├── README.md
└── src
└── test
└── java
└── com
└── example
├── pages
│ ├── CartPage.java
│ ├── CheckoutPage.java
│ ├── InventoryPage.java
│ └── LoginPage.java
├── utils
│ └── BaseTest.java
├── CartTest.java
├── LoginTest.java
└── PurchaseTests.java
- LoginPage.java: Contiene métodos para realizar acciones en la página de inicio de sesión (login).
- InventoryPage.java: Representa la página de inventario. Contiene métodos para manejar el carrito de compras y el logout.
- CartPage.java: Define los métodos para proceder al checkout desde el carrito.
- CheckoutPage.java: Contiene los métodos para ingresar la información del cliente, finalizar la compra y verificar el mensaje de confirmación.
- LoginTest.java: Verifica los flujos de inicio de sesión y cierre de sesión.
- CartTest.java: Valida la funcionalidad del carrito de compras, como añadir productos.
- PurchaseTests.java: Prueba el flujo completo de compra, incluyendo el checkout y la verificación del mensaje de éxito.
- testEmptyLogin: Verifica que aparezca un mensaje de error cuando se intenta iniciar sesión con campos vacíos.
- testInvalidLogin: Valida que se muestre un mensaje de error al ingresar credenciales incorrectas.
- testSuccessfulLogin: Confirma que el usuario puede iniciar sesión exitosamente con credenciales válidas.
- testLogout: Verifica que el usuario pueda cerrar sesión correctamente.
-
testModifyProductOrder:
Verifica que el usuario pueda modificar el orden de los productos en la página de inventario seleccionando diferentes criterios de orden (ejemplo: precio bajo-alto).
Esta prueba garantiza que la funcionalidad de ordenamiento opere correctamente, mostrando los productos en el orden deseado. -
testAddMultipleProductsToCart:
Valida que el usuario pueda añadir varios productos al carrito desde la página de inventario y que los productos seleccionados se muestren correctamente en el carrito.
Esto asegura que la funcionalidad de agregar múltiples productos al carrito sea precisa y confiable. -
testVerifyAndModifyCart:
Comprueba que el usuario pueda interactuar con los productos en el carrito, incluyendo visualizar los productos añadidos, modificar las cantidades y eliminar productos si es necesario.
La prueba asegura que el carrito se comporte como se espera ante estas acciones.
- testCompletePurchaseFlow: Verifica el flujo completo de compra, incluyendo añadir productos al carrito, proceder al checkout, finalizar la compra y verificar el mensaje de confirmación.
- Clona este repositorio.
- Asegúrate de tener configurado Maven en tu máquina.
- Ejecuta
mvn clean installpara instalar las dependencias.
Ejecuta las pruebas usando el siguiente comando:
mvn testSi deseas contribuir a este proyecto, realiza un fork del repositorio, crea una rama con tus cambios y envía un pull request.
¡Gracias por revisar este proyecto!