Loading repository data…
Loading repository data…
D3PA / repository
🎫(Grupo Nº 10) En este repositorio está todo el material del proyecto final del curso de XAcademy, donde se desarrolló un plan de pruebas funcional y se implementaron automatizaciones clave con Cypress para Ticketazo
Desarrollo de pruebas funcionales y automatizadas sobre la plataforma Ticketazo. Este repositorio incluye todos los entregables requeridos según los criterios definidos para el challenge final.
Este proyecto forma parte de XAcademy QA Automation y tiene como objetivo poner en práctica competencias clave en testing de software:
Aplicar conocimientos de QA manual y automatizado, desarrollando un plan de pruebas completo y casos automatizados usando Cypress, junto con una correcta gestión de defectos en Trello.
| 📌 Entregable | 🔗 URL |
|---|---|
| Reporte de bugs | |
| Plan de pruebas | |
| Repositorio |
Este trabajo fue posible gracias al trabajo colaborativo de nuestro equipo:
El proyecto incluye más de 20 casos de prueba automatizados que cubren las funcionalidades críticas de Ticketazo:
# Clonar el repositorio
git clone https://github.com/D3PA/proyecto-qa-ticketazo.git
# Navegar al directorio del proyecto
cd proyecto-qa-ticketazo
# Instalar dependencias
npm install
# Ejecutar todas las pruebas en modo headless
npx cypress run
# Abrir Cypress Test Runner (modo interactivo)
npx cypress open
# Ejecutar pruebas específicas
npx cypress run --spec "cypress/e2e/login/login.cy.js"
# Ejecutar pruebas por módulo
npx cypress run --spec "cypress/e2e/admin/**"
npx cypress run --spec "cypress/e2e/comprador/**"
npx cypress run --spec "cypress/e2e/organizador/**"
El proyecto está configurado con los siguientes parámetros optimizados:
// cypress.config.js
{
baseUrl: 'https://vps-3696213-x.dattaweb.com/',
viewportWidth: 1280,
viewportHeight: 720,
defaultCommandTimeout: 8000,
requestTimeout: 10000,
responseTimeout: 15000
}
proyecto-qa-ticketazo/
├── cypress/
│ ├── e2e/ # Tests end-to-end principales
│ │ ├── admin/ # Tests de administración
│ │ │ └── admin-clientes.cy.js # Gestión de usuarios
│ │ ├── comprador/ # Tests del flujo de comprador
│ │ │ ├── comprar-entrada.cy.js # Proceso de compra
│ │ │ └── registro.cy.js # Registro de comprador
│ │ ├── diseno-responsive/ # Tests de diseño responsive
│ │ │ └── multi-dispositivo-responsive.cy.js # Tests de distintos dispositivos
│ │ ├── general/ # Tests de funcionalidades generales
│ │ │ ├── funciones-generales.cy.js # UI general y navegación
│ │ │ └── ux-validaciones.cy.js # Validaciones UI/UX para el footer
│ │ ├── login/ # Tests de autenticación
│ │ │ └── login.cy.js # Login/logout para todos los roles
│ │ └── organizador/ # Tests del panel de organizador
│ │ ├── cargar-evento.cy.js # Creación de eventos
│ │ ├── editar-perfil.cy.js # Edición de perfil
│ │ ├── estadisticas.cy.js # Estadisticas
│ │ ├── gestionar-salas.cy.js # Gestionar salas
│ │ └── registro.cy.js # Registro de organizador
│ ├── fixtures/ # Datos de prueba (JSON)
│ │ ├── creacion-eventos.json # Datos para la creacion de eventos
│ │ ├── credenciales-login.json # Credenciales de usuarios
│ │ ├── editar-perfil.json # Datos para modificar el perfil
│ │ ├── evento.jpg # Imagen de portada para la creacion de eventos
│ │ ├── perfil.jpg # Imagen de perfil para editar el perfil de organizador
│ │ ├── registro-comprador.json # Datos para registro comprador
│ │ └── registro-organizador.json # Datos para registro organizador
│ └── support/ # Comandos personalizados y configuración
│ ├── commands.js # Importación de comandos personalizados
│ ├── e2e.js # Configuración global de tests
│ └── commands/
│ ├── eventos.js # Comandos de eventos reutilizables
│ └── login.js # Comandos de login reutilizables
├── Documentacion/ # Documentación del proyecto
│ ├── Challenge — Ticketazo.pdf # Especificaciones del challenge
│ └── Documento Funcional.pdf # Documento funcional
├── assets/ # Recursos gráficos
│ └── ticketazo.png # Logo del proyecto
├── .gitignore # Archivos excluidos del repositorio
├── cypress.config.js # Configuración principal de Cypress
├── package.json # Dependencias y scripts del proyecto
├── package-lock.json # Versiones exactas de dependencias
└── README.md # Documentación principal (este archivo)
| Tecnología | Versión | Propósito |
|---|---|---|
| Cypress | ^14.5.2 | Framework de testing E2E |
| cypress-file-upload | ^5.0.8 | Utilidad para subida de archivos |
| Node.js | ≥16.0 | Entorno de ejecución |
| JavaScript | ES6+ | Lenguaje de programación |
El proyecto incluye comandos Cypress personalizados para facilitar la reutilización:
// Comandos de login disponibles
cy.loginAdmin() // Login como administrador
cy.loginComprador() // Login como comprador
cy.loginOrganizador() // Login como organizador
cy.loginIncorrecto() // Intento de login con credenciales incorrectas
// Comandos de eventos disponibles
cy.crearEvento() // Simplifica el flujo de la creación de eventos
Los datos de prueba están organizados en archivos JSON dentro de cypress/fixtures/: