playwright: [Bug]: Redirect after Azure Entra Login fails

Version

1.42.0

Steps to reproduce

  • Create a Blazor Server app with activated azure ad authentication as described here
  • Record a login
  • On the step after Don’t show this again window successfully closed and click on yes await the redirect and it will fail with the message ERR_INVALID_URL
  • On a page reload the page is served as expected

Expected behavior

Redirect to the expected page like in version 1.41.2

Actual behavior

Redirect fails with the message ERR_INVALID_URL

Additional context

Videos of the behavior can be sent in private if helpful.

Environment

System:
    OS: Windows 11 10.0.22631
    CPU: (16) x64 Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
    Memory: 32.90 GB / 63.72 GB
  Binaries:
    Node: 18.18.0 - C:\Program Files\nodejs\node.EXE
    npm: 9.8.1 - C:\Program Files\nodejs\npm.CMD
  IDEs:
    VSCode: 1.87.0 - ~\Programs\Microsoft VS Code\bin\code.CMD

About this issue

  • Original URL
  • State: closed
  • Created 4 months ago
  • Reactions: 5
  • Comments: 17 (6 by maintainers)

Most upvoted comments

Closing this ticket before the fix was out sure made this harder to figure out there is an ongoing issue with the latest version.

Thanks for the confirmation! I’ll close it for now, since we know that the issue has been fixed in our beta version and there is no action item on our side. This bugfix will get included in our next release. As a workaround for now we recommend the canary/beta release.

Yes, I did the same today, except i’m on .NET. But for future releases it should be fixed to be able to stay up to date with all releases and patches.

@mxschmitt I had the same issues, using “Azure AD B2C”, Playwright tests suddenly started to fail in my auth setup, when upgrading from 1.41.2 to 1.42.1, due to Error: page.waitForNavigation: net::ERR_INVALID_URL (yes, I will stop using waitForNavigation soon 😉) for both “Desktop Chrome” and “Desktop Firefox”.

I can confirm that using next and specifically the below versions “fixes” the issue for me for both “Desktop Chrome” and “Desktop Firefox” :

 @playwright/test 1.43.0-alpha-2024-03-25
  playwright 1.43.0-alpha-2024-03-25

Due to the nature of auth, I am too unable to submit a programmatic reproduction. But what I am doing is something like this to setup/persist auth for the test suite:

 const browser = await chromium.launch();
  const page = await browser.newPage({ ignoreHTTPSErrors });

  await page.goto(baseURL!);
  await page.fill(
    "[placeholder='Email Address']",
    FOO_USER_EMAIL!,
  );
  await page.fill("[placeholder='Password']", FOO_USER_PASSWORD!);
  await Promise.all([
    page.waitForNavigation(), <--- FAIL LIVES HERE
    page.click("button:has-text('Sign in')"),
  ]);

  await page.context().storageState({ path: storageState as string });

  await browser.close();

Look like an issue with the Chromium binary. It was working for me until I upgrade playwright and run playwright install command again. I saw the upgrade of the browsers binaries then it stop working.

I have a similar flow login with Auth0 instead of Azure. after my e2e user login I’m getting redirected to my page and the browser crash with the same ERR_INVALID_URL