-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Description
🚀 Feature Request
Hey Playwright team 👋
In the Proton Mail Desktop application (source code), we fetch and render the web content directly from a remote server.
Some routes and subdomains (calendar, mail, account, etc.), are intercepted by Electron from Chromium and are instead rendered in separate webviews instead of normal navigation. On web, this behavior would be a standard page redirect.
We're now developing e2e UI tests with Playwright. When redirects occur, due to the aforementioned behavior, Electron intercepts them and renders the content in a different webview. Thus no navigation happens in the original page. This causes Playwright's navigation waiting to hang indefinitely, as it's waiting for a navigation event that will never fire/succeed.
From what I can tell, there's no way to explicitly disable this navigation waiting behavior, beyond the PLAYWRIGHT_SKIP_NAVIGATION_CHECK environment variable, which was removed as of #36283.
The easiest way to handle this would be to re-introduce the variable for which I've opened a PR #37993. However, if there's an alternative approach we're missing, I'd be happy to try it out.
Example
Engineers can set this environment variable to disable Playwright navigation wait checks explicitly.
Motivation
Our application, and potentially others might rely on such redirect interception behavior. Currently there's no option to disable this outright and in turn Playwright is somewhat in an unusable state for cases such as that.
Re-introducing the environment variable would make Playwright almost fully compliant with such approaches.