I test automatici del browser sono essenziali per la creazione di applicazioni web robuste e di alta qualità. Che tu stia eseguendo suite end-to-end di integrazione continua (CI), test di regressione tra le release del browser o automatizzando le interazioni del browser, Chrome fornisce una suite dedicata di strumenti e modalità di esecuzione progettati per sviluppatori e ingegneri di automazione dei test.
Questa panoramica introduce i prodotti principali dell'ecosistema di automazione e test di Chrome, ovvero Chrome for Testing, ChromeDriver, Puppeteer e la modalità headless di Chrome, e spiega come puoi utilizzarli insieme per flussi di lavoro di test affidabili e riproducibili.
Chrome for Testing
Chrome for Testing è una versione di Chrome dedicata ai casi d'uso di test e automazione di app web.
Quando esegui suite di test end-to-end o pipeline di integrazione continua (CI), spesso hai bisogno di risultati coerenti e riproducibili in esecuzioni di test ripetute. Anziché fare affidamento sulle installazioni standard del browser, Chrome for Testing ti consente di scaricare e bloccare versioni specifiche di Chrome per i tuoi ambienti di test.
Funzionalità principali
- Download con controllo delle versioni on demand: accedi a file binari di Chrome specifici con controllo delle versioni in modo da eseguire sempre i test sulla versione esatta che scegli.
- File binari accoppiati tra i canali: per ogni release di Chrome su tutti i canali (Stabile, Beta, Dev e Canary), Chrome for Testing fornisce file binari di Chrome corrispondenti accoppiati con i file binari di ChromeDriver pertinenti, nonché la vecchia shell headless di Chrome (
chrome-headless-shell) per chi la utilizza ancora nei test automatici. - Automazione del download semplice: i file binari possono essere scaricati facilmente utilizzando l'utilità della riga di comando
@puppeteer/browserso tramite query tramite la dashboard di disponibilità.
Scopri di più
ChromeDriver
ChromeDriver è un server autonomo open source che implementa lo standard W3C WebDriver e il protocollo WebDriver BiDi bidirezionale. Funge da ponte tra i framework di test basati su WebDriver (come Selenium, WebDriverIO e Nightwatch) e il browser Chrome.
Funzionalità principali
- Supporto di W3C WebDriver e WebDriver BiDi: supporta sia i comandi di automazione WebDriver classici sia la comunicazione bidirezionale in tempo reale tramite WebDriver BiDi per l'ascolto rapido degli eventi, il monitoraggio della rete e l'intercettazione dei log.
- Rilasciato insieme a Chrome for Testing: le release di ChromeDriver sono integrate direttamente nell'infrastruttura di Chrome for Testing. Per ogni versione di Chrome for Testing, viene rilasciata contemporaneamente una versione di ChromeDriver corrispondente, eliminando i problemi di mancata corrispondenza delle versioni.
Scopri di più
- Documentazione di ChromeDriver
- WebDriver BiDi: il futuro dell'automazione cross-browser
- MDN: riferimento a WebDriver BiDi
Burattinaio
Puppeteer è una libreria JavaScript sviluppata da Google che fornisce un'API di alto livello per controllare Chrome tramite il Chrome DevTools Protocol (CDP) o WebDriver BiDi.
Funzionalità principali
- Automazione senza configurazione: per impostazione predefinita, Puppeteer scarica automaticamente un file binario di Chrome for Testing compatibile, consentendo l'automazione del browser out-of-the-box.
- Controllo completo di Chrome: acquisisci facilmente screenshot, genera PDF, automatizza l'invio di moduli, intercetta le richieste di rete ed esegui test dell'interfaccia utente in modalità con interfaccia utente o headless.
Scopri di più
Modalità headless di Chrome
La modalità headless di Chrome ti consente di eseguire Chrome in un ambiente automatico senza un'interfaccia utente visibile. Passando il flag --headless nella riga di comando, Chrome viene eseguito in modo pulito in ambienti server, container e pipeline CI/CD.
Funzionalità principali
- Motore del browser unificato: la modalità headless moderna (
--headless) condivide la stessa implementazione del browser di Chrome con interfaccia utente. - Funzionalità avanzate di automazione e debug: supporta l'acquisizione di screenshot, la generazione di PDF, il debug remoto e la configurazione dello schermo virtuale.
Scopri di più
- Esegui Chrome in modalità headless
- Configura schermi virtuali
- Esegui il debug in modalità headless
- Riferimento alla riga di comando headless
Esempio: utilizzo combinato di questi prodotti
In un tipico flusso di lavoro di test automatici o di integrazione continua (CI), questi prodotti funzionano insieme per fornire un ambiente di test automatico e riproducibile:
- File binario del browser (Chrome for Testing): utilizza un file binario Chrome for Testing specifico con controllo delle versioni in modo che i risultati dei test siano deterministici tra le esecuzioni.
- Modalità di esecuzione (modalità headless di Chrome): esegui il file binario in modalità headless (
--headless) in modo che i test vengano eseguiti in modo pulito su server, container o pipeline CI senza una visualizzazione grafica. - Driver di automazione (Puppeteer o ChromeDriver): controlla il browser utilizzando una libreria di automazione come Puppeteer o qualsiasi altro framework di test connesso tramite WebDriver BiDi.
Puppeteer collega automaticamente questi elementi. Una volta installato, scarica un file binario Chrome for Testing compatibile e lo avvia in modalità headless per impostazione predefinita.
Quando utilizzi framework W3C WebDriver (come Selenium o WebdriverIO), puoi scaricare automaticamente una coppia corrispondente di file binari Chrome for Testing e ChromeDriver e passare il flag --headless per eseguire senza interfaccia utente.