Selenium

Burattinaio VS Selenio

Burattinaio VS Selenio
Oggi, quando si tratta di test web automatizzati, Puppeteer e Selenium sono i due nomi che emergono. Uno dei motivi principali per cui sono famosi è la loro capacità di eseguire browser headless. Pertanto, prima di procedere con l'articolo, diamo una rapida occhiata a cosa sono i browser headless e ai loro vantaggi.

In termini di base, i browser headless sono browser che possono essere utilizzati per testare l'usabilità delle pagine Web ed eseguire interazioni con il browser proprio come faresti con il tuo normale browser. L'unica differenza qui è che non esiste un'interfaccia utente grafica (GUI) e di solito vengono eseguiti dal terminale.

Browser senza testa:

Ora che abbiamo conosciuto un fattore importante per entrambi gli strumenti, possiamo procedere.

Burattinaio

Puppeteer è una libreria Node di Google che fornisce una semplice API per controllare Chrome headless. Attraverso Puppeteer, è possibile eseguire facilmente attività comuni come digitare input, fare clic sui pulsanti, testare l'usabilità delle pagine Web e persino il web scraping.

Puppeteer è ufficiale del team di Chrome e utilizza il protocollo di debug remoto di Chrome, proprio come troveremmo con Chrome Devtools. Questa libreria supporta la moderna sintassi JavaScript disponibile in Google Chrome.

Impostare

Installare e iniziare con Puppeteer è molto semplice. Poiché Puppeteer è una libreria Node, può essere installata utilizzando il npm attrezzo.

L'installazione può essere eseguita con il comando seguente:

npm io burattinaio

L'esecuzione del comando sopra installa Puppeteer. Si prevede che scarichi anche una versione recente di Chromium che funzionerebbe con l'API.

La dimensione di Chromium varia in base al sistema operativo:

Dopo l'installazione di Puppeteer, puoi trovare maggiori informazioni su come iniziare, puoi anche controllare altri esempi di codice.

Caratteristiche

Mentre la capacità di Puppeteer di avviare un browser senza testa è una caratteristica che gli ha guadagnato una certa fama, non è l'unica caratteristica che lo rende fantastico. Puppeteer ha anche un paio di altre funzionalità che lo rendono utile, diamo una rapida occhiata ad alcune di esse.

Automazione facile:

Mentre ci sono altri strumenti che possono essere utilizzati per l'automazione web, Puppeteer è il migliore. Ciò è dovuto al fatto che funziona bene per un solo browser, che è il browser Headless Chrome, quindi svolge attività di automazione web nel modo più efficiente possibile. Puppeteer funziona bene anche con le popolari librerie di unit test come Mocha e Jasmine.

Screenshot Test:

Questa è una caratteristica fondamentale per qualsiasi attività di test web automatizzata. Gli screenshot sono importanti e aiutano a tenere traccia del risultato delle interazioni con gli elementi su una pagina web. In Puppeteer esistono anche librerie come Puppeteer-screenshot-tester che forniscono la capacità di confrontare gli screenshot generati durante il test. Oltre a generare schermate di test, i PDF possono anche essere generati da pagine Web testate in burattinaio.

Test delle prestazioni:

Chrome fornisce DevTools che permettono la registrazione della Performance Timeline delle pagine web, e Puppeteer sfrutta anche questo. Con Puppeteer, è possibile acquisire le tracce temporali dei siti Web per esaminare i problemi di prestazioni. Grazie al controllo API di alto livello di Burattinaio sul protocollo Chrome Developers Tools, offre agli utenti la possibilità di controllare gli addetti all'assistenza e testare la memorizzazione nella cache dei siti web.

Raschiatura web:

Un discorso sulle funzionalità non sarebbe completato senza riconoscere la capacità di Puppeteer di essere utilizzato per scopi di web scraping. Imparare a usare Puppeteer come web scraper è abbastanza semplice, dai un'occhiata alla documentazione dell'API.

Professionisti

  1. Funziona bene per i test visivi.
  2. Ottimo per i test end-to-end.
  3. Veloce rispetto al selenio.
  4. Può acquisire schermate di pagine Web.
  5. Maggiore controllo sui test tramite Chrome.
  6. Può testare la modalità offline.

