Skip to content

derhuerst/chutney

Repository files navigation

chutney

Run TAP tests at Sauce Labs. A more opinionated smokestack. airtap is a another, well-known alternative.

npm version build status ISC-licensed support me via GitHub Sponsors chat with me on Twitter

  1. Using localtunnel, exposes the test runner HTML page with your tests,
  2. opens its URL in a Webdriver-controlled browser at Sauce Labs,
  3. pipes their output to stdout, so that you can use it as a drop-in replacement for node test.js.

It is is heavily inspired by smokestack, but more lightweight because it will run the tests only on remote browsers. It is less battle-proven and has less niche features.

Installing

npm install chutney

Guide

chutney requires you to have TAP-generating tests, which you bundle e.g. using Browserify. You will also need a Sauce Labs account.

// test.js
const test = require('tape')
const awesomeTool = require('.')

test('awesome tool is awesome', (t) => {
	t.plan(1)
	t.equal(awesomeTool(), 'awesome')
})

Export your Sauce Labs credentials as well as the desired platform & browser.

export SAUCE_USER=derhuerst
export SAUCE_KEY=1a04c633-6a58-4aba-8287-54fdd18f9851
export PLATFORM='Windows 10'
export BROWSER=Chrome

Now run the tests. You may pretty-print the results using any reporter like tap-spec.

browserify test.js | chutney | tap-spec

Usage

Usage:
    chutney [--timeout <seconds>]

Options:
    --timeout  -t  Set the timeout in seconds. Default: 20

Examples:
    browserify test.js | chutney | tap-spec

Contributing

If you have a question, found a bug or want to propose a feature, have a look at the issues page.