typescript - Hur ändrar jag global förväntad timeout i playwright
Jag skriver i Playwright med Cucumber och TypeScript.
Jag behöver ändra standardväntetiden för förväntan.
Jag märkte att varje matcher, som toBeVisible(), har sina egna timeouter, men läste också i manualen att expect kan konfigureras på detta sätt (från manualen)
const slowExpect = expect.configure({ timeout: 10000 });
await slowExpect(locator).toHaveText('Submit');
Jag vill dock att ändringen ska vara global. Det finns också ett extend-fält i Expect-typen.
//...
extend(matchers: any): void;
configure: (configuration: {
message?: string,
timeout?: number,
soft?: boolean,
}) => Expect;
//...
Vad är det bästa sättet att uppnå det?
Ska jag exportera slowExpect, eller ska jag använda extend i någon konfigurationsfil och också exportera det?
Svar #1
Ställ bara in den globala förväntade tidsgränsen i konfigurationen och den kommer att gälla för alla påståenden om du inte åsidosätter den i ett specifikt förväntat uttalande.
import { defineConfig } from '@playwright/test';
export default defineConfig({
expect: {
timeout: 10 * 1000,
},
});
Svar #2
Det enklaste sättet att åsidosätta standardtidsgränsen är att uppdatera i hooks.
- Öppna 'hooks.ts'
- importera 'setDefaultTimeout' från '@cucumber/cucumber'
- setDefaultTimeout(60 * 1000);
Referera till den här bilden, hur jag gjorde i mitt skript.
