Repositorio de aprendizaje para API testing con Playwright, enfocado en aplicar patrones de diseño como Api Object Model, Builder y Factory.
Este proyecto sirve como base para practicar testing de APIs REST usando Playwright Test en TypeScript. Incluye ejemplos de:
- Api Object Model (AOM) para abstraer llamadas HTTP.
- Patrón Builder para crear datos de prueba de forma fluida.
- Patrón Factory para centralizar la generación de objetos de prueba.
api/BaseApi.ts- Clase base con métodos HTTP genéricos (get,post,put,patch,delete).ProductsApi.ts- Api Object Model para el endpointproducts.
builder/productBuilder.ts- Builder que genera datos de producto con Faker y permite personalizar campos.
data/factory.ts- Fábrica de datos que utiliza elProductBuilder.
fixture/apiFixture.ts- Fixture de Playwright para inyectar la API en los tests.
tests/products.spec.ts- Suite de pruebas para operaciones CRUD sobre productos.
@playwright/testTypeScript@faker-js/fakerESLint+Prettier
La suite de pruebas cubre operaciones básicas sobre el recurso products:
- Obtener todos los productos
- Obtener un producto por ID
- Crear un producto
- Actualizar un producto
- Eliminar un producto
- Instalar dependencias:
npm install- Ejecutar tests:
npm test- Api Object Model:
ProductsApiextiendeBaseApiy expone métodos específicos del recurso. - Builder:
ProductBuildergenera datos de producto y permite personalizar el objeto con métodos encadenados. - Factory:
DataFactory.product()centraliza la creación de datos de prueba y facilita la reutilización.
ProductsApiusa un enfoque basado en endpoints simplificados para mantener las pruebas legibles.apiFixture.tspermite usarproductsAPIdirectamente dentro de los tests.- La generación de datos con Faker reduce el acoplamiento a valores estáticos.
- Agregar más endpoints y APIs específicas.
- Introducir validaciones de contrato JSON.
- Implementar pruebas de error y escenarios negativos.
- Añadir reportes personalizados de Playwright.