Playwright - Modern Web Testing & Automation
>
Playwright è un framework per il Web Testing e l'automazione. Consente di testare Chromium, Firefox e WebKit con un'unica API. Playwright è costruito per consentire l'automazione web cross-browser che è veloce, affidabile e capace.
< >
< >
Traduzione:
Traduzione: Copia tutti i comandi
Traduzione: Generare PDF
< >
< >
## Tabella dei contenuti
- [Installazione]
- [Getting Started](#getting-started_)
- [Gestione del browser](#browser-management)
- [Page Navigation](_LINK_3__)
- [Interazione degli accordi](#element-interaction]
- [Selettori]
- [Strategie di attesa]
- [Form Handling]
- [Screenshots & Videos](#screenshots--videos)
- [Network Interception](_LINK_9___)
- [Autorizzazione](_LINK_10___)
- [Mobile Testing](#mobile-testing_)
- [Testing Framework](#testing-framework_)
- [Debug](_LINK_13__]
- [Prova di conformità](#performance-testing_)
- [API Testing](_LINK_15___)
- [Visual Testing](#visual-testing_)
- [Integrazione CI/CD](#cicd-integration)
- [Caratteristiche avanzate](#advanced-features)
- [Le migliori pratiche](#best-practices)
## Installazione
### Installazione di base
Traduzione:
### Dipendenze di sistema
Traduzione:
### Configurazione del progetto
Traduzione:
### File di configurazione
Traduzione:
## Iniziare
### Struttura di prova di base
Traduzione:
### Test in esecuzione
Traduzione:
### Ganci di prova
Traduzione:
## Gestione del browser
### Contesti del browser
Traduzione:
### Opzioni di lancio del browser
Traduzione:
### Browser multipli
Traduzione:
## Navigazione
### Navigazione di base
Traduzione:
### Strategie di attesa
Traduzione:
### URL e Titolo Asserzioni
#
## Interazione degli elementi
### Elementi di scatto
Traduzione:
### Interazioni formali
Traduzione:
### Tastiera e Mouse Azioni
Traduzione:
## Selettori
### Selettori CSS
Traduzione:
### Selettori di testo
Traduzione:
### Selettori basati sul ruolo
Traduzione:
### Locatori di Playwright
Traduzione:
### Selettori avanzati
Traduzione:
## Strategie di attesa
### Elemento in attesa
Traduzione:
### Avanzamento automatico
Traduzione:
### Aspetto personalizzato
Traduzione:
## Movimentazione del modulo
### Campi di ingresso
Traduzione:
### Selezionare Dropdowns
Traduzione:
### Checkbox e pulsanti radio
Traduzione:
### Caricamento file
Traduzione:
### Sottomissione del modulo
Traduzione:
## Immagini e video
### Proiezioni
Traduzione:
### Registrazione video
Traduzione:
### Confronti visivi
Traduzione:
## Intercettazione di rete
### Richiesta Interception
Traduzione:
### Mocking di risposta
Traduzione:
### Monitoraggio della rete
#
## Autenticazione
### Autenticazione di base
Traduzione:
### Gestione delle sessioni
Traduzione:
### Autenticazione di OAuth e Token
Traduzione:
### Autenticazione multifattore
Traduzione:
## Prova mobile
### Emulazione del dispositivo
Traduzione:
### Interazioni Touch
Traduzione:
### Test di geolocalizzazione
Traduzione:
## Quadro di prova
### Organizzazione di test
Traduzione:
### Test parametrizzati
Traduzione:
### Apparecchiature personalizzate
Traduzione:
### Annotazioni di prova
Traduzione:
## Debug
### Modalità di debito
Traduzione:
### Debug in Codice
Traduzione:
### Trace Viewer
Traduzione:
### Strumenti di sviluppo del browser
Traduzione:
### Gestione degli errori
Traduzione:
## Test delle prestazioni
### Performance Metrics
Traduzione:
### Integrazione faro
Traduzione:
### Prestazioni di rete
Traduzione:
## test API
### Test REST API
__________
### Autenticazione API
Traduzione:
### Testing GraphQL
Traduzione:
## Test di visualizzazione
### Test di regressione visiva
Traduzione:
### Testing visivo del componente
Traduzione:
### Cross-browser Visual Testing
Traduzione:
## Integrazione CI/CD
### GitHub Azioni
Traduzione:
### Integrazione Docker
Traduzione:
Traduzione:
### Jenkins Pipeline
Traduzione:
## Caratteristiche avanzate
### Abbinamenti personalizzati
Traduzione:
### Modello di oggetto
Traduzione:
### Setup globale e Teardown
Traduzione:
## Migliori Pratiche
### Organizzazione di test
Traduzione:
### Selettori affidabili
Traduzione:
### Gestione degli errori
Traduzione:
### Le migliori pratiche di prestazione
- **Utilizzare auto-waiting**: Playwright aspetta automaticamente gli elementi
- # Avoid inutili waits # Non usare `page.waitForTimeout()` se non assolutamente necessario
- **Riutilizzare i contesti del browser**: Condividere contesti tra test quando possibile
- **Parallelize test** Usa `fullyParallel: true`_ nella configurazione
- **Ottimizzare i selettori** Utilizzare selettori efficienti come data-testid
### Migliori pratiche di manutenzione
- **I test indipendenti ** Ogni test dovrebbe essere in grado di eseguire in isolamento
- ** Utilizzare il modello oggetto pagina**: Incapsulare le interazioni della pagina nelle classi riutilizzabili
- **Implementare una corretta pulizia** Stato chiaro tra i test
- ** Utilizzare nomi di test significativi**: Descrivi cosa verifica il test
- ** Aggiornamenti regolari** Tenere aggiornato Playwright e browser
---
## Sintesi
Playwright è un potente e moderno framework di test web che fornisce:
- **Cross-browser Support**: Test su cromo, Firefox e WebKit
- **Auto-waiting**: Intelligente in attesa che gli elementi siano pronti
- **Powerful Selectors**: Strategie di selettore multiple tra cui base di ruolo
- **Rete Intercettazione ** Mock e monitora le richieste di rete
- **Mobile Testing**: Emulazione dei dispositivi e interazioni touch
- **Visual Testing**: Confronto delle immagini e test di regressione visiva
- **Debugging Tools ** Traccia il visualizzatore, la modalità di debug e l'integrazione degli strumenti di sviluppo
- Pronto? Facile integrazione con le piattaforme CI/CD popolari
- **API Testing**: Supporto integrato per test REST e GraphQL API
- **Performance Testing**: metriche di prestazioni integrate e integrazione Lighthouse
L'architettura moderna di Playwright e il set completo di funzionalità lo rendono una scelta eccellente per le attività di test end-to-end, automazione del browser e raschiamento web.
Traduzione:
copia funzioneToClipboard() {}
const commands = document.querySelectorAll('code');
tutti i Comandi = '';
comandi. per ogni(cmd => AllCommands += cmd.textContent + '\n');
navigatore.clipboard.writeText(tutti iComandi);
alert('Tutti i comandi copiati a clipboard!');
#
funzione generaPDF() {
finestra.print();
#
< >