- Published on
Playwright: testing moderno end-to-end e API per applicazioni web
- Authors

- Name
- Alessandro Iannacone
Introduzione
Nel panorama moderno dello sviluppo web, il testing automatico non è più un'opzione ma una necessità. Applicazioni sempre più complesse, rilasci frequenti e architetture distribuite richiedono strumenti affidabili, veloci e facilmente integrabili nelle pipeline CI/CD.
In questo contesto, Playwright si è affermato come uno degli strumenti più potenti e completi per il testing end-to-end (E2E) e per l'API testing, offrendo un approccio unificato che copre frontend, backend e integrazione continua.
Questo articolo esplora le potenzialità di Playwright, i suoi principali casi d'uso e include un tutorial pratico basato su test API reali.
Cos'è Playwright
Playwright è un framework di testing open-source sviluppato da Microsoft, progettato per automatizzare il testing di applicazioni web moderne. Supporta nativamente i principali browser:
- Chromium (Chrome, Edge)
- Firefox
- WebKit (Safari)
Il suo punto di forza è la capacità di offrire un'esperienza di testing cross-browser coerente, con un'unica API, senza necessità di configurazioni complesse.
Perché scegliere Playwright
1. Cross-browser reale
A differenza di altri strumenti, Playwright utilizza i motori reali dei browser. Questo consente di intercettare bug specifici di un browser prima che arrivino in produzione.
2. Velocità ed affidabilità
- Esecuzione parallela dei test
- Auto-waiting intelligente
- Isolamento dei contesti di test
Il risultato è una suite di test più stabile e meno soggetta a flaky test.
3. Testing end-to-end completo
Playwright permette di:
- Simulare interazioni utente (click, input, navigazione)
- Gestire autenticazioni
- Intercettare e mockare richieste di rete
- Testare SPA e applicazioni SSR
4. API Testing integrato
Uno degli aspetti spesso sottovalutati è la possibilità di utilizzare Playwright anche per testare API REST, senza dover introdurre strumenti aggiuntivi come Postman o Newman.
Questo lo rende ideale per test di integrazione e smoke test backend.
Installazione rapida
In un progetto Node.js:
npm init playwright@latest
Questo comando configura:
- Playwright
- TypeScript
- Struttura dei test
- Configurazione base
Tutorial pratico: API Testing con Playwright
Di seguito un esempio reale di API testing utilizzando Playwright. In questo scenario vengono testate alcune API pubbliche di esempio (JSONPlaceholder), simulando una tipica Todo list.
Struttura del file
tests/
└── api.spec.ts
Codice di esempio
// tests/api.spec.ts
import { test, expect } from '@playwright/test'
test.describe('Todo lista di test', () => {
// Get array test
test('Dovrei ricevere la lista di todos', async ({ request }) => {
// manca il base url, lo imposto io
const response = await request.get('https://jsonplaceholder.typicode.com/todos')
// Assert che la richiesta sia andata a buon fine
expect(response.ok()).toBeTruthy()
// Assert che il body sia un array
const responseBody = await response.json()
expect(Array.isArray(responseBody)).toBeTruthy()
})
// Test per creare nuovi todo
test('Con questo test dovrei aggiungere altri todo', async ({ request }) => {
const newTodo = {
title: 'iannacone',
}
const response = await request.post('https://jsonplaceholder.typicode.com/todos', {
data: newTodo,
})
// Assert status code (201 Created)
expect(response.status()).toBe(201)
expect(response.ok()).toBeTruthy()
// Assert contenuto risposta
const responseBody = await response.json()
expect(responseBody.title).toBe(newTodo.title)
expect(responseBody.id).toBeDefined()
})
})
Perché questo approccio è efficace
- Nessuna dipendenza esterna per l'API testing
- Stessa sintassi dei test E2E
- Facile integrazione in pipeline CI
- Test leggibili e manutenibili
Integrazione CI/CD
Playwright è pensato per funzionare perfettamente in ambienti automatizzati:
- GitHub Actions
- GitLab CI
- Jenkins
- Azure DevOps
Supporta:
- Report HTML
- Screenshot e video automatici
- Tracing avanzato per il debugging
Quando usare Playwright
Playwright è particolarmente indicato se:
- Vuoi unificare E2E e API testing
- Hai bisogno di test cross-browser affidabili
- Lavori in team DevOps o CI/CD oriented
- Sviluppi SPA complesse o microservizi
Conclusioni
Playwright rappresenta oggi una delle soluzioni più complete per il testing moderno. La possibilità di testare frontend, backend e integrazione con un unico strumento riduce la complessità dello stack e migliora la qualità complessiva del software.
Per sviluppatori, QA e DevOps, adottare Playwright significa investire in test più affidabili, più veloci e più semplici da mantenere.
Nel prossimo articolo potremo approfondire:
- Autenticazione e sessioni
- Mock delle API
- Visual regression testing
- Best practice per pipeline CI/CD