Puppeteer – A Web Scraping & UI Testing Tool

Miki Lombardi Miki Lombardi

Full-stack developer Plansoft

Puppeteer – A Web Scraping & UI Testing Tool

Nell’ultimo Sharing Cafè organizzato da Plansoft, una serata periodicamente dedicata al ritrovo e scambio di conoscenze interne, il nostro collega Miki Lombardi ci ha presentato e descritto tutte le funzionalità e come usare Puppeteer, uno degli ultimi tool JS sviluppato da Google.

Si tratta di uno strumento molto versatile, che permette di controllare in modo completo e automatizzato Google Chrome, ormai da tempo diventato una vera e propria risorsa per sviluppatori web grazie ai molteplici DevTools. In particolare, Puppeteer è in grado di effettuare UI Testing, Page Automation e Web Scraping in headless mode.

Come usare Puppeteer?

Uno dei principali obiettivi è quello di effettuare il testing di applicazioni Web molto complesse tramite un tool semplice da implementare e molto veloce, flessibile e affidabile, in grado inoltre di mantenere molto contenuti i costi di manutenzione.

La fase di test all’interno di un progetto, in termini di sviluppo, è sempre vista come una criticità e/o come una perdita di tempo, sia da livelli enterprise fino ad arrivare a quelli dei side projects. Puppeteer consente non solo di velocizzare i tempi di implementazione di UI Test ma garantisce anche la massima compatibilità dei test sul navigatore più utilizzato in ambito mobile/desktop, ovvero Google Chrome.

Un’altra importante feature da sottolineare è la possibilità di intercettare le varie richieste di un’applicazione Web e di manipolarle in modo tale da testare i vari casi di errore, quali ad esempio risposte parziali, risposte vuote, richieste a un servizio di versione precedente e quant’altro.

Puppeteer inoltre diventa fondamentale non solo per il UI Testing ma anche per il Performance Testing e la Coverage Code, dal momento che Google è il motore di ricerca per eccellenza. 

Un caso pratico di utilizzo potrebbe essere un e-Commerce o un sito complesso che espone la merce tramite cataloghi sul Web: l’elevato traffico di rete e la complessità della UI & UX sono spesso di difficile gestione e, ad ogni cambiamento o release dell’applicazione Web, potrebbero pregiudicare la fruibilità dell’applicazione stessa causando una perdita in termini economici e di utenti.

Implementando dei test sulla Coverage Code e sulle performance di alcune funzionalità critiche, questa complessità potrebbe essere gestita in modo più semplice, tenendo sotto controllo le varie problematiche.

Chi è in definitiva che già utilizza Puppeteer?

– Google stesso sia internamente sia tramite prodotti (es. Pagespeed)

– Netflix, per Regression UI Testing e UI Testing

– Facebook, per UI Testing

Di seguito le slide della presentazione:

http://slides.com/mikilombardi-1/puppeteer-web-scraping-and-ui-testing-tool/#/

In conclusione, Puppeteer risulta un’ottima soluzione non solamente per il fatto che è sviluppato e supportato da Google ma, soprattutto, per la sua efficienza e versatilità. La sua appartenenza all’ecosistema sempre in espansione di Google non potrà che portare, in futuro, grandi benefici.

Soluzioni e Tecnologie Plansoft.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *