0.6.0 • Published 3 years ago
domsuite v0.6.0
domsuite
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