Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Repository files navigation

Launchpad

Greenkeeper badgeBuild Status

You can launch browsers! With NodeJS!

  • Local browsers for MacOS, Windows and Linux (like) operating systems
  • BrowserStack browsers using the BrowserStack API

API

The general API for any launcher (<type>) looks like this:

varlaunch=require('launchpad');launch.<type>(configuration,function(error,launcher){launcher.browsers(function(error,browsers){// -> List of available browsers with version});launcher(url,configuration,function(error,instance){instance// -> A browser instanceinstance.id// -> unique instance idinstance.stop(callback)// -> Stop the instanceinstance.status(callback)// -> Get status information about the instance});launcher.<browsername>(url,function(error,instance){// Same as above});});

Local launchers

Local launchers look up all currently installed browsers (unless limited by LAUNCHPAD_BROWSERS - see below for details) and allow you to start new browser processes.

// Launch a local browserlaunch.local(function(err,local){local.browsers(function(error,browsers){// -> List of all browsers found locally with version});local.firefox('http://url',function(err,instance){// An instance is an event emitterinstance.on('stop',function(){console.log('Terminated local firefox');});});});

Environment variables impacting local browsers detection

By default Launchpad looks up all installed browsers. To speed-up this process you can define the following env variables:

  • LAUNCHPAD_BROWSERS - comma delimited list of browsers you want to use, e.g. LAUNCHPAD_BROWSERS=chrome,firefox,opera. Other browsers will not be detected even if they are installed.
  • LAUNCHPAD_<browser> - specifies where given browser is installed so that Launchpad does not need to look for it, e.g. LAUNCHPAD_CHROME=/usr/bin/chromium

The following browser names are recognized: chrome, firefox, safari, ie, edge, opera, canary, aurora, electron, phantom, nodeWebKit. Not all platforms support all browsers - see platform for details.

Browserstack

BrowserStack is a great cross-browser testing tool and offers API access to any account that is on a monthly plan. Launchpad allows you to start BrowserStack workers through its API like this:

launch.browserstack({username : 'user',password : 'password'},function(err,browserstack){browserstack.browsers(function(error,browsers){// -> List of all Browserstack browsers});browserstack.ie('http://url',function(err,instance){// Shut the instance down after 5 secondssetTimeout(function(){instance.stop(function(err){if(err){console.log(err);}console.log('Browser instance has stopped');});},5000);});});

Behind the scenes we have the node-browserstack module do all the work (API calls) for us.

About

NodeJS Browser Launcher

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages