PackagePackagetypeA library you install and call yourself.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

wdio-qunit-service

A WebdriverIO service that runs QUnit HTML test pages in a browser and reports the results as WebdriverIO test suites, presented as a drop-in replacement for Karma-based QUnit setups.

QUnit and OPA5 tests of a UI5 app run from HTML pages, and Karma was the usual runner. This service opens each QUnit HTML file in a browser through WebdriverIO and captures the results in wdio format, so the same tests gain WebdriverIO's video recording, screenshots, code coverage and JUnit reporting. The README presents it as a drop-in replacement for Karma-based QUnit setups and gives a UI5 section built on the openui5-sample-app, with the QUnit files either listed in the paths option or opened from spec files, one per HTML page. It does not start the web server: the app must already be served when the tests run. It runs the QUnit pages themselves, which differs from wdi5, where tests are written as WebdriverIO specs with UI5 control selectors.

Facts

Latestv2.0.2ReleasedLast pushLicenceMIT

Where it sits

Lives in
Provides
UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.

Who is behind it

Mauricio LaufferMauricio LaufferPersonMaintains this
In the atlas: maintains 16, contributes to 41, wrote 4
@mauriciolauffer
maintainer

What it declares

Every artifact

Type
Package
Origin
Independently maintained
Runtime
Node.js

As a package

Where it runs
does not say
Distributed through
npm

Connections1

Install

npm add wdio-qunit-service

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from mauriciolauffer/wdio-qunit-service under MIT, read
mauriciolauffer/wdio-qunit-service/README.mdOn GitHub

wdio-qunit-service

npm test

WebdriverIO (wdio) service for running QUnit browser-based tests and dynamically converting them to wdio test suites.

Replacing Karma

QUnit Service is a drop-in replacement for those using Karma JS to run their QUnit tests (karma-qunit, karma-ui5 or any other combination of Karma and QUnit). Karma is deprecated and people should move to modern alternatives!

If you want to keep your QUnit tests as they are, with no rewriting and no refactoring, QUnit Service is everything you need. It runs your QUnit HTML files in a browser and captures all the results in wdio format.

Because of that, developers can use QUnit Service in tandem with everything else available in the wdio ecosystem.

Want to record the test run in a video? Perhaps take a screenshot or save it in PDF? Check the Code coverage? Save the test results in JUnit format? Go for it, QUnit Service doesn't get on your way.

Installation

After configuring WebdriverIO, install wdio-qunit-service as a devDependency in your package.json file.

npm install wdio-qunit-service --save-dev

If you haven't configured WebdriverIO yet, check the official documentation out.

Configuration

In order to use QUnit Service you just need to add it to the services list in your wdio.conf.js file. The wdio documentation has all information related to the configuration file:

// wdio.conf.js
export const config = {
  // ...
  services: ["qunit"],
  // ...
};

Usage

Make sure the web server is up and running before executing the tests. wdio will not start the web server.

With .spec or .test files

In your WebdriverIO test, you need to navigate to the QUnit HTML test page, then call browser.getQUnitResults().

describe("QUnit test page", () => {
  it("should pass QUnit tests", async () => {
    await browser.url("http://localhost:8080/test/unit/unitTests.qunit.html");
    await browser.getQUnitResults();
  });
});

It's recommended to have one WebdriverIO test file per QUnit HTML test page. This ensures the tests will run in parallel and fully isolated.

Configuration only, no .spec or .test files

If you don't want to create spec/test files, you can pass a list of QUnit HTML files to the configuration and the tests will be automatically generated.

