Automazione e test con Chrome

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/browsers o 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ù


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ù


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:

  1. 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.
  2. 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.
  3. 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.


Indicazioni per le aziende e i canali di rilascio