- Easy, fast and cheap (mock services)
- Cross browser
- Mocha + Chai
- @nuxeo/testing-helpers
- Promisified helpers
- Mock Nuxeo client
- Karma
- Local launchers
- Saucelabs launcher
- @open-wc/karma-esm (no build)
- JenkinsX
- Move to @web/test-runner (https://modern-web.dev/docs/test-runner/)
- Visual regression tests
- Github Actions
- Built and deployed for PR
- Acceptance testing
- Validates element analysis
- Run in CI using nuxeo-ftest to start local server
- Can run against any server (WebUI dev server, docker, k8s, etc..)
- webdriver.io v4
- Chai
- Selenium standalone launcher
- Cucumber BDD
- JUnit and Cucumber HTML reporters
- Simple way to run Web UI functional tests:
npx @nuxeo/nuxeo-web-ui-ftest --report --screenshots --headless --tags='not @ignore'
-
Reuse of common page objects and step definitions
-
Convention based approach for custom features:
├── features
│ ├── myfeature1.feature
│ ├── ...
│ └── step_definitions
│ ├── myfeature1.js
│ └── ...
└── resources
├── image.png
└── ...
- Shadow DOM (wdio-shadow-plugin vs Component objects (
shadow$) ) - Speed: timeouts and polling make things slow
- Flakyness: sensitive to performance, non transactional commands, etc..
- webdriver.io v6
- suport for Puppetter (Chrome DevTools Protocol)
- no Playwright yet to avoid download of custom browsers
- visual regression
- Run on UAT environments
- Exploratory tests