Vai al contenuto

Foglio di lavoro

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(); # < >