Este proyecto automatiza las pruebas de una API utilizando Playwright, con integración completa con GitHub Actions y GitHub Pages para compartir los resultados.
- ✅ Automatización completa de pruebas de API
- 🔐 Autenticación automática con tokens API
- 📊 Reportes HTML generados automáticamente
- 🚀 CI/CD con GitHub Actions
- 📱 GitHub Pages para compartir resultados
- 🎯 Tests parametrizados y reutilizables
- Playwright - Framework de testing
- Node.js - Runtime de JavaScript
- GitHub Actions - CI/CD
- GitHub Pages - Hosting de reportes
-
Clona el repositorio:
git clone https://github.com/tu-usuario/api_test_flow.git cd api_test_flow -
Instala las dependencias:
npm install
-
Configura las variables de entorno:
cp .env.example .env
Edita el archivo
.envcon tus credenciales:BASE_URL=https://tu-api.com API_TOKEN=tu-token-aqui
# Ejecutar todas las pruebas
npm test
# Ejecutar pruebas específicas
npm run test:media
# Generar reporte HTML
npm run test:reportLas pruebas se ejecutan automáticamente en cada push y pull request.
Los reportes de las pruebas están disponibles en:
- GitHub Pages: https://tu-usuario.github.io/api_test_flow/
- Actions: Ve a la pestaña "Actions" en GitHub
api_test_flow/
├── fixtures/ # Configuración de Playwright
│ ├── authRequest.fixture.js
│ └── index.js
├── tests/ # Pruebas organizadas por módulo
│ └── media/
│ ├── create.test.js
│ └── getall.test.js
├── .github/workflows/ # GitHub Actions
│ └── playwright.yml
├── playwright.config.js # Configuración de Playwright
└── package.json
GET /api/media- Obtener todas las mediasGET /api/media?all=true- Obtener medias incluyendo no publicadasGET /api/media?without_category=true- Medias sin categoríaPOST /api/media- Crear nueva media (próximamente)
BASE_URL: URL base de tu APIAPI_TOKEN: Token de autenticación
- Timeout: 30 segundos
- Base URL: Configurada desde variables de entorno
- Headers de autenticación: Automáticos
Los reportes incluyen:
- ✅ Estado de cada prueba
- ⏱️ Tiempo de ejecución
- 📝 Logs detallados
- 🖼️ Screenshots (si aplica)
- 📊 Métricas de rendimiento
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Agregar nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
Este proyecto está bajo la Licencia ISC.