Pavel Feldman
b4012df160
fix(trace): make locator picker work for iframes ( #26883 )
...
Fixes https://github.com/microsoft/playwright/issues/26878
2023-09-06 09:44:47 -07:00
Dmitry Gozman
740472ce8f
fix(trace viewer): retain currentSrc of all images ( #26841 )
...
When `<source>` or `srcset=` are involved, the actual image src is
determinted at runtime based on factors like `devicePixelRatio` and
media queries that depend on width/height.
Since these factors may differ in the Trace Viewer itself, we should
preserve the `currentSrc`, use it as an actual `src`, and disable
various `<source>` and `srcset=`.
2023-09-05 12:48:07 -07:00
Playwright Service
94c1b749b2
feat(webkit): roll to r1904 ( #26855 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-04 16:08:23 +02:00
Dmitry Gozman
741c649d56
fix(trace viewer): make sure target inside shadow dom is highlighted ( #26823 )
...
References #24532 .
2023-08-31 12:46:49 -07:00
Playwright Service
6629b31a97
feat(webkit): roll to r1902 ( #26812 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-31 17:31:13 +02:00
Playwright Service
60e70c187d
feat(chromium): roll to r1078 ( #26811 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-31 16:03:16 +02:00
Pavel Feldman
fd31f5bc50
chore: fix har date types ( #26783 )
2023-08-30 12:40:46 -07:00
Pavel Feldman
99b8ca2be2
chore: flush har when recording tracing ( #26746 )
2023-08-28 17:44:48 -07:00
Sander
ee203b782c
feat(evaluate): serialize map and set ( #26730 )
...
closes: https://github.com/microsoft/playwright/issues/24040
2023-08-28 14:32:41 -07:00
Yury Semikhatsky
501ed32856
fix(fetch): update host header on redirect ( #26750 )
...
Fixes https://github.com/microsoft/playwright/issues/26743
2023-08-28 12:42:50 -07:00
Max Schmitt
5c72cbdb23
feat(webkit): roll WebKit to r1898 ( #26738 )
2023-08-28 19:44:52 +02:00
Pavel Feldman
eb9ef64e7d
fix(android): use domain socket suffix chrome can discover ( #26724 )
...
Fixes: https://github.com/microsoft/playwright/issues/26721
2023-08-25 19:30:09 -07:00
Pavel Feldman
bc1f6272d8
chore: deflate large web socket messages ( #26720 )
2023-08-25 16:13:46 -07:00
Pavel Feldman
0ecd561db2
chore: improve network panel rendering ( #26708 )
2023-08-25 12:10:28 -07:00
Playwright Service
ce446437fb
feat(chromium): roll to r1077 ( #26709 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-25 19:31:19 +02:00
Dmitry Gozman
0ecc13038f
fix(textContent): make it work for ShadowRoot ( #26690 )
...
It used to work, but regressed in v1.36.
Fixes #26636 .
2023-08-24 12:59:42 -07:00
Pavel Feldman
6d4f937674
chore: fix installation tests ( #26691 )
2023-08-24 12:48:39 -07:00
Pavel Feldman
0406e45cf3
chore: render download progress in the host process ( #26666 )
2023-08-24 07:33:32 -07:00
Dmitry Gozman
44d3770559
fix(selector generator): escape all tag names in css selectors ( #26659 )
...
Fixes #26657 .
2023-08-23 12:32:08 -07:00
Pavel Feldman
46e33cd384
feat: allow installing browsers from ui ( #26628 )
2023-08-23 12:26:11 -07:00
Max Schmitt
c27317b6e5
feat(webkit): roll to r1893 ( #26596 )
...
This should make it into v1.38 and once its merged one day later it can
be tested in [Playwright
Canary](https://playwright.dev/docs/canary-releases ).
Fixes https://github.com/microsoft/playwright/issues/22569
Fixes https://github.com/microsoft/playwright/issues/23259
2023-08-22 17:57:02 +02:00
Dmitry Gozman
72bdd43e69
fix(route): make sure Route.fetch works for popup main request ( #26590 )
...
References #24603 .
2023-08-21 16:48:51 -07:00
Pavel Feldman
f83d81956d
chore: make console stream live in ui mode ( #26562 )
2023-08-21 10:59:37 -07:00
Marcin Strzyz
192b697488
chore: remove old webpack folder structure ( #26560 )
2023-08-19 16:16:44 -07:00
Pavel Feldman
09bb866333
chore: format console message from page ( #26555 )
2023-08-19 16:13:42 -07:00
Marcin Strzyz
6b2d93a890
chore: error on unused eslint disables ( #26510 )
2023-08-17 20:53:36 +02:00
Vignesh Shanmugam
adc9b2d390
feat: add support for browserContext.on('pageerror') ( #24452 )
...
+ fix #24466
+ Adds support for exposing the `pageerror` events via `browserContext`
API.
+ Helps with capturing the overall exceptions that are thrown outside of
the the current page and also captures the exceptions happens on other
windows/popups.
+ Keeps the API in sync with `context.on('request)',
context.on('console'), etc..`
2023-08-17 09:10:03 -07:00
Jean-François Greffier
dcab22c307
feat: display package manager in CLI help and tips ( #26450 )
...
Display `npx playwright`, `yarn playwright` or `pnpm exec playwright` in
CLI
Fixes #21425
2023-08-17 08:53:08 -07:00
Jonah
0c3703fda1
feat: add iPhone 14 family ( #24570 )
...
Fixes #24214
2023-08-17 11:05:40 +02:00
Max Schmitt
75ed251c9e
fix: download of attachments in UI Mode ( #26407 )
...
Fixes https://github.com/microsoft/playwright/issues/26326 .
2023-08-17 10:57:28 +02:00
Max Schmitt
1a1ff6c671
chore: move launchApp into separate function ( #26499 )
...
https://github.com/microsoft/playwright/pull/26407#discussion_r1290727547
2023-08-16 18:13:40 +02:00
Playwright Service
167165d179
feat(chromium): roll to r1076 ( #26400 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-10 15:16:10 +02:00
Pavel Feldman
65ac0d5256
chore: add k8s grid deployments ( #26359 )
2023-08-08 18:46:32 -07:00
Dmitry Gozman
9509c300e4
fix(reuse): make sure newly created page is not "server-side-only" ( #26332 )
...
This page is going to be the "page for reuse", so it should not be
marked as "server-side-only" and should issue all required events.
Fixes #24574 .
2023-08-07 16:26:30 -07:00
Playwright Service
dfea18b588
feat(chromium): roll to r1075 ( #24605 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-04 15:20:52 +02:00
Pavel Feldman
b5d49d0849
chore: do not pass access-key header into the redirects ( #24478 )
2023-07-27 19:03:14 -07:00
Dmitry Gozman
1754755684
fix(tracing): make sure resetForReuse does not throw ( #24415 )
...
When trace chunk recording is in progress, calling `stop()` throws
`Error: Must stop trace file before stopping tracing`.
2023-07-27 08:06:42 -07:00
Playwright Service
b1ea9507a8
feat(chromium): roll to r1074 ( #24461 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-27 15:02:40 +02:00
Dmitry Gozman
c8f2fc392a
chore: move fs operation in trace recorder to a separate class ( #24383 )
2023-07-26 17:31:00 -07:00
Dmitry Gozman
e0cbb0882b
fix(launch): default to non-zero launch timeout ( #24440 )
...
When not specified, launch timeout is 3 minutes, taken from the
`DEFAULT_LAUNCH_TIMEOUT` constant.
Also, use the default launch timeout for `electron.launch()` instead of
default regular timeout.
2023-07-26 16:16:00 -07:00
Pavel Feldman
4949cef09c
chore: save chrome trace on the client side ( #24414 )
2023-07-26 14:11:26 -07:00
Pavel Feldman
33d62d9a97
chore: do not use relative xpath when querying from document ( #24405 )
...
Fixes https://github.com/microsoft/playwright/issues/24399
2023-07-25 12:55:35 -07:00
Marcin Strzyz
78a2b7237e
feat: add screen definitions for ipad gen 5 ( #24355 )
2023-07-24 14:57:12 -07:00
Dmitry Gozman
b4c412eb1f
chore: replace process.exit with graceful closure ( #24242 )
...
Everywhere we call `process.exit()`, we might actually need to
gracefully close all browsers.
2023-07-24 08:29:29 -07:00
Dmitry Gozman
2cb0622c39
chore: rename ScopedRace to LongStandingScope, preserve Error instance in reject() ( #24361 )
2023-07-23 21:00:07 -07:00
Yury Semikhatsky
59d5198d17
fix(fetch): handle negative max-age and expires attributes ( #24311 )
...
Fixes #24221
2023-07-20 15:42:52 -07:00
Playwright Service
80daf47d44
feat(chromium): roll to r1073 ( #24326 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-20 16:15:56 +02:00
Max Schmitt
1288519915
fix(ui-mode): run teardown handlers with Command + C ( #24267 )
...
Fixes https://github.com/microsoft/playwright/issues/23907
2023-07-19 17:50:25 +02:00
Andrey Lushnikov
1fdd7541e0
chore: add firefox-asan for stress tests ( #24049 )
2023-07-19 05:53:52 -07:00
Pavel Feldman
879ddb73b0
chore: show last poller error on test timeout ( #24292 )
2023-07-18 17:03:26 -07:00
Playwright Service
57da4c200a
feat(chromium): roll to r1072 ( #24279 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-18 15:10:30 +02:00
Dmitry Gozman
97d55e275d
fix(locator): locator(locator) method uses internal:chain instead of >> ( #24235 )
...
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:
```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```
One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.
To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.
Fixes #23724 .
2023-07-14 12:21:45 -07:00
Dmitry Gozman
98f3ca05b9
fix(tracing): only access tracing state on the API calls, not inside trace operations ( #24212 )
...
References #23387 .
2023-07-14 06:19:54 -07:00
Max Schmitt
b483bf9fcc
feat: add support for Debian 12 for Firefox/WebKit ( #24206 )
...
https://github.com/microsoft/playwright/issues/23532
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-07-13 12:56:44 +02:00
Dmitry Gozman
53feeaf270
fix(tracing): avoid trace file name collisions ( #24191 )
...
We have been optionally adding `-<number>` in multiple places, and these
might collide in various circumstances, for example: two contexts at the
same time, one of them has the second trace chunk.
References #23387 .
2023-07-12 17:20:25 -07:00
Pavel Feldman
53bf1995db
chore: do not leak internal page handles after closing page ( #24169 )
...
Partial fix for https://github.com/microsoft/playwright/issues/6319
After this fix, the following scenario won't leak and the context state
(cookies, storage, etc) can be reused by the new page sessions:
```js
for (let i = 0; i < 1000; ++i) {
const page = await context.newPage();
await page.goto('...');
await page.close('...');
}
```
2023-07-12 14:51:13 -07:00
Pavel Feldman
067faa50d7
chore: migrate Promise.race to scopes to prevent leaks ( #24160 )
2023-07-11 10:38:08 -07:00
Dmitry Gozman
aeba083da0
fix(snapshots): match resources by method ( #24145 )
...
Fixes #24144 .
Previously, we only matched by url, which confuses GET and HEAD requests
where the latter is usually zero-sized.
Also make sure that resources are sorted by their monotonicTime, since
that's not always the case in the trace file, where they are sorted by
the "response body retrieved" time.
2023-07-10 20:04:48 -07:00
Andrey Lushnikov
19474bef78
chore: update WebKit browser version to 17.0 ( #24128 )
2023-07-10 08:08:00 -07:00
Pavel Feldman
50ba25e9a1
fix(trace): do not allow after w/o before ( #24106 )
...
Fixes https://github.com/microsoft/playwright/issues/24087 ,
https://github.com/microsoft/playwright/issues/23802
2023-07-07 17:16:26 -07:00
Playwright Service
9bca9f1b4f
feat(chromium): roll to r1071 ( #24098 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-07 16:51:03 +02:00
Playwright Service
90c92c5724
feat(firefox): roll to r1419 ( #24091 )
...
Fixes https://github.com/microsoft/playwright/issues/24080
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-06 22:43:03 -07:00
Andrey Lushnikov
b9e68e22e0
feat: support Chromium installation on Debian 12 ( #24090 )
...
This adds Chromium support for both x86 and arm64 versions of Debian 12.
References https://github.com/microsoft/playwright/issues/24028
2023-07-06 22:41:36 -07:00
Pavel Feldman
0409bfca56
chore: ensure module deps in ct-core ( #24056 )
...
Fixes https://github.com/microsoft/playwright/issues/23823
2023-07-06 12:01:45 -07:00
Playwright Service
9f1f737acb
feat(chromium): roll to r1070 ( #23991 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-03 21:27:07 +00:00
Dmitry Gozman
86c1abd934
chore: introduce ReporterV2 interface ( #23983 )
2023-06-30 13:36:50 -07:00
Dmitry Gozman
92c738b14a
test: unflake some tests ( #23984 )
2023-06-30 13:08:18 -07:00
Dmitry Gozman
1ab99fe1b8
feat(electron): support tracesDir option ( #23947 )
...
References #23620 .
2023-06-28 16:32:16 -07:00
Dmitry Gozman
b0b429fed0
feat: support bigint in evaluates ( #23930 )
...
Fixes #22719 .
2023-06-28 08:55:45 -07:00
Max Schmitt
dcdf38f119
chore: keep UI Mode running when used with browser mode ( #23876 )
...
This will keep UI Mode running in browser mode. When launched in normal
persistent context mode, we know when the persistent context closes, so
we can run the project teardown code.
Fixes https://github.com/microsoft/playwright/issues/23801
2023-06-26 22:21:44 +02:00
Max Schmitt
e1c220a37b
fix(trace-viewer): file path contains encoded characters ( #23893 )
...
This fixes:
```
npx playwright show-trace %20I%20Love%20Node.zip
```
Extracted from https://github.com/microsoft/playwright/pull/23414 .
2023-06-26 18:13:40 +02:00
zhengjitf
6f67f6b52b
fix(chromium): can get correct orientation angle on non-mobile devices ( #23796 )
...
Fix #23772
2023-06-23 11:34:09 -07:00
Playwright Service
f85480a12e
feat(firefox-beta): roll to r1415 ( #23866 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-06-23 07:03:20 -07:00
Dmitry Gozman
5821c547aa
fix(selector generator): use the same label definition as getByLabel ( #23846 )
...
This extracts `getElementLabels` helper function to be used both for
generating and querying.
2023-06-22 08:34:08 -07:00
Playwright Service
f7ecb7094d
feat(chromium): roll to r1069 ( #23856 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-22 15:54:56 +02:00
Ben Hofferber
752176fd23
feat(goto): better navigation error message ( #23609 )
...
While this log message is only a sanity check, it is still beneficial to
have a message that can better inform what is happening when this
occurs.
2023-06-21 11:10:35 -07:00
Dmitry Gozman
fe5c9dad4d
fix(locators): allow identical frameLocators inside and/or/has ( #23740 )
...
So, the following will work:
```
page.frameLocator('iframe').locator('span').or(page.frameLoactor('iframe').locator('div'))
```
The following will not work, because frame locators are not exactly the
same:
```
page.frameLocator('#iframe1').locator('span').or(page.frameLoactor('#iframe2').locator('div'))
```
Also improve the error message to be more readable and include the
locator.
Fixes #23697 .
2023-06-19 15:22:26 -07:00
vemv
380209af37
chore: log when websockets are proactively closed ( #23689 )
...
Closes https://github.com/microsoft/playwright/issues/23566
n.b., while that issue describes a fairly specific "use case", this
logging is simple and generic. It seems very plausible that it can help
diagnose all sorts of issues.
Cheers - V
2023-06-19 11:12:02 -07:00
Max Schmitt
0f9f863183
fix(codegen): generate no Enter keyboard events for textareas ( #23775 )
...
Fixes https://github.com/microsoft/playwright/issues/23774
2023-06-19 17:07:37 +02:00
Andrey Lushnikov
e171194c86
feat(firefox): roll Firefox to 1414 ( #23768 )
...
- roll Firefox stable to 1414
- roll Firefox beta to 1414
Fixes #23138
2023-06-17 12:10:20 -07:00
Dmitry Gozman
09b1e3ffa9
fix(chromium): response.body() for worker requests should work ( #23764 )
...
Previously, worker requests used page's session to call
`Network.getResponseBody`.
Fixes #23750 .
2023-06-16 20:44:32 -07:00
Max Schmitt
b44723708c
chore: move extracting of browser out-of-process ( #23739 )
...
https://github.com/microsoft/playwright/issues/23729
2023-06-16 20:40:15 +02:00
Dmitry Gozman
de422b5afb
chore: speedup multiple roleUtils calls ( #23745 )
...
When generating a selector, we tend to match by role and call various
roleUtils methods multiple times.
Apply the usual pattern for "nested operations counter" and aggressively
cache the results.
2023-06-16 11:39:39 -07:00
Machiel-B
0358f6c434
fix: make trace viewer not use 301 to redirect ( #23757 )
2023-06-16 18:16:01 +02:00
Playwright Service
d92a648284
feat(chromium): roll to r1068 ( #23756 )
2023-06-16 17:57:45 +02:00
Dmitriy Dudkevich
fc8f0101c8
fix(selenium): send additional headers to delete session method ( #23719 )
...
In the process of completing the task -
https://github.com/microsoft/playwright/pull/23348 , I didn't notice the
need to pass headers to the session deletion method. So I fixed it here.
And support headers for selenium@3.
2023-06-16 11:44:04 +02:00
Dmitry Gozman
d11bc88784
chore(codegen): do not use accessible name for non-text selectors ( #23717 )
...
Accessible name usually includes text, so we don't want it for non-text
selectors, e.g. for `expect()` selectors.
2023-06-15 12:30:18 -07:00
Andrey Lushnikov
3c0fab489b
chore: miscellaneous trace viewer fixes ( #23695 )
...
- properly annotate continued requests
- nest `attach` steps inside the related `expect` step
- fix primary-id-to-non-primary-id mapping
- make sure images in trace are not draggable
Fixes #23693
---------
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-14 09:37:19 -07:00
Max Schmitt
9e636687ea
chore: add more logging for browser install process ( #23675 )
2023-06-14 15:33:06 +02:00
Dmitry Gozman
5b2e8a6a7a
chore: optional root for generateSelector ( #23692 )
2023-06-13 21:25:39 -07:00
Dmitry Gozman
c80a23842b
fix(css): relative-to-scope selectors work ( #23665 )
...
Chained selectors where the second part starts with a scope did not work
before:
```ts
page.locator('div').locator(':scope + span')
page.locator('div >> +span')
```
2023-06-13 10:27:25 -07:00
Dmitry Gozman
734705e9b3
chore: elementHandle getters implemented through Frame ( #23557 )
...
This is a step towards not using handles for locator operations.
2023-06-09 07:18:13 -07:00
Dmitry Gozman
11659ceb73
fix(role): handle display:contents elements ( #23607 )
...
Fixes #23521 .
2023-06-08 16:00:48 -07:00
Dmitriy Dudkevich
187cfdc328
feat: ability to pass additional headers to selenium ( #23348 )
2023-06-08 10:41:36 -07:00
Dmitry Gozman
5cfd6d9fe9
fix(cr network): emit sw-handled requests when routing is enabled ( #23589 )
...
Previously, such requests were skipped because they never receive
`Fetch.requestPaused` as there was no real network.
Also cleanup some redundant tests and move them from chromium-only file.
Fixes #23424 .
2023-06-08 10:33:28 -07:00
Playwright Service
54a35dd108
feat(chromium): roll to r1067 ( #23593 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-06-08 19:03:48 +02:00
Pavel Feldman
0b30f2017c
chore: make trace server work over http ( #23561 )
2023-06-06 18:36:05 -07:00
Andrey Lushnikov
2e327c9d0c
fix: miscellaneous improvements for tracing UI ( #23558 )
...
- feat(tracing): mark API requests with "API" label
- feat(tracing): do not attribute any resources to `route.` API calls;
otherwise, network traffic might get inside the `route.` actions.
- fix(tracing): map actionIds from primary contexts to actionIds from
non-primary contexts
- fix(tracing): show leading `/` in URL path in network panel
This is a result of a pair-programming session with @pavelfeldman
2023-06-06 17:38:44 -07:00
Pavel Feldman
7579572688
chore: unflake the network status test ( #23551 )
2023-06-06 16:55:53 -07:00
Max Schmitt
8bc26a2b44
chore: wait for downloads getting removed on context.close() ( #23500 )
...
Before there was a race, that we ran into this code:
9cd49d5dd5/packages/playwright-core/src/server/browserContext.ts (L236-L237)
and then into this code:
9cd49d5dd5/packages/playwright-core/src/server/browserContext.ts (L429-L431)
which had the side effect, that the first call did not wait. Then
immediately clears the downloads Set and then the second call is a NOOP.
This ends up that the the removal of the downloads can happen after the
context is closed, hence the test is flaky.
Relates to https://github.com/microsoft/playwright/pull/6151 where it
got introduced. So something for @yury-s.
Fixes https://github.com/microsoft/playwright/issues/22525
2023-06-06 20:38:36 +02:00