launchpad
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/launchpad package

    0.7.5 • Public • Published

    Launchpad

    Greenkeeper badge Build 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:

    var launch = 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 instance
        instance.id // -> unique instance id
        instance.stop(callback) // -> Stop the instance
        instance.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 browser
    launch.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 emitter
        instance.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 seconds
          setTimeout(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.

    Install

    npm i launchpad

    DownloadsWeekly Downloads

    10,489

    Version

    0.7.5

    License

    none

    Unpacked Size

    160 kB

    Total Files

    33

    Last publish

    Collaborators

    • cherif_b
    • daffl
    • ekryski
    • matthewp
    • phillipskevin