Przejdź do głównej treści

Usługa CleanupTotal

wdio-cleanuptotal-service jest pakietem zewnętrznym, więcej informacji znajdziesz na GitHub | npm

Dzięki usłudze cleanup-total dla webdriver.io, możesz łatwo zapewnić odpowiednie czyszczenie po każdym teście. Usługa dostarcza systematyczny sposób oznaczania encji do usunięcia natychmiast po ich utworzeniu. Jest to szczególnie przydatne, gdy testy obejmują tworzenie złożonych struktur, takich jak konto bankowe z planem inwestycyjnym i depozytem. Bez odpowiedniego czyszczenia, próba usunięcia konta może skutkować błędami, takimi jak odmowa ze względu na to, że konto nie jest puste. Jednak dzięki cleanup-total, encje są usuwane we właściwej kolejności, zapewniając, że testy czyszczą po sobie i nie kolidują ze sobą.

Instalacja

Najłatwiejszym sposobem instalacji tego modułu jako (dev-)zależności jest użycie następującego polecenia:

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

Użycie

Dodaj wdio-cleanuptotal-service do swojego wdio.conf.ts:

export const config: WebdriverIO.Config = {
// ... inne opcje

services: ['cleanuptotal']

// ... inne opcje
};

lub z opcjami usługi:

export const config: WebdriverIO.Config = {
// ... inne opcje

services: [
[
'cleanuptotal',
{
// Użyj niestandardowej funkcji loggera do zapisywania wiadomości w raporcie testu
customLoggerMethod: console.log(), // TODO: zastąp własną funkcją loggera, jeśli to konieczne

// Zapisuj w logu tylko gdy wystąpi błąd, aby zmniejszyć bałagan
logErrorsOnly: false, // TODO: rozważ zmianę na 'true', jeśli masz zbyt wiele wiadomości w raporcie
}
]
]

// ... inne opcje
};

Użycie w teście

Możesz zaimportować usługę cleanuptotal wszędzie tam, gdzie jest potrzebna, czy to w pliku testowym, czy w dowolnej innej klasie.

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

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

// Utwórz konto i dodaj je do listy czyszczenia do usunięcia po teście
const accountId = createAccount("John Blow");
cleanupTotal.addCleanup(async () => {
await deleteAccount(accountId);
});

// Dodaj plan inwestycyjny do konta i dodaj go do listy czyszczenia
addInvestmentPlan(accountId, "ModRisk");
cleanupTotal.addCleanup(async () => {
await removeInvestmentPlan(accountId);
});

// Wpłać środki na konto i dodaj je do listy czyszczenia
deposit(accountId, 1000000);
cleanupTotal.addCleanup(async () => {
await undoDeposit(accountId);
});

// ...

});

// Zauważ, że kod czyszczenia zostanie wykonany po zakończeniu testu

Wsparcie dla Typescript

Ten plugin obsługuje Typescript.

Wsparcie

W celu uzyskania wsparcia i sugestii, skontaktuj się ze mną pod adresem tzur.paldi@outlook.com.

Welcome! How can I help?

WebdriverIO AI Copilot