Zum Hauptinhalt springen

QUnit Service

wdio-qunit-service ist ein Paket von Drittanbietern. Weitere Informationen finden Sie auf GitHub | npm

npm test

WebdriverIO (wdio) Service zum Ausführen von browserbasiertem QUnit Tests und deren dynamischer Konvertierung in wdio Testsuiten.

Ersatz für Karma

QUnit Service ist ein direkter Ersatz für diejenigen, die Karma JS verwenden, um ihre QUnit Tests auszuführen (karma-qunit, karma-ui5 oder jede andere Kombination aus Karma und QUnit). Karma ist veraltet und Benutzer sollten zu modernen Alternativen wechseln!

Wenn Sie Ihre QUnit-Tests so behalten möchten, wie sie sind, ohne Umschreiben und ohne Refaktorierung, ist QUnit Service alles, was Sie brauchen. Es führt Ihre QUnit-HTML-Dateien in einem Browser aus und erfasst alle Ergebnisse im wdio-Format.

Dadurch können Entwickler QUnit Service zusammen mit allem anderen verwenden, was im wdio-Ökosystem verfügbar ist.

Möchten Sie den Testlauf in einem Video aufzeichnen? Vielleicht einen Screenshot machen oder als PDF speichern? Die Code-Abdeckung überprüfen? Die Testergebnisse im JUnit-Format speichern? Nur zu, QUnit Service steht Ihnen nicht im Weg.

Installation

Nach der Konfiguration von WebdriverIO installieren Sie wdio-qunit-service als devDependency in Ihrer package.json-Datei.

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

Wenn Sie WebdriverIO noch nicht konfiguriert haben, lesen Sie die offizielle Dokumentation.

Konfiguration

Um QUnit Service zu verwenden, müssen Sie es lediglich zur Liste der services in Ihrer wdio.conf.js-Datei hinzufügen. Die wdio-Dokumentation enthält alle Informationen zur Konfigurationsdatei:

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

Verwendung

Stellen Sie sicher, dass der Webserver läuft, bevor Sie die Tests ausführen. wdio startet den Webserver nicht.

Mit .spec oder .test Dateien

In Ihrem WebdriverIO-Test müssen Sie zur QUnit-HTML-Testseite navigieren und dann browser.getQUnitResults() aufrufen.

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

Es wird empfohlen, für jede QUnit-HTML-Testseite eine WebdriverIO-Testdatei zu erstellen. Dies stellt sicher, dass die Tests parallel und vollständig isoliert ausgeführt werden.

Nur Konfiguration, keine .spec oder .test Dateien

Wenn Sie keine Spec/Test-Dateien erstellen möchten, können Sie eine Liste von QUnit-HTML-Dateien an die Konfiguration übergeben, und die Tests werden automatisch generiert.

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

Testergebnisse

Testergebnisse könnten so aussehen: QUnit Service test results

Beispiele

Schauen Sie sich den examples Ordner für Beispiele mit javascript, typescript und mehr an.

Verwendung in SAP Fiori / UI5 Apps

Einfaches Beispiel mit der bekannten openui5-sample-app:

  • Erstellen Sie eine Konfigurationsdatei: wdio.conf.js

  • Teilen Sie wdio mit, wo die QUnit-Testdateien zu finden sind:

    • oder
  • Der Webserver muss vor der Ausführung der Tests laufen

  • Führen Sie aus $ wdio run webapp/test/wdio.conf.js

Autor

Mauricio Lauffer

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe die LICENSE Datei für Details.

Welcome! How can I help?

WebdriverIO AI Copilot