domsuite

0.6.0 • Public • Published

domsuite

Build Status

Work In Progress

JavaScript browser testing/automation utilities. Uses async/await syntax to make asynchronous UI interactions straightforward.

Mocha example:

import {clickElement, condition, nextAnimationFrame} from 'domsuite';

describe(`my sweet UI`, function() {
  it(`renders the foo when I click the bar`, function() {
    await clickElement(document.querySelector(`.bar`));
    await nextAnimationFrame();
    expect(document.querySelector(`.bar`)).to.be.null;
    await condition(() => !!document.querySelector(`.foo`));
  });
});

Installation

npm install --save-dev domsuite

Development / Running tests

Install dependencies

npm install

Browser tests run with Selenium through web-component-tester.

Run with locally installed browsers

npm test

Tunnel to Sauce Labs

SAUCE=1 npm test

Set credentials with environment variables SAUCE_USERNAME and SAUCE_ACCESS_KEY. The default browser/OS matrix is defined in wct.conf.js.

Testing dev loop

  • Terminal 1: Build browser test bundles, rebuild when source files change: WATCH=true npm run test-build
  • Terminal 2: Launch browsers, keep alive after tests run: PERSISTENT=true npm run test-run
  • Change source files, refresh browser tab to rerun tests
  • Open browser dev tools to stop on breakpoints, debug, etc

License

MIT

Package Sidebar

Install

npm i domsuite

Weekly Downloads

246

Version

0.6.0

License

MIT

Unpacked Size

32.1 kB

Total Files

6

Last publish

Collaborators

  • mp_jthong
  • mixpanel-dev
  • tdumitrescu
  • zihe.jia