Skip to content

ArnaudBuchholz/ui5-test-runner

Repository files navigation

UI5 Test runner

Node.js CI Package Quality Known Vulnerabilities ui5-test-runner PackagePhobia MIT License FOSSA Status Documentation

A self-sufficient test runner for UI5 applications enabling parallel execution of tests.

To put it in a nutshell, some UI5 applications have so many tests that when you run them in a browser, it ends up crashing. The main reason is memory consumption : the browser process goes up to 2 GB and it blows up. JavaScript is based on garbage collecting but it needs time to operate and the stress caused by executing the tests as well as the use of iframes do not let enough bandwidth for the browser to free up the memory.

This tool is designed and built as a substitute of the UI5 karma runner. It executes all the tests in parallel thanks to several browser instances (which also reduces the total execution time).

💿 How to install

  • Works with Node.js >= 18
  • Local installation
    • npm install --save-dev ui5-test-runner
    • Trigger either with npx ui5-test-runner or through an npm script invoking ui5-test-runner
  • Global installation
    • npm install --global ui5-test-runner
    • Trigger with ui5-test-runner

NOTE : additional packages might be needed during the execution (puppeteer, selenium-webdriver, nyc...) . If they are found installed locally in the tested project, they are used. Otherwise, they are installed globally.

⚖️ License

FOSSA Status

⚠️ Breaking changes

Version Reason
5.0.0 • Some coverage reports now includes all files, leading to a potential decrease of coverage
4.0.0  • Drop support of Node.js 16
3.0.0  • Drop support of Node.js 14
2.0.0  • Command line parameters as well as configuration file syntax have changed
• Dependencies are installed on demand
• Browser instantiation command evolved in an incompatible way (see documentation)
• Output is different (report, traces)

✒ Contributors