Este proyecto implementa pruebas End-to-End (E2E) para el flujo de compra en el sitio web 'Sauce Demo', utilizando Selenium con Python y siguiendo el patrón de diseño Page Object Model (POM).
- Python 3.6 o superior.
- pip (gestor de paquetes de Python).
- WebDriver para Google Chrome o Firefox.
- selenium 4.11.2
- webdriver-manager 4.0.0
- pytest 7.4.0
- pytest-html 3.2.0
- Clonar el repositorio o descargar los archivos.
- Crear y activar un entorno virtual en Python.
- Instalar las dependencias con
pip install -r requirements.txt
. - Descargar el WebDriver correspondiente y colocarlo en la carpeta
/drivers
o en el PATH del sistema.
Ejecutar las pruebas con el comando python -m pytest -v --html=reports/report.html
.
/drivers
: WebDriver para el navegador./pages
: Clases para cada página web según el modelo POM./tests
: Scripts de prueba.requirements.txt
: Dependencias del proyecto.
- Asegúrate de tener Node.js y npm instalados en tu máquina.
- Instala Cypress si aún no lo has hecho. Puedes instalarlo ejecutando el siguiente comando en tu terminal: npm install cypress --save-dev
- Crea un nuevo directorio para tu proyecto de pruebas si aún no tienes uno.
- Dentro de este directorio, inicializa un nuevo proyecto de Node.js ejecutando: npm init -y
- Instala Cypress como se mencionó anteriormente.
- Abre Cypress por primera vez ejecutando: npx cypress open Esto configurará la estructura de directorios estándar de Cypress en tu proyecto.
- Localiza el directorio "e2e/APITesting" en tu proyecto.
- Crea un nuevo archivo de especificación para tus pruebas, por ejemplo, "httprequests.cy.js".
- Copia y pega el código de las pruebas proporcionado en este archivo.
- Abre Cypress utilizando el comando
npx cypress open
si aún no está abierto. - En la interfaz de usuario de Cypress, encontrarás el archivo de especificación que creaste. Haz clic en él para ejecutar las pruebas.
- Lo puedes ejecutar por consola npx cypress run --spec + La ruta del test.
- Observa la ejecución de las pruebas en tiempo real en el navegador de Cypress o en la terminal.
Fecha de Ejecución: 20 de Marzo de 2024 Entorno de Prueba: Desarrollo Ejecutor de Prueba: Equipo de QA
Total de Pruebas Ejecutadas: 4 Total de Éxitos: 3 Total de Fallas: 1 Total de Pruebas Saltadas: 0
-
Añadir una Mascota a la Tienda
- Estado: Éxito
- ID de Mascota Creada: 123456789
- Detalles: La mascota con ID 123456789 fue creada exitosamente con el nombre "doggie" y estado "available".
-
Consultar la Mascota Ingresada Previamente (Búsqueda por ID)
- Estado: Éxito
- ID de Mascota Consultada: 123456789
- Detalles: La consulta de la mascota con ID 123456789 fue exitosa, validando su existencia y datos.
-
Actualizar el Nombre de la Mascota y el Estado a "Sold"
- Estado: Fallo
- ID de Mascota Actualizada: 123456789
- Detalles: La actualización del nombre y estado de la mascota con ID 123456789 falló debido a un error de timeout de la petición. Es posible que la API esté experimentando problemas de rendimiento.
-
Consultar la Mascota Modificada por Estado (Búsqueda por Estado)
- Estado: Éxito
- Estado de Búsqueda: Sold
- Detalles: La búsqueda de mascotas con estado "sold" no retornó la mascota con ID 123456789 debido al fallo en la actualización previa, pero la ejecución de la petición fue exitosa.