Max Schmitt
daac0ddd24
fix(fetch): fallback to given URL if baseURL is invalid ( #32911 )
2024-10-01 22:43:32 +02:00
Max Schmitt
6f16b6cc08
chore: unflake 'should record' ( #32880 )
2024-09-30 20:32:04 +02:00
Pavel Feldman
11014145ce
chore: update trace event on action merge ( #32860 )
2024-09-27 21:18:30 -07:00
Pavel Feldman
908b0de5d4
chore: style action list in tv mode ( #32845 )
2024-09-27 17:52:03 -07:00
Max Schmitt
6721cc1746
chore: disable LensOverlay in Chromium ( #32790 )
2024-09-27 20:06:27 +02:00
Dmitry Gozman
a395fb22c4
feat(routeWebSocket): address api review feedback ( #32850 )
2024-09-27 04:01:31 -07:00
Pavel Feldman
bcb6860ef5
chore: fix cross browser leak tests ( #32843 )
2024-09-26 19:33:07 -07:00
Pavel Feldman
1a3d3f699b
chore: render recorded action list in tv mode ( #32841 )
2024-09-26 16:46:27 -07:00
Pavel Feldman
c105de4436
chore: move actions types to recorder ( #32839 )
2024-09-26 14:50:09 -07:00
Playwright Service
463bd55cf0
feat(webkit): roll to r2083 ( #32813 )
2024-09-26 21:49:02 +02:00
Pavel Feldman
9bff4d7eab
chore: move sw files into the sw/ folder ( #32837 )
2024-09-26 11:22:20 -07:00
Dmitry Gozman
a9d5c39d40
chore: address api review for page.forceGarbageCollection ( #32824 )
...
- Renamed to `page.requestGC`.
- Added a useful snippet to the docs.
References #32278 .
---------
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-09-26 05:08:33 -07:00
Playwright Service
6c20318e5c
feat(chromium): roll to r1137 ( #32827 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-26 13:58:55 +02:00
Yury Semikhatsky
597642d269
chore: pass cli config overrides straight to test server ( #32818 )
2024-09-25 19:45:59 -07:00
Pavel Feldman
61801aa1ee
chore: more codegen fixes ( #32816 )
2024-09-25 18:18:36 -07:00
Yury Semikhatsky
0480bd0cac
chore(bidi): launch firefox with user prefs tailored for testing ( #32817 )
...
Various settings that make Firefox behave when testing over Bidi. The
settings are copied from
ea36b7b1f0/packages/browsers/src/browser-data/firefox.ts (L190-L402) .
Unlike Playwright bundled version, we write the settings into `user.js`
in the profile folder before launching the browser.
2024-09-25 18:17:07 -07:00
Yury Semikhatsky
b6783bb18b
fix(ui-mode): respect --tsconfig option ( #32798 )
...
Fixes https://github.com/microsoft/playwright/issues/32797
2024-09-24 19:59:15 -07:00
Pavel Feldman
35158feec0
chore: fix codegen flakiness ( #32799 )
2024-09-24 19:56:31 -07:00
Pavel Feldman
8649b13f25
chore: start putting tv-recorder ui together ( #32776 )
2024-09-23 19:13:45 -07:00
Yury Semikhatsky
eda0e01167
chore(bidi): bring to front, pdf ( #32698 )
2024-09-23 19:05:55 -07:00
Pavel Feldman
c7a5278fb3
fix: do not start tracing in default recorder ( #32770 )
2024-09-23 15:51:27 -07:00
Yury Semikhatsky
11320d34c6
Revert chore: ignore third-party execution contexts ( #32437 ) ( #32771 )
...
Partially revert #32437 and add a test that console.log() messages from
content scripts are properly reported
Fixes https://github.com/microsoft/playwright/issues/32762
2024-09-23 15:48:11 -07:00
Yury Semikhatsky
c9a26e60f5
fix(webkit): 204 response is not a failure ( #32768 )
...
The login being changed was added in
https://github.com/microsoft/playwright/pull/1260 and is supposed to
only work for navigation requests.
Reference: https://github.com/microsoft/playwright/issues/32752
2024-09-23 14:30:40 -07:00
Pavel Feldman
0cdc7ee1a3
chore: extract polling recorder ( #32749 )
...
We are reusing recorder in a snapshot tab, no need for the polling
harness to be there.
2024-09-23 08:42:18 -07:00
Dmitry Gozman
b3a82bef46
feat: do not record route calls in the trace ( #32723 )
...
These are represented in the network pane instead.
2024-09-21 10:17:59 -07:00
Pavel Feldman
17ed944a84
chore: iterate towards recording into trace (4) ( #32743 )
2024-09-20 16:56:05 -07:00
Pavel Feldman
418d1c0c55
chore: allow starting recorder in traceviewer ( #32741 )
2024-09-20 15:25:49 -07:00
Pavel Feldman
dfb3fdf217
chore: iterate towards recording into trace (3) ( #32718 )
2024-09-20 13:08:33 -07:00
Dmitry Gozman
cdcaa7fab6
feat: routeWebSocket ( #32675 )
...
This introduces `WebSocketRoute` class and
`page/context.routeWebSocket()` methods.
2024-09-20 03:20:06 -07:00
Pavel Feldman
01b44ba077
chore: remove PWTEST_RECORDER_PORT as it was ignored ( #32717 )
2024-09-19 13:35:52 -07:00
Dmitry Gozman
cc302fa515
fix(chromium): allow PlzDedicatedWorker ( #32711 )
...
With the recent Chromium fixes in v129, it is now safe to enable this
feature.
Fixes #31747 .
2024-09-19 06:38:58 -07:00
Playwright Service
e8e72deac2
feat(chromium): roll to r1136 ( #32707 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-19 14:35:48 +02:00
Dmitry Gozman
5089d9f293
fix(chromium): disable ThirdPartyStoragePartitioning ( #32701 )
...
See
https://developers.google.com/privacy-sandbox/cookies/storage-partitioning
for more details.
References #32230 .
2024-09-19 03:12:21 -07:00
Max Schmitt
48030a4eff
test: fix test expecations after Node.js 22.9.0 ( #32695 )
2024-09-19 10:52:29 +02:00
Pavel Feldman
2f4acbb001
chore: use contentFrame() as a canonical locator representation ( #32697 )
2024-09-18 20:15:01 -07:00
Pavel Feldman
790dbfd78f
fix(codegen): use content_frame property in python ( #32699 )
2024-09-18 19:11:14 -07:00
Yury Semikhatsky
48d3d5554d
chore(bidi): suppress crash reporter in firefox ( #32694 )
...
Same settings as geckodriver uses upstream:
https://searchfox.org/mozilla-central/rev/c414b4538dd3c7e1dc674f7b66176e7c309afa95/testing/geckodriver/src/browser.rs#130-132
2024-09-18 16:02:10 -07:00
Pavel Feldman
427eca6f7e
chore: iterate towards recording into trace (2) ( #32693 )
2024-09-18 14:39:07 -07:00
Dmitry Gozman
f9d9ad25de
feat(locator handler): perform checkpoit during locator.waitFor ( #32683 )
...
Fixes #32255 .
2024-09-18 09:34:06 -07:00
Max Schmitt
d4eecafa8a
test: listen always on 127.0.0.1 for client certificate tests ( #32677 )
2024-09-18 17:09:08 +02:00
Max Schmitt
ec3db20743
test: fix toolbar hydration test under frozen suite ( #32684 )
2024-09-18 15:35:33 +02:00
Simon Knott
825df6c074
feat(har): record serverIPAddress for API requests ( #32660 )
...
Discovered working on
https://github.com/microsoft/playwright/pull/32658 . We're recording the
remote server address for browser requests, but not for API requests.
This PR adds that for API requests.
2024-09-18 14:51:42 +02:00
Simon Knott
4460c98710
fix(har tracing): record response.bodySize for API requests ( #32656 )
...
A small drive-by that came out of working on
https://github.com/microsoft/playwright/issues/32653 .
2024-09-18 08:21:10 +02:00
Simon Knott
8a97050822
feat(har): record securityDetails for API Requests ( #32664 )
...
While working on https://github.com/microsoft/playwright/pull/32658 I
discovered that we're recording `securityDetails` for browser requests,
but not for API requests. This PR fixes that.
2024-09-18 08:18:47 +02:00
Pavel Feldman
355c88f48f
chore: iterate towards recording into trace ( #32646 )
2024-09-17 18:26:44 -07:00
Yury Semikhatsky
4c4d74ca5b
chore: page.screenshot() in bidi ( #32671 )
...
The results are copied from the existing chromium expectations.
2024-09-17 16:51:56 -07:00
Yury Semikhatsky
8b84b20dd0
chore: back-forward in bidi ( #32670 )
2024-09-17 16:02:13 -07:00
Yury Semikhatsky
375a1c4982
chore: exposeBinding/exposeFunction in bidi ( #32669 )
2024-09-17 15:37:42 -07:00
Simon Knott
751b939d3a
feat(fetch): record timings ( #32613 )
...
Related to https://github.com/microsoft/playwright/issues/19621
Adds some instrumentation to collect timings for `APIRequestContext`
requests and adds them to the HAR trace. Doesn't yet expose them via an
API, but makes our `Duration` field in the trace viewer show a nice
duration:
<img width="1392" alt="Screenshot 2024-09-14 at 11 46 04"
src="https://github.com/user-attachments/assets/8020382d-9494-4634-9cfd-22b6f4a1d770 ">
I'm gonna add it to our API in a separate PR.
---------
Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-09-17 16:11:21 +02:00
Simon Knott
f6219e6e79
Revert "feat(tracing): add .pwtrace to trace file extension" ( #32648 )
...
Reverts microsoft/playwright#32581
Relates
https://github.com/microsoft/playwright/issues/32226#issuecomment-2351164727
2024-09-17 15:32:30 +02:00
Simon Knott
b0f15b320f
fix(recorder): reattach toolbar if it was unmounted by framework hydration ( #32637 )
...
Closes https://github.com/microsoft/playwright/issues/32632 . A side
effect of Remix's hydration implementation is that it throws away the
entire DOM. This is broadly discussed in
https://github.com/remix-run/remix/issues/4822 - there might be a fix in
coming React versions, but who knows.
Besides breaking browser extensions, this also deletes our toolbar!
This PR fixes it by periodically checking in on `x-pw-glass`, and
remounting it if it was unmounted. Hacky but effective!
2024-09-17 08:37:49 +02:00
Pavel Feldman
47713e8a66
chore: make recorder tests pass in frozen mode ( #32645 )
2024-09-16 22:47:54 -07:00
Yury Semikhatsky
2a347b5494
chore: support launchPersistentContext with bidi ( #32641 )
2024-09-16 17:31:26 -07:00
Pavel Feldman
6dbde62a6b
chore: simplify signal handling while recording ( #32624 )
2024-09-16 14:39:36 -07:00
Pavel Feldman
92c6408b94
fix(recorder): address the react race condition ( #32628 )
2024-09-16 13:47:13 -07:00
Max Schmitt
21d162c945
feat(client-certificates): add support for proxies ( #32611 )
...
Fixes https://github.com/microsoft/playwright/issues/32370
2024-09-16 17:57:33 +02:00
Simon Knott
aeb4d182f7
feat(tracing): add .pwtrace to trace file extension ( #32581 )
...
Closes https://github.com/microsoft/playwright/issues/32226
I've updated every mention of `.trace.zip` except for the release notes.
2024-09-14 10:17:07 +02:00
Yury Semikhatsky
34876e9291
chore: cookies in intercepted bidi requests ( #32623 )
2024-09-13 18:29:35 -07:00
Matthew Jee
f2a974b045
feat(api): add method to force garbage collection ( #32383 )
2024-09-13 23:09:36 +02:00
Playwright Service
5b28d2a84c
feat(firefox): roll to r1464 ( #32614 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-13 18:12:43 +02:00
Max Schmitt
79cba7d704
chore: introduce option overrides on context/browser ( #32606 )
2024-09-13 17:34:34 +02:00
Simon Knott
48c7fb6b06
feat(library): accept FormData in fetch ( #32602 )
...
Closes https://github.com/microsoft/playwright/issues/26520 by accepting
`FormData`, which became stable in Node.js in v21.
2024-09-13 13:21:02 +02:00
Pavel Feldman
cd4dabef8b
chore: remove stray codegen signal handling ( #32599 )
2024-09-12 14:38:23 -07:00
Pavel Feldman
7e3348eb0e
chore: recorder is trace viewer experiment ( #32598 )
2024-09-12 13:39:44 -07:00
Pavel Feldman
de08e729ae
chore: move recorder trace to action collector ( #32597 )
2024-09-12 12:42:28 -07:00
Pavel Feldman
d051495c7a
chore: perform double click while recording ( #32576 )
2024-09-12 11:40:44 -07:00
Playwright Service
b1b33efebb
feat(chromium): roll to r1135 ( #32591 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-12 13:46:15 +02:00
Simon Knott
ec40890fd8
fix(tracing): use page swap timestamp to find closest screenshot ( #32512 )
...
Follow-up to https://github.com/microsoft/playwright/pull/32248 . When we
have it, we should use the page swap timestamp we get from Chromium to
find the closest screenshot.
2024-09-10 14:32:33 +02:00
Rui Figueira
f8562e4ca7
chore: improve error message when Array.toJSON misbehaves ( #32508 )
...
Fixes : #32507
2024-09-10 04:14:24 -07:00
Yury Semikhatsky
c8a72d63ad
chore: run bidi firefox tests on ci ( #32527 )
2024-09-09 17:22:19 -07:00
Max Schmitt
e5d6ee5bd8
chore: merge fetch params on server side ( #32518 )
...
https://github.com/microsoft/playwright-python/pull/2546#discussion_r1750090592
2024-09-09 22:28:08 +02:00
Max Schmitt
4b5422a3c7
fix(ui-mode): use server side path separator ( #32523 )
...
Fixes https://github.com/microsoft/playwright/issues/32323
2024-09-09 22:07:28 +02:00
Yury Semikhatsky
d030965688
chore: addInitScript and auth (unsuccessful) in bidi ( #32500 )
2024-09-09 10:13:26 -07:00
Max Schmitt
718bd9b35f
devops: run BiDi tests ( #32493 )
2024-09-07 09:16:42 +02:00
Yury Semikhatsky
f3ada9c654
chore: wheel input in bidi ( #32499 )
2024-09-06 17:10:14 -07:00
Yury Semikhatsky
37bc485827
chore: remove browser-specific bidi hacks ( #32498 )
...
Those were just workarounds for browser-specific bugs, they should be
fixed upstream.
* individual mouse down/up/down/up events don't trigger dblclick event
in Firefox
* setContent throws when document.open/write is called in the utility
context in Firefox
2024-09-06 16:40:24 -07:00
Yury Semikhatsky
11441c0fe1
fix: add missing await in adoptIfNeeded ( #32497 )
...
Otherwise it throws in Bidi.
2024-09-06 13:17:32 -07:00
Yury Semikhatsky
f0e13164d7
chore: split firefox and chromium bidi implementations ( #32478 )
2024-09-05 18:31:56 -07:00
Yury Semikhatsky
752b171a13
chore: support bidi connection to chromium ( #32474 )
2024-09-05 14:56:07 -07:00
Playwright Service
5127efdc2a
feat(chromium): roll to r1134 ( #32470 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-05 14:57:20 +02:00
Yury Semikhatsky
9a2c60a77c
chore: identify largest gaps in Bidi API ( #32434 )
...
This pull request introduces initial support for the WebDriver BiDi
protocol in Playwright. The primary goal of this PR is not to fully
implement BiDi but to experiment with the current state of the
specification and its implementation. We aim to identify the biggest
gaps and challenges that need to be addressed before considering BiDi as
the main protocol for Playwright.
2024-09-04 11:36:52 -07:00
Playwright Service
2fabd15fef
feat(firefox): roll to r1463 ( #32439 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-04 08:49:10 +02:00
Yury Semikhatsky
d7b9cf21db
chore: ignore third-party execution contexts ( #32437 )
...
* Only track main and utility world contexts
* Properly update click metadata
2024-09-03 23:00:59 -07:00
Playwright Service
d9016e506e
feat(chromium): roll to r1133 ( #32391 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-02 09:49:38 +02:00
Pavel Feldman
74a8e59096
chore: allow recorder rewrite annotations ( #32381 )
2024-08-29 14:16:01 -07:00
Yury Semikhatsky
896190edbb
Revert feat(addInitScript): support cjs modules ( #32364 )
...
Reverting https://github.com/microsoft/playwright/pull/32282 and
https://github.com/microsoft/playwright/pull/32240 .
2024-08-28 15:39:48 -07:00
Yury Semikhatsky
5271fe1f26
chore: remove unused request param from route.continue ( #32307 )
2024-08-28 08:24:44 -07:00
Pavel Feldman
ec681ca78c
chore: pass explicit recorder app factory ( #32349 )
2024-08-27 20:24:19 -07:00
Pavel Feldman
0b5456d00b
chore: perform action based on frame path ( #32347 )
2024-08-27 17:17:57 -07:00
Pavel Feldman
a1df11011c
chore: split recorder into files ( #32345 )
2024-08-27 14:10:21 -07:00
Pavel Feldman
bc87467b25
chore: generate simple dom descriptions in codegen ( #32333 )
2024-08-27 11:52:14 -07:00
Pavel Feldman
177576a51b
chore: add simple dom util ( #32332 )
2024-08-26 16:28:40 -07:00
Pavel Feldman
6f55b57e5a
chore: move codegen into its own folder ( #32330 )
2024-08-26 15:24:02 -07:00
Pavel Feldman
4340d153df
chore: deprecate locator.frameLocator() ( #32306 )
2024-08-26 10:28:54 -07:00
Max Schmitt
67d3d5f203
fix(clock): don't throw for |null| or |undefined| callbacks ( #32309 )
...
Fixes https://github.com/microsoft/playwright/issues/32293
This aligns it how Chromium and other browsers are doing it.
2024-08-26 09:26:38 -07:00
Max Schmitt
596f497633
fix: don't throw error on about:blank when blocking ServiceWorker ( #32310 )
...
Fixes https://github.com/microsoft/playwright/issues/32292
2024-08-26 08:27:21 -07:00
Playwright Service
5acd2dbf48
feat(webkit): roll to r2065 ( #32322 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-26 10:25:59 +02:00
Dmitry Gozman
abe6c04a54
chore: remove noWaitAfter from selectOption ( #32283 )
...
This follows removing this option from other methods in v1.46. The two
methods still supporting `noWaitAfter` are `click` and `press`.
2024-08-23 14:50:43 -07:00
Pavel Feldman
37eb66df10
chore: extract performAction in recorder ( #32279 )
2024-08-23 10:19:44 -07:00
Pavel Feldman
4edc076935
chore: load env from playwright.env when running codegen ( #32280 )
2024-08-23 10:19:36 -07:00
Max Schmitt
1b220c5289
chore: remove Chromium Windows proxy hacks ( #31724 )
...
Fixes https://github.com/microsoft/playwright/issues/17252
2024-08-23 15:17:00 +02:00
Dmitry Gozman
3a75f23ea1
fix(addInitScript): require non-undefined arg to trigger commonjs module ( #32282 )
2024-08-23 02:48:56 -07:00
Max Schmitt
16e76cb71a
fix(client-certificates): errors during http2 TLS handshake ( #32258 )
2024-08-22 15:13:54 +02:00
Dmitry Gozman
571f25a7d3
fix(role): hidden pseudos should not contribute to accessible name ( #32251 )
2024-08-21 11:14:41 -07:00
Dmitry Gozman
d5a7495041
feat(addInitScript): support cjs modules when passing both path and arg ( #32240 )
...
This works with scripts bundled by:
- `esbuild entrypoint.ts --bundle --format=cjs --outfile=injected.js`
- webpack with a typical config
```js
module.exports = {
entry: { 'injected': './entrypoint.js', },
output: {
path: require('path').resolve(__dirname),
filename: '[name].js',
libraryTarget: 'commonjs2',
},
};
```
2024-08-21 09:46:38 -07:00
Yury Semikhatsky
918dbe5e3a
chore: start listening for navigation events before navigation starts ( #32237 )
...
There is a chance in case of cross-process navigation that the
navigation event comes before `navigateFrame` finishes.
2024-08-21 08:34:55 -07:00
Pavel Feldman
109cab66f1
chore: extract recorder dialog into a class ( #32233 )
2024-08-20 10:56:55 -07:00
Dmitry Gozman
b4a9b247b4
fix(role): make sure to ignore style/script/noscript/template ( #32231 )
...
Even when these are a part of a hidden `aria-labelledby` traversal, all
browsers ignore them anyway.
2024-08-20 09:02:23 -07:00
Max Schmitt
010778f6c5
feat(client-certificates): allow passing certificates from memory ( #32210 )
2024-08-19 09:24:32 +02:00
Max Schmitt
faf4853259
chore: validate client-certificates on context creation ( #32168 )
2024-08-19 09:02:14 +02:00
Max Schmitt
743565ee3e
chore: generate self-signed certificates for socks proxy ( #32192 )
2024-08-16 20:21:05 +02:00
Playwright Service
e7b7c715b0
feat(chromium): roll to r1131 ( #32174 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-15 20:41:27 +02:00
Max Schmitt
a1d32d997c
fix(client-certificates): improve close handling from target and proxy ( #32158 )
2024-08-15 10:21:10 +02:00
Max Schmitt
aac3a84321
fix(client-certificates): stall on tls handshake errors ( #32163 )
...
Extracted from https://github.com/microsoft/playwright/pull/32158 .
2024-08-15 08:51:40 +02:00
Yury Semikhatsky
60900f8541
chore(webkit): add listeners directly without eventsHelper ( #32149 )
...
The listeners are never removed, so there is no point in wrapping them
with the helper
2024-08-14 08:38:49 -07:00
Max Schmitt
4daf5c2303
fix(client-certificates): when server does tls renegotiation ( #32155 )
...
Certain https servers like Microsoft IIS aka. TLS servers do the TLS
renegotiation after the TLS handshake. This ends up in two
`'secureConnect'` events due to an upstream Node.js bug:
https://github.com/nodejs/node/issues/54362
Drive-by: Move other listeners like `'close'` / `'end'` to `once()` as
well.
Relates https://github.com/microsoft/playwright/issues/32004
2024-08-14 15:11:29 +02:00
Dmitry Gozman
f8eef3897c
chore: move urlMatch to isomorphic ( #32142 )
...
To be reused in injected code.
2024-08-13 12:47:02 -07:00
Yury Semikhatsky
6cc53cfce6
chore: move output parsing to concrete browsers ( #32129 )
2024-08-13 12:20:41 -07:00
Yury Semikhatsky
a28f51a0f3
chore: use base BrowserType to reference browser types ( #32125 )
2024-08-12 22:20:58 -07:00
Kuba Janik
308381eeae
feat: allow URLSearchParams and string as params in APIRequestContext ( #32120 )
2024-08-12 14:22:03 -07:00
Max Schmitt
0d575b4ef6
chore: less 'as any' in html-reporter ( #32117 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Simon Knott <info@simonknott.de>
2024-08-12 15:17:42 +02:00
Dmitry Gozman
a30a8805c9
fix(expect): account for timeout during the first locator handler check ( #32095 )
...
Also considered an alternative to not perform the locator handler check
during one-shot, but that would be somewhat against the promise of the
locator handler that is supposed to run **before** every expect check.
Fixes #32089 .
2024-08-12 01:57:15 -07:00
Playwright Service
4d26036b7b
feat(webkit): roll to r2060 ( #32082 )
...
Reference: https://github.com/microsoft/playwright/pull/32108
2024-08-09 15:31:35 -07:00
Dmitry Gozman
9b3e0e5667
chore: simplify binding result dispatch ( #32092 )
...
We can now pass an Error object through evaluate.
2024-08-09 03:46:52 -07:00
Playwright Service
5cc1e7b299
feat(firefox): roll to r1462 ( #32086 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-08 22:41:49 +02:00
Playwright Service
05732b50c8
feat(chromium): roll to r1130 ( #32074 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-08 14:13:18 +02:00
faulpeltz
ca25d2c802
fix: ubuntu version detection for linux mint 22 ( #32049 )
...
Add Linux Mint 22 (Ubuntu based distro) version detection for dependency
installation
Linux Mint 22.x -> Ubuntu 24.04
(also see original Linux Mint support PR #28085 )
2024-08-07 14:28:03 -07:00
Dmitry Gozman
ea747afcdd
chore: use a single binding for all Playwright needs ( #32039 )
...
This makes it easier to manage bindings, being just init scripts.
Fixes the BFCache binding problem.
Makes bindings removable in Firefox.
Fixes #31515 .
2024-08-07 06:20:12 -07:00
Pavel Feldman
3c87f217df
feat(events): allow waiting for removeAllListeners ( #31941 )
2024-08-05 21:14:35 -07:00
Max Schmitt
613ccb8d5b
chore(client-certificates): rewrite error for unsupported PFX errors ( #32008 )
2024-08-05 14:42:29 +02:00
Max Schmitt
71e614dc5a
fix(client-certificates): report error to the browser if incorrect passphrase ( #32007 )
2024-08-05 10:54:33 +02:00
Max Schmitt
d0c840f639
fix(clock): mock time in Event.prototype.timeStamp ( #31986 )
...
Ideally we generate the timestamp when the Event gets created. This
patch adds a best-effort logic, since we can't override the constructor
of natively created events, e.g. `MouseEvent`.
Fixes https://github.com/microsoft/playwright/issues/31924
2024-08-02 15:27:54 +02:00
Max Schmitt
878a6a499b
chore: prefer executablePath for page.pause() ( #31985 )
...
Motivation: For scenarios where
[`findChromiumChannel`](f17de8222f/packages/playwright-core/src/server/registry/index.ts (L1016) )
throws (no branded browser and no normal browser is installed) we were
[silently
catching](f17de8222f/packages/playwright-core/src/server/recorder.ts (L79) )
when calling `page.pause()`.
This patch does not invoke `findChromiumChannel` when the
inspectedContext is Chromium based and has an `executablePath`
specified.
Note this was already fixed by #6214 , but regressed since then.
Fixes https://github.com/microsoft/playwright/issues/31967
2024-08-02 11:18:51 +02:00
Max Schmitt
f17de8222f
chore: run client-certificate tests in service mode ( #31973 )
2024-08-02 08:34:28 +02:00
Yury Semikhatsky
db0980a850
chore(fetch): include response text into failOnStatusCode errors ( #31978 )
...
Fixes https://github.com/microsoft/playwright/issues/31834
2024-08-01 17:53:43 -07:00
Simon Knott
76cca7fc2c
fix(ui): only populate settings once ( #31958 )
...
We populate `localStorage` using an init script. Currently, this script
isn't just run for the UI though, but also for all iframes. So we're
resetting `localStorage` every time the UI loads an iframe.
This hasn't been a problem in the past, because the only consumer of
`localStorage`, `Settings`, only read from `localStorage` once and kept
most state in `useState` afterwards. With
https://github.com/microsoft/playwright/pull/31911 , this is no longer
true, so the bug starts biting us!
The fix is to ensure the init script isn't run on iframes.
2024-08-01 17:28:48 +02:00
Playwright Service
6c6f10b678
feat(chromium): roll to r1129 ( #31955 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-01 14:32:44 +02:00
Playwright Service
a83134b270
feat(ffmpeg): roll to r1010 ( #31949 )
2024-08-01 13:17:11 +02:00
Yury Semikhatsky
edb89dcb66
chore: make sure error stack includes message as before #31691 ( #31934 )
...
This brings stack formatting to how it was prior to
1686e5174d
so that the ports can use it.
2024-07-31 10:58:37 -07:00
Max Schmitt
bd186640df
fix(client-certificates): use matching origin for connections on :443 ( #31913 )
...
Motivation: When using client-certificates on a website on port `443`,
we would normalise the user input with `new URL` but still generate a
"bad" representation of the "origin" internally, since the just do
concatenated "host:port".
(The origin doesn't contain the port in case of :443)
We use `clientCertificatesToTLSOptions` in two places:
a) for APIRequestContext, there we pass one from the URL constructor
over and
b) from the socks proxy, there we **now** also pass a "good one" over.
Test plan: We don't want to run the tests on port :443, so only manually
validated the fix.
Relates https://github.com/microsoft/playwright/issues/31906
2024-07-30 12:23:57 +02:00
Pavel Feldman
58b0c76f20
chore: use soft event emitter ( #31868 )
2024-07-29 17:11:31 -07:00
Max Schmitt
7e7319da7d
fix(client-certificates): don't use proxy when using BrowserContext.request ( #31898 )
2024-07-29 16:44:53 +02:00
Max Schmitt
cc313f3290
fix(client-certificates): error response body Content-Length calculation ( #31897 )
2024-07-29 14:39:14 +02:00
Max Schmitt
6988194c97
test: unflake contextmenu recorder test ( #31749 )
2024-07-26 12:43:05 +02:00
Max Schmitt
47e4e45bc2
chore: update WebKit version to 18.0 ( #31873 )
2024-07-26 11:32:51 +02:00
Max Schmitt
09581b615d
fix(client-certificates): return target errors on response when using http2 ( #31867 )
2024-07-26 11:28:45 +02:00
Max Schmitt
a02ed38e60
chore: reduce file reads in client-certificates internal TLS server ( #31865 )
2024-07-25 22:36:25 +02:00
Dmitry Gozman
d8d5289e86
fix(remote): make sure api calls reject before browser is closed ( #31858 )
...
Upon calling `browser.close()` or dropping remote connection, make sure
to reject api calls before resolving `browser.close()` and firing a
`disconnected` event.
This change aligns the order guarantee with non-remote case.
2024-07-25 09:57:34 -07:00
Max Schmitt
0c6ecf8df4
chore: use happy eyeballs for client-certificates ( #31859 )
2024-07-25 18:55:47 +02:00
Max Schmitt
90af289ba2
test: use managed http2 server for client-certificates ( #31844 )
2024-07-25 18:53:38 +02:00
Playwright Service
bdbe4795f1
feat(chromium): roll to r1128 ( #31848 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-25 09:42:53 +02:00
Max Schmitt
7570c25b3d
chore: remove glob from client-certificate matching ( #31846 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-07-24 19:13:03 +02:00
Max Schmitt
c5b7ce86dc
feat(client-certificates): add http2 support ( #31786 )
2024-07-24 11:39:39 +02:00
Pavel Feldman
c74843a914
chore(fetch): pass flush and finishFlush options to brotli ( #31833 )
...
Fixes https://github.com/microsoft/playwright/issues/31814
2024-07-23 18:28:34 -07:00
Yury Semikhatsky
1918ae5c4a
fix(webkit): reenable CrossOriginOpenerPolicy ( #31765 )
...
Depends on https://github.com/microsoft/playwright-browsers/pull/1160
Fixes: https://github.com/microsoft/playwright/issues/14043
2024-07-23 15:02:47 -07:00
Max Schmitt
c4862c022c
chore: client certificates api review ( #31826 )
2024-07-23 22:56:36 +02:00
Yury Semikhatsky
383e4b3c73
Revert "feat: introduce touchscreen.touch() for dispatching raw touch… ( #31823 )
...
… events (#31457 )"
This reverts commit a3e31fd2c4 .
2024-07-23 10:29:37 -07:00
Max Schmitt
b9c4b6bff0
chore: client certificates refactorings ( #31822 )
2024-07-23 19:18:31 +02:00
Max Schmitt
526e4118fa
chore: use socks.Duplex constructor instead of extending ( #31816 )
2024-07-23 15:44:16 +02:00
Yury Semikhatsky
e269092ef9
Revert "fix: add 'window-management' to chromium browser ( #31687 )" ( #31801 )
...
This reverts commit 0aa2f06f68 .
Discussed the new permission in the API review and decided not to
proceed with the feature as we are not ready to commit to supporting it
yet:
* the API is Chromium specific
* the API is still experimental
* there is no clarity to what extend the screen manipulation APIs will
work in old headless which is our main test environment
We'll keep an eye on the demand for the feature and may get back to
implementing it in the future.
Reference: https://github.com/microsoft/playwright/issues/27198
2024-07-22 11:27:12 -07:00
Max Schmitt
f104e920e0
fix(client-certificates): pass TLS servername for SNI ( #31761 )
2024-07-19 12:55:20 +02:00
Yury Semikhatsky
d007ff3b62
chore: make WKInterceptableRequest._requestId private ( #31762 )
...
With COOP navigation we may need to take over request in the new
provisional page where it will have different id. This is preparation to
that.
2024-07-18 15:19:53 -07:00
Max Schmitt
708def8804
fix(client-certificates): keep ignoreHTTPSErrors false by default ( #31760 )
2024-07-18 22:37:11 +02:00
Playwright Service
26c9478648
feat(chromium): roll to r1127 ( #31755 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-18 14:46:19 +02:00
Max Schmitt
453e3bdf9d
test: fix client-certificates tests on Windows ( #31750 )
2024-07-18 13:43:56 +02:00
Dmitry Gozman
e78ce8521d
feat(chromium-tip-of-tree): roll to r1241 ( #31748 )
...
Closes https://github.com/microsoft/playwright/pull/31650
Closes https://github.com/microsoft/playwright/pull/31705
Relates https://github.com/microsoft/playwright/issues/31747
2024-07-18 12:11:03 +02:00
Dmitry Gozman
6491e5b415
chore: deprecate/remove noWaitAfter from some actions ( #31739 )
...
The following actions keep `noWaitAfter` option: `click`, `selectOption`
and `press`.
All other actions that used to have `noWaitAfter` now behave like it was
set to true, not waiting for follow-up navigations. In the docs, this
option is marked as completely ignored.
A small logic change was made to compensate for this behavior: when
waiting for the `hitTargetInterceptor`, we now race it against
navigations to avoid stalling when navigation stalls. Previously,
waiting for the interceptor was disabled when `noWaitAfter` was passed,
and since it's impossible to pass this option now, we mitigate by never
stalling instead.
Fixes #31469 .
2024-07-18 00:19:08 -07:00
Matt Kleinsmith
e06481a332
fix(recorder): address custom context menus ( #31634 )
2024-07-17 11:45:48 -07:00
Max Schmitt
e11c0c0cbb
fix(connect): annotate internal api calls correctly ( #31715 )
2024-07-17 09:00:47 +02:00
Yury Semikhatsky
8021312c99
chore: enable notification permission tests in WebKit ( #31699 )
...
The Notifications API has been supported in WebKit since 2022, enable
related permission and tests.
2024-07-16 09:44:38 -07:00
Max Schmitt
7ce9b7e56b
fix(setInputFiles): throw when uploading file in directory upload ( #31706 )
2024-07-16 15:55:35 +02:00
Ismael Onilearan
0aa2f06f68
fix: add 'window-management' to chromium browser ( #31687 )
2024-07-15 14:34:57 -07:00
Dmitry Gozman
6ee8f1de2d
Revert "chore: move artifacts recording to TestLifecycleInstrumentation ( #30935 )" ( #31686 )
...
This reverts commit ba5b460444 .
2024-07-15 07:01:51 -07:00
Dmitry Gozman
1686e5174d
chore: allow evaluating Error objects ( #31691 )
...
Previously, Error objects were replaced with strings.
Now, Error objects are reconstructed back from the serialized value.
2024-07-15 05:47:40 -07:00
Dmitry Gozman
074cc7d467
Revert "feat(trace): record trace upon browser closure ( #31563 )" ( #31677 )
...
This reverts commit bc27ca225e . Considered
too risky.
2024-07-15 01:08:51 -07:00
Yury Semikhatsky
1b4d9003c6
fix(har): ignore boundary when matching multipart/form-data body ( #31672 )
...
Fixes https://github.com/microsoft/playwright/issues/31495
2024-07-12 16:59:48 -07:00
Max Schmitt
459b762565
chore: remove unused kTestSdkObjects ( #31665 )
2024-07-12 11:56:16 -07:00
Pavel Feldman
297143885a
fix(clock): ensure Date.now() is an integer ( #31648 )
...
Fixes https://github.com/microsoft/playwright/issues/31644
2024-07-12 11:44:25 -07:00
Max Schmitt
3127571b24
Revert "fix(chromium): pass --enable-gpu when running headless ( #30937 )"
...
This reverts commit d0b052e1e0 .
2024-07-12 20:12:56 +02:00
Max Schmitt
9569cb5c1e
feat: support client certificates ( #31529 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-07-12 11:42:24 +02:00
Dmitry Gozman
229000501e
chore: introduce helpers for non-stalling eval on page/context ( #31658 )
2024-07-12 02:26:16 -07:00
Playwright Service
2441c765b1
feat(chromium): roll to r1126 ( #31649 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-12 00:03:29 +02:00
Pavel Feldman
77e50635ee
chore: fix build warnings ( #31616 )
2024-07-11 14:12:59 +02:00
Max Schmitt
89eef55dc7
chore: use own socks5 server for tests ( #31639 )
2024-07-11 14:12:48 +02:00
Playwright Service
2b77ed4d7a
feat(firefox): roll to r1457 ( #31633 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-11 07:44:48 +02:00
Matvey Chernyshov
ba62f83454
chore: add android keys for channels switching ( #31619 )
2024-07-10 13:15:45 -07:00
Stanislav Grishaev
ce2b138eeb
chore: add iPhone 15 device family ( #31623 )
...
Fixes https://github.com/microsoft/playwright/issues/31573
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-07-10 13:58:36 +02:00
Álvaro Martínez
00131c1e3f
feat(trace-viewer): display text attachments in ui mode ( #31215 )
2024-07-08 11:16:14 -07:00
Dmitry Gozman
21c4531618
fix(selector generator): do not reparent to invisible ancestor ( #31590 )
...
Fixes #31335 .
2024-07-08 09:07:25 -07:00
Dmitry Gozman
48db1b1663
fix(ui mode): allow --updateSnapshots ( #31584 )
...
Fixes #31408 .
2024-07-08 01:08:57 -07:00
Dmitry Gozman
bc27ca225e
feat(trace): record trace upon browser closure ( #31563 )
...
Retaining traces in the following scenarios:
- browser crash;
- manual `browser.close()`;
- implicit `browser.close()` from the `browser` fixture upon test end.
This does not affect the library, where `browser.close()` will not
retain the trace and will close the browser as fast as possible.
References #31541 , #31535 , #31537 .
2024-07-06 11:34:34 -07:00
Max Schmitt
1132667ffe
chore: bump TypeScript to v5.5 ( #31532 )
2024-07-05 16:31:08 +02:00
Nicolas Le Cam
9caf3b5f72
chore: Remove obsolete Chromium enabled features ( #31513 )
2024-07-02 09:10:42 -07:00
Max Schmitt
9dc7e40084
chore(electron): don't swallow close errors ( #31509 )
2024-07-01 22:00:03 +02:00
4ydx
4089f4593b
fix(codgen): assertValue works with disabled select ( #31315 )
2024-06-28 13:04:59 -07:00
Pavel Feldman
f46ae15500
test(clock): fix clock mode bots ( #31472 )
2024-06-28 11:46:28 -07:00
Yury Semikhatsky
a3e31fd2c4
feat: introduce touchscreen.touch() for dispatching raw touch events ( #31457 )
2024-06-27 14:37:36 -07:00
Pavel Feldman
c9e673c6dc
fix(utility): create utility world when web security is disabled ( #31458 )
...
Reverts previous attempt at #31096
Fixes: https://github.com/microsoft/playwright/issues/31431
Fixes: https://github.com/microsoft/playwright/issues/31442
2024-06-27 09:29:20 -07:00
Playwright Service
87785d6092
feat(chromium): roll to r1125 ( #31467 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-27 17:01:16 +02:00
Playwright Service
41b185d643
feat(webkit): roll to r2038 ( #31441 )
2024-06-26 09:20:28 -07:00