JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 347
  • Score
    100M100P100Q113218F
  • License MIT

Browser testing/automation utilities with async/await

Package Exports

  • domsuite
  • domsuite/compiled/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (domsuite) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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