Serviço CleanupTotal
wdio-cleanuptotal-service é um pacote de terceiros, para mais informações, consulte GitHub | npm
Com o serviço cleanup-total
para webdriver.io, você pode facilmente garantir uma limpeza adequada após cada teste. O serviço fornece uma maneira sistemática de marcar entidades para exclusão imediatamente após a criação. Isso é particularmente útil quando os testes envolvem a criação de estruturas complexas, como uma conta bancária com um plano de investimento e um depósito. Sem a limpeza adequada, tentar excluir a conta pode resultar em erros, como uma recusa devido à conta não estar vazia. No entanto, com o cleanup-total, as entidades são excluídas na ordem correta, garantindo que os testes limpem após si mesmos e não interfiram uns com os outros.
Instalação
A maneira mais fácil de instalar este módulo como uma (dev-)dependência é usando o seguinte comando:
npm install wdio-cleanuptotal-service --save-dev
Uso
Adicione wdio-cleanuptotal-service ao seu wdio.conf.ts
:
export const config: WebdriverIO.Config = {
// ... outras opções
services: ['cleanuptotal']
// ... outras opções
};
ou com as opções de serviço:
export const config: WebdriverIO.Config = {
// ... outras opções
services: [
[
'cleanuptotal',
{
// Use uma função de logger personalizada para escrever mensagens no relatório de teste
customLoggerMethod: console.log(), // TODO: substitua pela sua própria função de logger, se necessário
// Escreva no log apenas quando ocorrer um erro para reduzir a desordem
logErrorsOnly: false, // TODO: considere mudar para 'true' se você tiver muitas mensagens no relatório
}
]
]
// ... outras opções
};
Uso em teste
Você pode importar o serviço cleanuptotal onde for necessário, seja no seu arquivo de teste ou em qualquer outra classe.
import { cleanuptotal } from "wdio-cleanuptotal-service";
it("should keep things tidy", () => {
// ...
// Cria uma conta e adiciona-a à lista de limpeza para exclusão após o teste
const accountId = createAccount("John Blow");
cleanupTotal.addCleanup(async () => {
await deleteAccount(accountId);
});
// Adiciona um plano de investimento à conta e adiciona-o à lista de limpeza
addInvestmentPlan(accountId, "ModRisk");
cleanupTotal.addCleanup(async () => {
await removeInvestmentPlan(accountId);
});
// Deposita fundos na conta e adiciona à lista de limpeza
deposit(accountId, 1000000);
cleanupTotal.addCleanup(async () => {
await undoDeposit(accountId);
});
// ...
});
// Observe que o código de limpeza real será executado após a conclusão do teste
Suporte a Typescript
Typescript é suportado para este plugin.
Suporte
Para suporte e sugestões, sinta-se à vontade para entrar em contato comigo em tzur.paldi@outlook.com.