Este proyecto contiene pruebas automatizadas de Selenium para validar la funcionalidad del carrito de compras en la página https://www.demoblaze.com
- Java 25+
- Maven 3.6+
- Chrome/Chromium instalado
- Internet
- Navega a la página de DemoBlaze
- Selecciona un producto
- Agrega el producto al carrito
- Valida que aparezca una alerta de confirmación
- Valida que el producto aparezca en el carrito
- Navega a la página de DemoBlaze
- Agrega dos productos diferentes al carrito
- Valida que ambos productos aparezcan en el carrito
- Navega a la página de DemoBlaze
- Agrega un producto al carrito
- Elimina el producto del carrito
- Valida que el producto desaparece del carrito
- Navega a la página de DemoBlaze
- Agrega un producto al carrito
- Refresca la página
- Valida que el producto sigue en el carrito
testeo/
├── pom.xml # Configuración de Maven y dependencias
├── src/
│ ├── main/
│ │ └── java/org/example/
│ │ └── Main.java # Clase principal
│ ├── test/
│ │ ├── java/org/example/
│ │ │ ├── BaseTest.java # Clase base para inicializar WebDriver
│ │ │ └── CartTests.java # Casos de prueba del carrito
│ │ └── resources/
│ │ └── testng.xml # Configuración de TestNG
└── target/ # Directorio de compilación
Las dependencias se descargarán automáticamente cuando ejecutes Maven:
- Selenium WebDriver: Para automatización del navegador
- WebDriverManager: Para gestionar automáticamente los drivers de Chrome
- TestNG: Framework para unitarias y ejecutar tests
- JUnit: Framework adicional para pruebas
mvn clean testmvn clean test -Dtest=CartTests#testTC_CART_01_AddProductmvn clean test -DsuiteXmlFile=src/test/resources/testng.xmlmvn clean compile-
WebDriver Manager: El proyecto utiliza WebDriverManager que descarga automáticamente el driver de Chrome compatible con tu versión del navegador.
-
Waits Explícitos: Los tests utilizan WebDriverWait con timeouts de 10 segundos para esperar a que los elementos se carguen correctamente.
-
SoftAssert: Se utiliza SoftAssert para permitir que el test continúe incluso si hay fallos en las aserciones intermedias, proporcionando un reporte completo al final.
-
Manejo de Alertas: Los tests manejan las alertas JavaScript de confirmación que devuelve DemoBlaze.
-
Limpieza: El WebDriver se cierra automáticamente después de cada test en el método
tearDown().
Los tests utilizan los siguientes localizadores para encontrar elementos:
- Productos:
By.CLASS_NAME("hrefch")- Enlaces de productos - Botón Agregar:
By.xpath("//a[contains(text(), 'Add to cart')]") - Carrito:
By.ID("cartur")- Enlace del carrito - Botón Eliminar:
By.xpath("//a[contains(text(), 'Delete')]") - Alerta:
WebDriverWaitconEC.alertIsPresent()
- Verifica que Chrome/Chromium esté instalado
- WebDriverManager debería descargar el driver compatible automáticamente
- Aumenta el timeout en
BaseTest.javasi la página carga lentamente - Verifica tu conexión a internet
- Los localizadores pueden cambiar si DemoBlaze modifica su HTML
- Actualiza los localizadores según sea necesario
Ver pom.xml para la lista completa de dependencias y versiones.
Tests creados para automatización de pruebas en DemoBlaze
MIT