Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core JavaScript-API


JavaScript-Bibliothek agorum.dev/js/lib/runner

Die JavaScript-Bibliothek agorum.dev/js/lib/runner bietet Funktionen, um Tests bzw. Testsuiten automatisiert auszuführen. Mit dieser JavaScript-Bibliothek können Sie Tests über Cronjobs oder in einer Headless-Umgebung laufen lassen und so die Stabilität und Funktionalität Ihres Codes kontinuierlich überprüfen.

Tipp: Bei Bedarf können Sie einen CustomService erstellen, um die Tests extern aufrufen zu können, zum Beispiel um die Tests in einem Continuous Integration Server oder einer eigenen Testumgebung aufzurufen.

Verwendung

Um die Funktionen zu nutzen, binden Sie die Bibliothek am Anfang Ihres Skripts ein:

let runner = require('/agorum/roi/customers/agorum.dev/js/lib/runner');

Funktionen

run

Mit der Funktion run können Sie eine Testsuite laden und die darin enthaltenen Tests ausführen. Diese Funktion ist ideal, wenn Sie sie in Skripten verwenden möchten, die regelmäßig über einen Cronjob ausgeführt werden.


Syntax

runner.run(root, timeout);


Parameter

Parameter Beschreibung Pflicht Standard
root Geben Sie das Verzeichnis an, das die Testsuite enthält, die geladen und ausgeführt werden soll. ja
timeout Die maximale Zeitspanne (in Millisekunden), die der Testausführung zur Verfügung steht. Wird der Wert nicht angegeben oder ist er kleiner/gleich 0, läuft der Test ohne Zeitlimit. nein

Tipp: Geben Sie für root den Ordner an, der die Testskripte enthält, normalerweise nach dem folgenden Muster:

/agorum/roi/customers/<my-config-project>/test/js

Wenn Sie den übergeordneten Ordner eines Konfigurationsprojekts angeben, versucht der Test sonst auch nicht-Test-Skripte auszuführen.

Beispiel

/* global sc */

let runner = require('/agorum/roi/customers/agorum.dev/js/lib/runner');

runner.run('/path/to/test/directory').then(results => {
  console.log(results);
});


Rückgabewerte

Die Funktion run gibt ein Array von Testresultaten zurück, das die gefilterten Informationen der durchgeführten Tests enthält, etwa Start- und Endzeit, ob der Test fehlschlug oder übersprungen wurde, sowie Ergebnisse oder Fehlermeldungen.

headless

Mit der Funktion headless können Sie Tests in einem headless-Kontext ausführen. Diese Funktion ist besonders nützlich, wenn Sie in Umgebungen arbeiten, in denen die Tests ohne eine sichtbare Benutzeroberfläche des Browsers durchgeführt werden müssen, um sie automatisiert ausführen zu können.


Syntax

runner.headless(sc, timeout, root, scope);


Parameter

Parameter Beschreibung Pflicht Standard
sc Ein Session-Controller-Objekt, das die Kontrolle der Sitzungsparameter für die Testsession übernimmt. ja
timeout Die Zeitspanne (in Millisekunden), die Sie der Testausführung zur Verfügung stellen. ja
root Gibt das Verzeichnis an, das die Testsuite enthält, die geladen und im headless-Modus ausgeführt werden soll. ja
scope Ein optionales Objekt, dessen Eigenschaften als globale Variablen im ausgeführten Skript zur Verfügung stehen. Damit können Sie Werte an die Testumgebung übergeben, auf die die Tests direkt zugreifen können. Es werden nur JSON-serialisierbare Werte unterstützt (Strings, Zahlen, Booleans, Arrays, einfache Objekte). nein

Tipp: Geben Sie für root den Ordner an, der die Testskripte enthält, normalerweise nach dem folgenden Muster:

/agorum/roi/customers/<my-config-project>/test/js

Wenn Sie den übergeordneten Ordner eines Konfigurationsprojekts angeben, versucht der Test sonst auch nicht-Test-Skripte auszuführen.


Beispiel

/* global sc */

let runner = require('/agorum/roi/customers/agorum.dev/js/lib/runner');

// ohne scope
runner.headless(sc, 10000, '/path/to/test/directory');

// mit scope: Die Eigenschaften des Objekts stehen im Test als globale Variablen zur Verfügung
runner.headless(sc, 10000, '/path/to/test/directory', {
  baseUrl: 'https://example.com',
  apiKey: 'my-api-key',
});


Rückgabewerte

Die Funktion headless gibt ein Array von Testresultaten zurück, das die gefilterten Informationen der durchgeführten Tests enthält, etwa Start- und Endzeit, ob der Test fehlschlug oder übersprungen wurde, sowie Ergebnisse oder Fehlermeldungen.