Zum Hauptinhalt springen

CleanupTotal Service

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

Mit dem cleanup-total Service für webdriver.io können Sie ganz einfach eine ordnungsgemäße Bereinigung nach jedem Test sicherstellen. Der Service bietet eine systematische Methode, um Entitäten direkt nach der Erstellung für die Löschung zu markieren. Dies ist besonders nützlich, wenn Tests die Erstellung komplexer Strukturen beinhalten, wie z.B. ein Bankkonto mit einem Anlageplan und einer Einzahlung. Ohne ordnungsgemäße Bereinigung kann der Versuch, das Konto zu löschen, zu Fehlern führen, wie z.B. eine Verweigerung, weil das Konto nicht leer ist. Mit cleanup-total werden Entitäten jedoch in der richtigen Reihenfolge gelöscht, so dass Tests nach sich selbst aufräumen und sich nicht gegenseitig beeinträchtigen.

Installation

Die einfachste Methode, dieses Modul als (Entwicklungs-)Abhängigkeit zu installieren, ist die Verwendung des folgenden Befehls:

npm install wdio-cleanuptotal-service --save-dev

Verwendung

Fügen Sie wdio-cleanuptotal-service zu Ihrer wdio.conf.ts hinzu:

export const config: WebdriverIO.Config = {
// ... andere Optionen

services: ['cleanuptotal']

// ... andere Optionen
};

oder mit den Service-Optionen:

export const config: WebdriverIO.Config = {
// ... andere Optionen

services: [
[
'cleanuptotal',
{
// Verwenden Sie eine benutzerdefinierte Logger-Funktion, um Nachrichten in den Testbericht zu schreiben
customLoggerMethod: console.log(), // TODO: ersetzen Sie dies bei Bedarf durch Ihre eigene Logger-Funktion

// Schreiben Sie nur dann in das Protokoll, wenn ein Fehler auftritt, um die Übersichtlichkeit zu verbessern
logErrorsOnly: false, // TODO: erwägen Sie eine Änderung auf 'true', wenn Sie zu viele Nachrichten im Bericht haben
}
]
]

// ... andere Optionen
};

Verwendung im Test

Sie können den cleanuptotal Service überall dort importieren, wo er benötigt wird, sei es in Ihrer Testdatei oder einer anderen Klasse.

import { cleanuptotal } from "wdio-cleanuptotal-service";

it("should keep things tidy", () => {
// ...

// Erstellen Sie ein Konto und fügen Sie es der Bereinigungsliste zur Löschung nach dem Test hinzu
const accountId = createAccount("John Blow");
cleanupTotal.addCleanup(async () => {
await deleteAccount(accountId);
});

// Fügen Sie dem Konto einen Anlageplan hinzu und fügen Sie ihn der Bereinigungsliste hinzu
addInvestmentPlan(accountId, "ModRisk");
cleanupTotal.addCleanup(async () => {
await removeInvestmentPlan(accountId);
});

// Zahlen Sie Geld auf das Konto ein und fügen Sie es der Bereinigungsliste hinzu
deposit(accountId, 1000000);
cleanupTotal.addCleanup(async () => {
await undoDeposit(accountId);
});

// ...

});

// Beachten Sie, dass der eigentliche Bereinigungscode nach Abschluss des Tests ausgeführt wird

Typescript-Unterstützung

Typescript wird für dieses Plugin unterstützt.

Support

Für Unterstützung und Vorschläge können Sie mich gerne unter tzur.paldi@outlook.com kontaktieren.

Welcome! How can I help?

WebdriverIO AI Copilot