Automatiser les tests d’intégration de vos pages avec Puppeteer

Le 09/01/2018

Dans Développement

Aujourd'hui le blog du webdesign vous propose de découvrir Puppeteer uen ressource Javascript qui vous permet de faire des tests de vos pages HTML.

Puppeteer

Puppeteer est une ressource node.js qui vous permet de controller un chrome (headless ou normal) à travers une API simple et tirant partit de ES6 (et plus spécifiquement de async/await).

Si vous connaissez déjà PhantomJS, cette descrption doit vous sembler très familière (pour les autres, PhantomJS est une library node js fournissant un Webkit relié à une API en Javascript). Puppeteer s’en démarque dans le fait qu’il ne contient pas de webkit, mais interagis avec un “vrai” navigateur chrome headless.

Si la solution Phantom est totalement fonctionnelle, elle possède quelques désavantages, notamment l’impact sur la mémoire dispo de la machine, ainsi que le temps nécessaire à la compilation du Webkit lors de l’installation de la ressource. D’après les benchmark, puppeteer semble rêgler ce genre de problèmes.

Installation

L’installation de Puppeteer se passe de commentaire, un simple yarn add puppeteer et c’est réglé.

Pour son usage, vous ne devriez pas être perdu non plus si vous avez déjà utilisé PhantomJS ou une autre library d’automatisation, les concepts sont les mêmes et la syntaxe assez proche. Pour vous en convaincre je vous propose de passer directement faire un tout sur leur partie “try me” qui permettrai d’essayer la ressource en ligne.

Pour en savoir plus

La documentation est disponible sur le github de la ressource.

Puppeteer github