// wdio.conf.js
export const config = {
  // ...
  baseUrl: 'http://localhost:8080',
  services: [
    ['qunit', {
      paths: [
        'unit-tests.html',
        'integration-tests.html',
        'test/qunit.html'
      ]
    }],
  // ...
};
Test results

Test results could look like: QUnit Service test results

Examples

Check the examples folder out for samples using javascript, typescript and more.

Usage in SAP Fiori / UI5 apps

Straight forward example using the well known openui5-sample-app:

  • Create a configuration file: wdio.conf.js

  • Tell wdio where to find the QUnit test files:

    • or
  • The web server must be running before executing the tests

  • Run it $ wdio run webapp/test/wdio.conf.js

Author

Mauricio Lauffer

License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT, read

History

Latest

v2.0.2

Fixes 1

Notes
Bug Fixes
  1. v2.0.1

    Fixes 1

    Notes
    Bug Fixes
    • Mitigate error - maximum call stack size exceeded (#47) (e06e05b)
  2. v2.0.0

    Breaking 1, Features 1

    Notes
    ⚠ BREAKING CHANGES
    • Drop CommonJS support (#36)
    Features
  3. v1.3.0

    Features 1

    Notes
    Features
    • Add support to QUnit running in iframes (#34) (b8866d8)
  4. v1.2.0

    Features 1

    Notes
    Features
    • Add support to QUnit preconfiguration (#31) (3be8009)
  5. v1.1.0

    Features 1

    Notes
    Features
  6. v1.0.1

    Fixes 1

    Notes
    Bug Fixes
    • QUnit actual/expected with array values (#25) (de3da8e)
  7. v1.0.0

    Breaking 1, Features 1, Fixes 1

    Notes
    ⚠ BREAKING CHANGES
    • PNPM
    Features
    Bug Fixes
    • import sharedContext.js (446a8b7)
  8. v0.3.0

    Features 1

    Notes
    Features
  9. v0.2.0

    Features 1

    Notes
    Features
  10. v0.1.2

    Fixes 1

    Notes
    Bug Fixes
    • Get QUnit tests not included in a module (fcecb15)
  11. v0.1.1

    Fixes 1

    Notes
    Bug Fixes
  12. v0.1.0

    Features 2, Fixes 1

    Notes
    Features
    Bug Fixes
581downloads per week, npm
Weekly downloads for wdio-qunit-service26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 581.20 Apr – 26 Apr: 1,37427 Apr – 3 May: 1,4724 May – 10 May: 1,39311 May – 17 May: 1,24718 May – 24 May: 1,51225 May – 31 May: 1,2421 Jun – 7 Jun: 1,4038 Jun – 14 Jun: 1,98515 Jun – 21 Jun: 2,10722 Jun – 28 Jun: 1,96229 Jun – 5 Jul: 1,6286 Jul – 12 Jul: 1,45913 Jul – 19 Jul: 1,41420 Jul – 26 Jul: 1,22027 Jul – 2 Aug: 1,4453 Aug – 9 Aug: 1,65610 Aug – 16 Aug: 1,42017 Aug – 23 Aug: 1,45324 Aug – 30 Aug: 1,50631 Aug – 6 Sept: 1,5337 Sept – 13 Sept: 1,13114 Sept – 20 Sept: 2,14421 Sept – 27 Sept: 2,07628 Sept – 4 Oct: 1,4475 Oct – 11 Oct: 1,48712 Oct – 18 Oct: 581
UI5 testing
  1. ui5-test-runnerCommand line running UI5 QUnit and OPA tests in parallelfrom UI5
  2. ui5-middleware-odata-recorderUI5 middleware recording OData traffic as mock server datasetsfrom UI5
  3. jest-environment-ui5Jest environment running UI5 unit tests in Node.jsfrom UI5
  4. openui5-smart-mockserverUI5 MockServer extension generating mock data with Faker.jsfrom UI5
  5. vitest-environment-ui5Vitest environment running UI5 unit tests in Node.jsfrom UI5
  6. @openui5/sap.ui.coreFramework core: module loader, MVC runtime, binding, routing, themingfrom UI5
  7. karma-ui5-transpileKarma preprocessor transpiling UI5 sources via ui5-tooling-transpilefrom UI5
  8. ui5-journey-recorderChrome extension generating OPA5 or wdi5 tests from recorded journeysfrom UI5
  9. wdi5-cucumberwdi5 plugin for Cucumber-style BDD tests on Fiori Elements appsfrom UI5
  10. wdi5-fe-selectorswdi5 selectors for locating controls in Fiori Elements appsfrom UI5
  11. wdio-ui5-serviceEnd-to-end testing for UI5 on WebdriverIO with UI5 control selectorsfrom UI5
  12. @ui5/middleware-code-coverageUI5 CLI middleware for Istanbul code coveragefrom UI5
  13. vscode-ui5-odata-mock-generatorVS Code extension generating OData mock data from service metadatafrom UI5

Details

Sources4
Added by handdiscovered herechecked
npm registry, wdio-qunit-serviceversion, releases, installschecked
github.com/git+https://github.com/mauriciolauffer/wdio-qunit-service.gittree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
latestv2.0.2
first release
releases and cadence13, ~48d median
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainui5, developer-experience
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:mauriciolauffer-wdio-qunit-service
JSON
/artifacts/mauriciolauffer-wdio-qunit-service.json
MCP
Connecting an agent