node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »


Apuppet is an utility which allows you to easily launch, and control applications from the command line. It was built to launch different browser versions for cross-browser testing.


  Usage: browsertap [options] [command]
    start <appName> [args] starts an application
    -h, --help           output usage information
    -c, --config <path>  browsertap configuration file

Terminal Example

Launching chrome 25

browsertap start chrome@25

Launching multiple applications:

browsertap start chrome@25+firefox@18

Command line examples


In /usr/local/etc/browsertap/config.json

  "directory": "/path/to/apps/dir"

Structure of /path/to/apps/dir:


  • chrome/ - application name
    • - application driver
    • versions/ - application driver
      • 10.lnk
      • 11.lnk
    • settings/
      • 10 11 12/
  • safari/
    • version/
      • ...
    • settings/
      • ...

browsertap API


var browsertap = require("browsertap")({
  directory: "./path/to/apps"

Array browsertap.applications

Returns all the loaded applications


Starts an application

Application Driver API

A basic application driver looks like this:

class ChromeDriver extends AppDriver
  start: (options, callback) ->
    callback nullnew AppProcess @callback

Application AppDriver.start options, callback


  • version - application version to run
  • args - arguments to pass to the command line

callback - called when the application has successfuly spawned

Array AppDriver.running()

Returns the running processes

Application.stop callback

Stops the application process

Application.exec options, callback

executes a command against the running process

Application.restart options

Restarts the application process


TRUE if the application is running

Application.on event, callback

Adds an event listener to the application process

stop - emitted when the process exits start - emitted when the application starts

module.exports = ChromeDriver