javascript - Test om en trykket knapp utfører en omdirigering til riktig side?


Jeg skriver en test med Playwright, og jeg vil gjerne vite den mest korrekte måten å sjekke om - etter at en knapp er trykket - den utløste en omdirigering til den forventede URL-en, for å bestå testen.

Jeg har funnet dette utdraget, men det setter seg fast:

const [request] = await Promise.all([
    // Waits for the next request with the specified url
    page.waitForRequest('*URL*'),
    // Triggers the request
    page.click('button'),
  ]);

Den klikker først på knappen, omdirigeringen skjer, men så fortsetter den å vente på forespørselen uansett.

Svar #1

Vil waitForNavigation() fungere for deg?

const [response] = await Promise.all([
    // Waits for the main frame navigation and returns the main resource response 
    page.waitForNavigation({url: '*URL*'}),
    // Triggers the request
    page.click('button'),
]);

Svar #2

Siden waitForNavigation er foreldet, anbefaler jeg å bruke page.waitForURL(url).

Mer: https://playwright.dev/docs/api/class-page#page-wait-for-url

Relaterte artikler