Comments (5)
Because the default behavior for
context.newPage()
seems to be to create a tab toabout:blank
first, I'm not able to test the first scenario (at least, not without some workaround--still learning what's available in Playwright).
This is consistent with user<->browser interaction, the user first opens a new tab and then types in the url. The only case it is different is when a new tab is opened by existing page, e.g. when the user clicks on a link with target=_blank
. Both of these cases are supported in playwright, you can listen to the new pages via context.on('page')
or page.on('popup')
. Do these page
events not work in your scenario?
from playwright.
Closing this request as we are not planning to change the newPage()
api.
from playwright.
The only case it is different is when a new tab is opened by existing page, e.g. when the user clicks on a link with target=_blank
Or when the user right-clicks a link and selects "Open in New Tab", or selects "Open in New Window", or uses a shortcut like middle mouse clicking...
As you have described, this restricts the ability to simulate the full range of user behavior. There is a meaningful distinction (to my application and in general) between a user performing a navigation by opening a new tab to a link directly without creating any previous history in the new tab, and manually creating a new tab and then performing a navigation in it. This is unnecessarily restrictive, particularly when the underlying tooling already provides you the option to do so.
from playwright.
Or when the user right-clicks a link and selects "Open in New Tab", or selects "Open in New Window", or uses a shortcut like middle mouse clicking...
All of these scenarios can be performed by executing Ctrl+click, Shift+click etc using Locator.click() with modifiers. You can listen for the new pages using the events I mentioned above.
from playwright.
Okay, I can see how that can be could be used to satisfy some of the state that I'm wanting to test, thanks for the link to the doc.
Is there anything similarly available to simulate the event of restoring a browser session? I would assume that this would also be equivalent to opening many pages and directly navigating to a given URL.
from playwright.
Related Issues (20)
- [Bug]: DEBUG=pw:webserver no longer works (regression) HOT 2
- [Bug]: Locators do not auto-wait when resolved to multiple elements (Strict mode) HOT 4
- [Bug]: UI mode highlights all tests that import fixtures in red, despite running tests correctly; claims they shouldn't be imported HOT 1
- [Feature]: Support Ubuntu 24.04 HOT 1
- [Bug]: Viewing tests with -UI HOT 2
- Can't get more workers to run - Playwright HOT 3
- [Bug]: Since v1.43, "Error: Error: browserType.launch: Executable doesn't exist" HOT 2
- Can't get parallel running for multiple tests in same file - Playwright HOT 2
- [Bug]: Adding an assertion in a fixture does not trigger retries HOT 1
- [Bug]: No tests passing for a simple component (component testing) HOT 1
- [Feature]: Allow page to listen for custom events `page.on(CUSTOM_EVENT, () =>` HOT 5
- [Bug]: Unable to run playwright tests using github actions HOT 8
- [Bug]: Timing issues with dynamically generated tests. (Updated, originally thought this was a globbing issue) HOT 8
- [Question] Why is 'setDownloadBehavior' required for connect_over_cdp? Any workaround? HOT 3
- [Bug]: playwright tests do not show in test tab in vscode, no errors, cli works HOT 5
- [Bug]: invoke beforeall method with condition skip in loop will skip entire test instead of respective each loop tests HOT 5
- [Bug]: Arch Linux & your OS is not officially supported by Playwright HOT 1
- [Bug]: @tags added using new syntax as per v1.42 is not shown in UI mode HOT 2
- [Feature]: Set proxy in Page HOT 1
- [Bug]: Missing projects/tests when using multiple projects (folders) from 1.43.x HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from playwright.