49

Chrome Headless is fantastic!!!

But is there a way I can install Chrome Headless using NPM so that can I use it for my unit tests in automated test environments?

Is there an alternative way of doing this?

Many thanks in advance!!!

Abhi
  • 1,624
  • 2
  • 16
  • 29
  • I don't think google chrome itself can be installed using NPM. https://github.com/adieuadieu/serverless-chrome is the closest I've seen but that's for deploying on AWS Lambda – apokryfos Jun 15 '17 at 19:19
  • Not yet. But I think, it has to have a way to do that in near future (rather ASAP) since the applications most people are developing are targeted for Chrome... it is a standard for modern apps. If so, then I would like to run my tests with chrome than any other makeshift browser which does not support half a dozen other essentials upgrades. – Abhi Jun 19 '17 at 14:46

3 Answers3

24

chrome is bundled with the puppeteer package on npm by default. Puppeteer provides a nice API for using chrome headless for automated tests or even regular chrome (headless turned off).

https://www.npmjs.com/package/puppeteer

https://github.com/GoogleChrome/puppeteer

npm install puppeteer

Rooster
  • 9,954
  • 8
  • 44
  • 71
  • 2
    Note: When you install Puppeteer, it downloads a recent version of Chromium (~170Mb Mac, ~282Mb Linux, ~280Mb Win) that is guaranteed to work with the API. To skip the download, see Environment variables. – Silvio Lucena Junior Mar 05 '18 at 20:54
4

https://www.npmjs.com/package/chromium

npm install chromium

For windows:

\node_modules\chromium\lib\chromium\chrome-win\chrome.exe
alansiqueira27
  • 8,129
  • 15
  • 67
  • 111
1

This worked for me (on Windows Subsystem for Linux, Ubuntu):

npm install puppeteer

sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

Dependency list is from: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#chrome-headless-doesnt-launch-on-unix

rob2universe
  • 7,059
  • 39
  • 54