Contro

  1. Supporta solo JavaScript (nodo)
  2. Supporta solo Chrome

Selenio

Selenium è un potente framework di test web, che ha la capacità di automatizzare le applicazioni web a scopo di test. Il selenio è anche noto per la sua capacità di automatizzare le attività di amministrazione basate sul web.

Il selenio è disponibile in due parti; il Selenium WebDriver per creare potenti suite di automazione e test basati su browser e Selenium IDE per creare script di riproduzione rapida di bug.

Senza dimenticare che Selenium supporta anche i browser headless come visto con Puppeteer.

Impostare

A differenza di Burattinaio, impostare Selenium non è semplice. Selenium supporta molte lingue e diversi browser, quindi è necessario occuparsi di queste possibili condizioni.

Di seguito sono elencati i collegamenti ai tutorial ufficiali su come configurare i collegamenti al selenio per lingue diverse.

Oltre a supportare diverse lingue, Selenium supporta anche più browser. A differenza di Puppeteer che installa Chromium durante l'installazione, potresti dover installare i driver web per il browser web di tua scelta.

Ecco i collegamenti ai driver Web per Mozilla Firefox e Google Chrome.

Se desideri utilizzare anche l'IDE Selenium, esiste anche per più browser. Ecco i collegamenti a Selenium IDE per Mozilla Firefox e Google Chrome.

Caratteristiche

La sua capacità di lavorare con i browser headless lo ha reso indiscutibilmente lo strumento di automazione web più popolare, ma ci sono altre caratteristiche che lo rendono potente.

Supporto multilingue:

Questa è una caratteristica molto importante del selenio. Con il suo supporto multilingua, più sviluppatori possono utilizzare lo strumento per le loro attività di test dell'automazione web.  Sebbene si possa pensare che il suo supporto multilingue lo renda lento, Selenium funziona ancora a una buona velocità poiché non è necessario avviare un server in Web Driver.

Supporto multipiattaforma:

Allo stesso modo in cui il selenio non è limitato dalle barriere linguistiche, non è nemmeno limitato dalla barriera della piattaforma. Non è una novità che l'applicazione web si comporti diversamente su più piattaforme. Selenium offre ai tester la possibilità di eseguire test sui principali browser Web per fornire un'esperienza utente fluida per gli utenti su browser diversi.  Oltre ai browser, Selenium può essere utilizzato anche per testare su dispositivi mobili come app Android, iOS, Windows, Blackberry.

Strumento di registrazione:

Con Selenium IDE, è facile registrare i test di automazione web. Selenium IDE consente ai tester di utilizzare la capacità di registrazione, il supporto del completamento automatico e la capacità di navigare tra i comandi. Lo strumento di registrazione ha smesso di funzionare su Firefox 55 e versioni successive, tuttavia ci sono altri plugin su Firefox che hanno lo stesso scopo. Pertanto, la capacità di registrare i test rimane una delle principali funzionalità di Selenium.

Raschiatura web:

Sebbene il selenio venga utilizzato per testare le applicazioni Web, è anche scalabile come un web scraper web. Il selenio può essere utilizzato per raschiare i siti Web AJAX e i siti Web più difficili da raschiare, a condizione che tu possa comprendere la struttura HTML. Puoi dare un'occhiata a questo tutorial sull'uso di Selenium per il web scraping con Python.

Professionisti

  1. Supporto multipiattaforma.
  2. Supporto multilingue.
  3. Possibilità di registrare i test.
  4. Può anche fare screenshot.
  5. Enorme comunità di utenti.

Contro

  1. Lento rispetto a Burattinaio.
  2. Controllo limitato sui test rispetto a Puppeteer.

Conclusione

Se non sei preoccupato di testare le pagine web su altre piattaforme oltre a Chrome, allora stai lavorando bene con Puppeteer, a condizione che tu sia in grado di lavorare con JavaScript (Nodo). Tuttavia, se sei preoccupato per più piattaforme, utilizzare Selenium è un gioco da ragazzi. Parlando delle loro capacità di raschiare il web, entrambi gli strumenti anche se stessi là fuori. Va notato però che Burattinaio potrebbe essere più veloce di Selenium.

Qualsiasi strumento che scegli alla fine della giornata dovrebbe andare bene, divertiti a scrivere i tuoi script di automazione.

Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...