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
Playwright Service
976373ed2c
feat(chromium-tip-of-tree): roll to r1234 ( #31418 )
2024-06-26 16:51:57 +02:00
Max Schmitt
f11ab2f145
chore: enable keepAlive in happy eyeballs http.Agent ( #31434 )
2024-06-25 19:05:32 +02:00
Yury Semikhatsky
2b12f53332
chore(route): wait for raw headers from browser in case of redirects ( #31410 )
...
Redirects are always autoresumed, so the will always receive extra info
with raw headers. We only want to make raw headers available immediately
when there is a route.
Reference https://github.com/microsoft/playwright/issues/31351
2024-06-24 12:25:12 -07:00
Yury Semikhatsky
d74ddaebe7
fix: correctly report overridden headers on redirected requests ( #31409 )
...
Fixes https://github.com/microsoft/playwright/issues/31351
2024-06-21 17:44:58 -07:00
Playwright Service
42b9e8375a
feat(chromium): roll to r1124 ( #31404 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-21 14:20:01 +02:00
Max Schmitt
6ed3b374a8
fix(electron): allow downloads ( #31390 )
2024-06-21 00:35:14 +02:00
Playwright Service
0694474fe1
feat(webkit): roll to r2036 ( #31387 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-20 09:52:59 +02:00
Yury Semikhatsky
95fc2b8a8b
feat(fetch): maxRetries for fetch ( #31386 )
...
Fixes https://github.com/microsoft/playwright/issues/30978
2024-06-19 18:10:14 -07:00
Yury Semikhatsky
a2b116aa39
fix(trace): ensure har entry _monotonicTime is always start time ( #31385 )
...
* Revert harTracer change from
aeba083da0
to make sure that har.Entry._monotonicTime always represents request
start time. The issue from the corresponding report was due to HEAD and
GET request sent for the same URL, that use case is still addressed as
we match by url + method
* Adjust resources monotonic time as well when several contexts are
shown in the trace viewer.
Fixes https://github.com/microsoft/playwright/issues/31133
2024-06-19 15:06:20 -07:00
Dmitry Gozman
ac90a47b73
fix(click): do not retarget <a> to the parent <label> ( #31368 )
...
Fixes #31359 .
2024-06-18 12:12:19 -07:00
Max Schmitt
5fc56283a6
fix(clock): throw for invalid date ( #31356 )
...
Fixes https://github.com/microsoft/playwright/issues/31354
2024-06-18 18:23:55 +02:00
Max Schmitt
c6aab05bd5
devops: make Android driver compile ( #31360 )
...
Fixes https://github.com/microsoft/playwright/issues/31355
All changes were done with the Android Studio upgrade assistant. It
updates it to the latest Gradle to make it compatible with recent Java
while keeping the `targetSdkVersion` unchanged.
2024-06-18 18:23:29 +02:00
Max Schmitt
f05b4daa2f
fix(clock): under reused context ( #31357 )
...
We uninstall all the setInitScript but forgot to mark `installed` as
`false`.
Fixes https://github.com/microsoft/playwright/issues/31353
2024-06-18 18:21:33 +02:00
Yury Semikhatsky
9e6772818e
chore: cache normalized whitespaces in recorder ( #31349 )
...
Reference: https://github.com/microsoft/playwright/issues/31254
On the web page from the bug it reduces time to compute selectors by 8x:
**Before:**
<img width="549" alt="before"
src="https://github.com/microsoft/playwright/assets/9798949/f4482860-29d5-4643-92ab-b360a702f232 ">
**After:**
<img width="580" alt="after"
src="https://github.com/microsoft/playwright/assets/9798949/b6aca6a1-9306-4041-9042-d504dce1c33a ">
2024-06-17 18:20:15 -07:00
Yury Semikhatsky
5443b66636
fix(codegen): trim alt selectors to 80 chars ( #31346 )
...
Fixes https://github.com/microsoft/playwright/issues/31254
2024-06-17 16:32:22 -07:00
Pavel Feldman
2a7f17d820
chore: fix simulated clock bots ( #31301 )
2024-06-17 09:17:38 -07:00
Fumiaki MATSUSHIMA
838c572209
fix: select issue in Windows with Edge ( #31270 )
2024-06-17 10:28:07 +02:00
Max Schmitt
a9200be0af
fix(screenshotter): only wait for for document.fonts.ready on locator frame / page main frame ( #31295 )
...
**Investigation**
~~We use `nonStallingEvaluateInExistingContext` as of today, which does
`eval()` inside (from our utilityScript) which breaks for some sites. It
causes a hang, since the returned `Promise` of `eval()` hangs. We don't
know as of today why this happens. Without wrapping it ini `eval()` it
does not hang.~~
~~Workaround: Do a plain Runtime.evaluate instead.~~
workaround: Only wait on main frame.
Relates https://github.com/microsoft/playwright/issues/28995 (keeping it
open until they confirm that it helps)
2024-06-14 01:22:14 +02:00
Dmitry Gozman
d0b052e1e0
fix(chromium): pass --enable-gpu when running headless ( #30937 )
...
Fixes #30585 .
2024-06-13 11:27:17 -07:00
Pavel Feldman
897f7449ef
fix(clock): fix pauseAt to arrive at wall time ( #31297 )
2024-06-13 10:21:00 -07:00
Playwright Service
8ea663aa64
feat(firefox): roll to r1454 ( #31288 )
2024-06-13 16:19:09 +02:00
Playwright Service
e8285369f5
feat(chromium): roll to r1123 ( #31289 )
2024-06-13 11:28:56 +02:00
Playwright Service
a2a6431efd
feat(webkit): roll to r2033 ( #31286 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-13 10:05:49 +02:00
Max Schmitt
dcf4e4e054
feat: allow folder uploads ( #31165 )
2024-06-12 22:20:18 +02:00
Playwright Service
6a7bfe63a1
feat(webkit): roll to r2031 ( #31272 )
2024-06-12 16:06:47 +02:00
Playwright Service
e07b46883d
feat(webkit): roll to r2029 ( #31257 )
2024-06-11 22:14:30 +02:00
Pavel Feldman
2b257ea963
chore(clock): introduce pauseAt ( #31255 )
2024-06-11 12:51:00 -07:00
Pavel Feldman
6399e8de4e
chore: clock api review ( #31237 )
2024-06-11 09:42:15 -07:00
Yury Semikhatsky
c08000b967
feat(chromium): storage-access permission ( #31239 )
...
Fixes https://github.com/microsoft/playwright/issues/31227
2024-06-11 09:18:45 -07:00
Pavel Feldman
e280d0bd35
chore(clock): split wall and monotonic time ( #31198 )
2024-06-09 14:50:50 -07:00
Pavel Feldman
dd3a41287e
chore: simplify doTick ( #31196 )
2024-06-06 19:26:30 -07:00
Pavel Feldman
826343b8a0
chore: rename fakeTimers to clock ( #31193 )
2024-06-06 15:56:13 -07:00
Playwright Service
e259f802d6
feat(chromium): roll to r1122 ( #31188 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-06 20:02:58 +02:00
Yury Semikhatsky
fc6fcc2118
chore: remove same site hack for libsoup on the client ( #31192 )
2024-06-06 08:55:38 -07:00
Pavel Feldman
384eed65ea
chore: organize fake timers ( #31156 )
2024-06-05 09:25:12 -07:00
Max Schmitt
9a536b0a56
fix: add libicu74 dependency to webkit Ubuntu 24.04 ( #31152 )
2024-06-04 21:48:44 +02:00
Darío Kondratiuk
76b25e84cc
docs: Improve clock doc ( #31147 )
2024-06-04 18:48:56 +02:00
Pavel Feldman
c516ba0ec8
api(clock): rework api based on the review ( #31137 )
2024-06-04 06:51:35 -07:00
Max Schmitt
2c6fd722dd
feat: support Ubuntu 24.04 ( #30826 )
2024-06-03 12:47:16 +02:00
Pavel Feldman
8bfd0eb6e4
chore: introduce clock test mode ( #31110 )
2024-05-31 14:44:26 -07:00
Joe-Hendley
afa0bf2247
feat: increase length of printed html tags ( #31105 )
...
resolves https://github.com/microsoft/playwright/issues/30977 by
increasing the printed length of HTML tags from 50 -> 500 as suggested
by @dgozman
2024-05-31 10:45:56 -07:00
Pavel Feldman
76e977a934
chore: add clock.next() ( #31097 )
2024-05-31 08:09:24 -07:00
Pavel Feldman
f17d0440a7
chore: attempt at fixing double init scripts ( #31096 )
2024-05-30 15:38:10 -07:00
Yury Semikhatsky
6067b78f88
chore: http credentials send immeidately/unauthorized enum ( #31076 )
...
Reference https://github.com/microsoft/playwright-internal/issues/205
Reference https://github.com/microsoft/playwright/issues/30534
2024-05-30 10:19:56 -07:00
Pavel Feldman
170c457a61
feat(timers): a stab at fake timers ( #31075 )
2024-05-30 09:38:27 -07:00
Playwright Service
a1db91040e
feat(chromium): roll to r1121 ( #31090 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-30 17:50:22 +02:00
Dmitry Gozman
ba5b460444
chore: move artifacts recording to TestLifecycleInstrumentation ( #30935 )
...
The spirit of this change is reverting #23153 . Since that time, we have
moved tracing and `artifactsDir` lifetime into the test runner, so the
reason for revert is mitigated.
Fixes #30287 , fixes #30718 , fixes #30959 .
2024-05-29 18:05:17 -07:00
Yury Semikhatsky
f93da40925
feat(webkit): roll to r2014 ( #31074 )
...
Closes https://github.com/microsoft/playwright/pull/31059
Closes https://github.com/microsoft/playwright/pull/31012
Reference https://github.com/microsoft/playwright-browsers/issues/795
2024-05-29 17:20:38 -07:00
Pavel Feldman
6675652269
chore: split client-side instrumentation into sync and async ( #31054 )
2024-05-28 14:29:57 -07:00
cavivie
a7599ad509
feat(api): add host option in launchServer options ( #30999 )
2024-05-27 11:24:23 +02:00
Dmitry Gozman
c906448fe2
fix(recorder): do not ignore signals except for navigation ( #30994 )
...
When a signal arrives late enough, after the last action was committed
in 5 seconds, we should still account for it. This includes downloads,
popups and dialogs, but not navigations.
Exposed by a flaky test "should record open in a new tab with url".
2024-05-23 17:40:39 -07:00
Playwright Service
20a23b3485
feat(chromium): roll to r1120 ( #30980 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-23 14:53:48 +02:00
Dmitry Gozman
eed6a10f3f
fix(tracing): speed up trace recording ( #30946 )
...
This includes two major changes:
- reuse `SerializedFS` for live test runner tracing;
- merge scheduled `appendFile` operations into a single `fs` call.
In some cases, this improves performance of UI mode by 61% and
performance of `trace: on` mode by 38%. Note that performance
improvement on the average test will not be as noticeable.
References #30875 , #30635 .
2024-05-22 15:19:32 -07:00
Pavel Feldman
964fe66ccc
chore: hint at unroute for handle errors ( #30949 )
2024-05-22 08:54:19 -07:00
Pavel Feldman
e7a11c0ca2
fix: propagate close reason to api context ( #30945 )
2024-05-21 18:05:58 -07:00
Pavel Feldman
7b27fc3916
chore: pass outputDir to uimode ( #30941 )
...
Fixes https://github.com/microsoft/playwright/issues/30886
2024-05-21 14:36:31 -07:00
Yury Semikhatsky
148d759a4c
fix(chromium): do not fetch intercepted request body from network ( #30938 )
...
Fixes https://github.com/microsoft/playwright/issues/30760
2024-05-21 12:49:47 -07:00
Joel Einbinder
d0644f5444
fix(electron): flaky startup if stderr comes in too fast ( #30855 )
...
Chromium's `DevTools listening on` message sometimes arrives before
Playwright is finished connecting to Node. Without this patch, it would
miss the message and fail to connect.
2024-05-21 12:15:05 -07:00
Dmitry Gozman
6290af3a08
feat(reporters): align and document environment variables ( #30912 )
...
- Documents `PLAYWRIGHT_FORCE_TTY` and `FORCE_COLOR` across terminal
reporters.
- New `PLAYWRIGHT_LIST_PRINT_STEPS`. Removes undocumented test-only
`PW_TEST_DEBUG_REPORTERS_PRINT_STEPS`.
- Replaces `PLAYWRIGHT_HTML_REPORT` with `PLAYWRIGHT_HTML_OUTPUT_DIR`
and `PW_TEST_HTML_REPORT_OPEN` with `PLAYWRIGHT_HTML_OPEN` for
consistency, supports older versions for backwards compatibility.
- New `PLAYWRIGHT_HTML_HOST`, `PLAYWRIGHT_HTML_PORT` and
`PLAYWRIGHT_HTML_ATTACHMENTS_BASE_URL`.
- New `PLAYWRIGHT_JUNIT_STRIP_ANSI` and
`PLAYWRIGHT_JUNIT_INCLUDE_PROJECT_IN_TEST_NAME`.
- Removes `PW_HTML_REPORT` that was set for unknown reason.
2024-05-21 10:46:52 -07:00
Max Schmitt
a93ad3dade
fix(fetch): allow UTF-8 in Location header ( #30904 )
2024-05-21 09:15:33 +02:00
Yury Semikhatsky
042896472b
fix: route.continue should not change multipart form data body ( #30863 )
...
The bug was fixed in https://github.com/microsoft/playwright/pull/30734 .
This PR adds a test and updates interception logic to not send post data
when it is not modified.
Fixes https://github.com/microsoft/playwright/issues/30788
2024-05-20 16:36:57 -07:00
Lukas Bockstaller
437b14a903
fix: relative url path for ui mode ( #29924 )
...
This is a follow up #29564
I did a deep dive on a redirect issue I observed in my infrastructure
and originally attributed to some configuration mistakes on my part.
I have code hosted on `example.com/code` and use subdomain proxying.
This leads to the uimode being exposed on
`example.com/code/proxy/{{port}}`.
Clicking on the open uimode link shown by vscode redirected with a 302
to `example.com/proxy/{{port}}`
The absolute redirect url overruled the relative path handling reverse
proxies rely on.
This PR turns the absolute into a relative url to avoid this issue.
2024-05-20 10:18:08 -07:00
Max Schmitt
162c18f586
feat(roll): roll Firefox to r1450 ( #30865 )
...
Fixes
https://github.com/microsoft/playwright/actions/runs/9120975643/job/25079367394
2024-05-19 16:28:32 +02:00
Playwright Service
b6a7d0a17e
feat(chromium): roll to r1119 ( #30879 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-17 19:06:11 +02:00
Yury Semikhatsky
b375f10778
fix: fulfill with unassigned status codes ( #30856 )
...
Fixes https://github.com/microsoft/playwright/issues/30773
2024-05-17 09:32:40 -07:00
Dmitry Gozman
4ad94c1a8c
chore: print friendly localhost address from http server ( #30853 )
2024-05-17 08:55:12 -07:00
Max Schmitt
90765a226f
fix(electron): allow launching with spaces in path ( #30820 )
...
Fixes https://github.com/microsoft/playwright/issues/30755
2024-05-15 18:20:00 +02:00
Yury Semikhatsky
fb319e6d3d
fix: match client step and server action by explicit stepId ( #30641 )
...
Matching bu `apiName@wallTime` fails when two actions start at the same
time, e.g. two parallel api requests. Moreover, it results in trace
actions that have parent set to themselves, which in turn causes
infinite loop in the trace viewer. To avoid this problems we write
stepId explicitly to the library trace and use those step ids to find
corresponding test runner steps.
The stepId is passed via zone in case of expect, because the protocol
step is quite deep in the call chain after or explicitly in case of API
call steps created by the test runner instrumentation.
2024-05-14 12:10:46 -07:00
Max Schmitt
b06c1dfff1
Revert "fix(highlight): highlight Top Layer elements ( #30001 )" ( #30800 )
...
This reverts commit a932222662 .
Closes https://github.com/microsoft/playwright/pull/30797 - maybe there
is a better way to get the page height?
`document.documentElement.scrollHeight` seems to not work on Firefox.
Relates https://github.com/microsoft/playwright/issues/30770
2024-05-14 17:23:52 +01:00
Yury Semikhatsky
873f3a03ac
chore(trace): add context create event for test runner ( #30697 )
...
Adding metadata event to the test.trace to simplify time computation
logic.
2024-05-14 09:00:33 -07:00
Playwright Service
07ccd5ed7f
feat(webkit): roll to r2007 ( #30776 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-05-14 10:33:00 +01:00
Dmitry Gozman
776b04e5ea
feat: APIRequestContext dispose reason ( #30765 )
...
Similarly to page.close, we pass test-runner specific reason to
facilitate better error messages.
```
1) a.test.ts:10:11 › test
Error: apiRequestContext.fetch: Fixture { request } from beforeAll cannot be reused in a test.
- Recommended fix: use a separate { request } in the test.
- Alternatively, manually create APIRequestContext in beforeAll and dispose it in afterAll.
See https://playwright.dev/docs/api-testing#sending-api-requests-from-ui-tests for more details.
9 |
10 | test('test', async () => {
> 11 | await context.fetch('http://example.com ');
| ^
12 | });
13 |
```
Closes #29260 .
2024-05-13 18:51:30 -07:00
Dmitry Gozman
8334191b94
fix(selector generator): properly escape re used in has-text ( #30767 )
...
Fixes #30499 .
2024-05-13 12:40:46 -07:00
Yury Semikhatsky
64b4ac1732
fix(electron): record har file ( #30748 )
...
Fixes https://github.com/microsoft/playwright/issues/30747
2024-05-10 15:32:01 -07:00
Dmitry Gozman
0d004c9f3c
fix(chromium): concat all post data entries for request.postData() ( #30734 )
...
This already works in Firefox, but does not work in WebKit.
2024-05-09 14:08:38 -07:00
Playwright Service
cfde97b0a0
feat(chromium): roll to r1118 ( #30728 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-09 17:06:43 +01:00
Viktor Szépe
150cbcbdf3
chore: fix typos ( #30645 )
2024-05-08 19:40:03 +01:00
Rui Figueira
cf3ff6531a
chore: make NodeSnapshot type recursive and more ( #30619 )
...
Also, deviceDescriptors are now imported with ESM import instead of require()
2024-05-08 11:08:40 -07:00
Saswat Das
7c826719ec
chore: remove redundant parameters from isElementStyleVisibilityVisible ( #30637 )
2024-05-08 17:45:53 +01:00
Pavel Feldman
979233e483
chore: print resolved host in the http server terminal ( #30677 )
2024-05-06 11:01:36 -07:00
Max Schmitt
aa0020878a
fix(chromium): allow pasting in DevTools without self-xss warning ( #30653 )
...
Fixes https://github.com/microsoft/playwright/issues/30425
2024-05-03 18:22:43 +00:00
Playwright Service
ce69236510
feat(chromium): roll to r1117 ( #30646 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-03 15:29:02 +00:00
Yury Semikhatsky
d5b387159a
feat(fetch): sendImmediately ( #30627 )
...
Fixes https://github.com/microsoft/playwright/issues/30534
2024-05-02 16:30:12 -07:00
Dmitry Gozman
fd92509dda
fix(role): extract tagName safely ( #30636 )
...
Fixes #30616 .
2024-05-02 09:42:19 -07:00
Max Schmitt
980f9c6ad4
chore: drop firefox-asan ( #30626 )
2024-05-01 22:13:00 +00:00
Yury Semikhatsky
ff35f651e6
chore: delete expired location handler from client map ( #30574 )
2024-05-01 13:04:21 -07:00
Pavel Feldman
96f3d19819
feat(ctrl_or_meta): add a universal ctrl-meta modifier ( #30572 )
...
Fixes https://github.com/microsoft/playwright/issues/12168
2024-04-29 08:15:12 -07:00
Dmitry Gozman
6d20da568e
feat: expect(locator).toHaveRole(role) ( #30555 )
...
References #13517 . Fixes #18332 .
2024-04-25 15:26:10 -07:00
Dmitry Gozman
086ea79c25
chore: remove checkCoverage script ( #30552 )
...
We do not benefit from it for many years already.
2024-04-25 14:00:14 -07:00
Dmitry Gozman
9bd2aea130
feat(locator handler): address api review feedback ( #30554 )
...
- Remove `handler` argument from `removeLocatorHandler`.
- Rename `allowStayingVisible` into `noWaitAfter`.
- Improve logging related to locator handler.
- Remove experimental badges.
2024-04-25 14:00:02 -07:00
Playwright Service
8e6272b1e3
feat(chromium): roll to r1116 ( #30542 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-25 16:08:13 +02:00
Dmitry Gozman
59689c9c97
feat(addLocatorHandler): various improvements ( #30494 )
...
- Automatically waiting for the overlay locator to be hidden, with
`allowStayingVisible` opt-out.
- `times: 1` option.
- `removeLocatorHandler(locator, handler)` method.
- Passing `locator` as first argument to `handler`.
Fixes #30471 . Fixes #30424 . Fixes #29779 .
2024-04-24 15:19:12 -07:00
Yury Semikhatsky
230a8437d3
feat(fetch): support FormData as multipart parameter ( #30489 )
...
Reference https://github.com/microsoft/playwright/issues/28070
2024-04-23 17:05:27 -07:00
Dmitry Gozman
25b881cd10
fix(firefox): "warn" console messages should be "warning" ( #30490 )
...
Fixes #30136 .
2024-04-23 15:07:29 -07:00
Rui Figueira
c80b851422
fix(codegen): prevent csp directive violations ( #30366 )
2024-04-23 07:33:12 -07:00
Dmitry Gozman
4a275b8eca
feat: expect(locator).toHaveAccessibleDescription ( #30463 )
...
References #18332 .
2024-04-22 12:33:30 -07:00
Yury Semikhatsky
42f91e30d1
chore: remove link to deleted troubleshooting guide ( #30462 )
...
Fixes https://github.com/microsoft/playwright/issues/30446
2024-04-22 10:58:48 -07:00
Playwright Service
dd1a9f5e96
feat(chromium): roll to r1115 ( #30449 )
2024-04-20 18:42:22 +02:00
Max Schmitt
a932222662
fix(highlight): highlight Top Layer elements ( #30001 )
2024-04-20 08:51:16 +02:00
Playwright Service
d332541df7
feat(webkit): roll to r2001 ( #30435 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-20 00:39:01 +02:00
Dmitry Gozman
9b6627a063
feat(role): roll and pass WPT accname tests, calculate description ( #30434 )
...
There are new "non-manual" WPT accname tests that we now mostly pass,
which required a few tweeks in calculating role and name.
Also implemented accessible description computation, which is just a
small addition on top of accessible name, and passed respective wpt
tests.
References #18332 .
2024-04-19 12:49:49 -07:00
Max Schmitt
a1b3332e54
chore: follow-up on Electron launch ( #30423 )
...
Follow-up to https://github.com/microsoft/playwright/pull/30382 .
2024-04-19 00:34:07 +02:00
Dmitry Gozman
eea1f9984f
feat: expect(locator).toHaveAccessibleName ( #30420 )
...
References #18332 .
2024-04-18 12:28:55 -07:00
Dmitry Gozman
103ec90751
fix(role): align presentation role conflict resolution with the spec ( #30408 )
...
See
https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none
Fixes #26809 .
2024-04-18 08:53:31 -07:00
Playwright Service
a41122daa2
feat(firefox): roll to r1448 ( #30411 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-18 11:16:28 +02:00
Dmitry Gozman
984182bd53
fix(role): embedded control inside the target element ( #30403 )
...
According to the spec, such controls should use the native value as long
as they have "aria-label". The relevant spec section is 2D.
However, there is an open issue that claims this should always apply,
and all browsers and wpt test actually do that:
https://github.com/w3c/accname/issues/64 .
Fixes #28848 .
2024-04-17 12:25:08 -07:00
Dmitry Gozman
b72e3a3eba
fix(role): explicitly hidden aria-labelledby should be recursively traversed ( #30402 )
...
The accessible name computation spec has changed to explicitly mention
this case:
Step 2A. Hidden Not Referenced. If the current node is hidden and is:
- Not part of an aria-labelledby or aria-describedby traversal, where
the node directly referenced by that relation was hidden.
- Nor part of a native host language text alternative element (e.g.
label in HTML) or attribute traversal, where the root of that traversal
was hidden.
See https://w3c.github.io/accname/#computation-steps . Chromium, Firefox
and Safari all agree with the spec.
Fixes #29796 .
2024-04-17 11:22:09 -07:00
Yury Semikhatsky
3bdbe4284e
fix(steps): make expect.toPass and expect.poll step containers ( #30389 )
...
Fixes https://github.com/microsoft/playwright/issues/30322
2024-04-16 16:18:37 -07:00
Yury Semikhatsky
73fce8fb98
chore: replace Zones with AsyncLocalStorage ( #30381 )
...
Reference https://github.com/microsoft/playwright/issues/30322
2024-04-16 12:51:20 -07:00
Peng Xiao
58187075c8
fix: running electron tests on windows for node 20.12.2 ( #30382 )
2024-04-16 17:41:19 +02:00
Playwright Service
78793e05ff
feat(chromium): roll to r1114 ( #30385 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-16 13:55:36 +02:00
Dmitry Gozman
a6a44a07a7
chore: align crServiceWorker with crPage ( #30367 )
...
Simplify network-related methods because crNetworkManager already
handles initial/non-initial calls.
2024-04-15 11:09:38 -07:00
Playwright Service
80e725b5a3
feat(chromium): roll to r1113 ( #30364 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-13 14:04:30 +02:00
Max Schmitt
a467312731
fix(snapshotter): remove noscript when javaScriptEnabled is undefined ( #30355 )
2024-04-12 20:26:52 +02:00
Max Schmitt
56a7adeb8a
test: unflake 'should not include trace resources from the previous chunks' test ( #30257 )
2024-04-12 19:48:53 +02:00
Max Schmitt
96053ed0b5
Revert "fix(reuse): reset Origin Private File System API ( #29921 )" ( #30342 )
...
This reverts commit 048d6669fd .
This change caused the crash for
https://github.com/microsoft/playwright/issues/30339#issuecomment-2049870789 .
If we don't execute this code, it does not crash.
Reverting it for now until the Chromium fix lands in Beta/Stable.
2024-04-11 19:07:15 +02:00
Max Schmitt
b2ded9fed1
fix(expect): throw better received error when no element was found ( #29890 )
...
Fixes https://github.com/microsoft/playwright/issues/29873
2024-04-10 10:01:19 +02:00
Playwright Service
4d4308e7b3
feat(chromium): roll to r1112 ( #30235 )
2024-04-04 09:25:57 +02:00
Pavel Feldman
8ee286b366
chore: migrate to the testserver.initialize ( #30226 )
2024-04-03 12:50:56 -07:00
Max Schmitt
43745210a5
fix(trace-viewer): exit if given trace.zip does not exist ( #30222 )
2024-04-03 18:47:03 +02:00
Dmitry Gozman
6d56b453ff
fix(connect): include websocket close reason in the error message ( #30203 )
...
When websocket disconnects during `browserType.connect()` call, the
error looks like this now:
```
browserType.connect: Custom error message received over WebSocket
```
Previously, it was a generic error:
```
browserType.connect: Target page, context or browser has been closed
```
2024-04-01 21:05:33 -07:00
Peng Xiao
cc881fdb1f
fix: content editable retarget ( #29792 )
...
If `contenteditable` is wrapped into a button or `[role=button]`,
`element.fill` will incorrectly retarget the closest button element.
fix https://github.com/microsoft/playwright/issues/29813
2024-04-01 13:03:09 -07:00
Andrey Lushnikov
4781b3c3a8
fix(firefox): disable cache when request interception is enabled ( #30113 )
...
Fixes #30000
2024-03-28 10:25:37 -07:00
Playwright Service
ff6bb7546f
feat(chromium): roll to r1111 ( #30164 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-28 15:20:52 +01:00
Pavel Feldman
d7710f0c3e
chore: do not exit UI mode upon page reload ( #30135 )
2024-03-26 15:49:44 -07:00
Max Schmitt
aeb403f851
feat(webkit): dedicated macOS-14 build ( #30079 )
...
Fixes https://github.com/microsoft/playwright/issues/30070
2024-03-26 23:05:14 +01:00
Yury Semikhatsky
021c5c108c
chore: revert support of duplicate form data fields in multipart post data ( #30127 )
...
We want to adopt FormData API for the requests.
This is a revert of 4b3c596874 and
a849ea9741
Reference https://github.com/microsoft/playwright/issues/28070
2024-03-26 12:36:35 -07:00
Dmitry Gozman
e4403dd6c8
fix(chromium): race between requestPaused and requestWillBeSent in workers ( #30125 )
...
Workers use page's session for `Fetch` domain and worker's session for
`Network` domain. Therefore, `CRNetworkManager` should keep track of the
right session for each domain separately.
This is covered by currently flaky tests:
- `should report and intercept network from nested worker`,
- `should intercept network activity from worker`,
- `should intercept network activity from worker 2`.
2024-03-26 11:11:09 -07:00
Pavel Feldman
2de8a6b002
chore: move filter params into the clearCookies ( #30111 )
2024-03-26 08:12:26 -07:00
Yury Semikhatsky
a849ea9741
feat(fetch): multiple fields with the same name in post data ( #30104 )
...
Rerefence https://github.com/microsoft/playwright/issues/28070
2024-03-25 15:39:45 -07:00
Playwright Service
05cbb14d28
feat(firefox): roll to r1447 ( #30080 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-25 19:48:38 +01:00
Dmitry Gozman
95d649b406
feat: address api review feedback for 1.43 ( #30066 )
...
- Update docs for `trace: retain-on-first-failure`.
- Update docs for `devtools` option.
- Rename `Locator.enterFrame()` to `Locator.contentFrame()`.
- Rename `FrameLocator.exitFrame()` to `FrameLocator.owner()`.
2024-03-25 07:42:13 -07:00
Pavel Feldman
ee9432b9da
chore: send test params over the wire in ui mode ( #30046 )
2024-03-22 13:49:28 -07:00
Dmitry Gozman
c1400a3db5
Revert "feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )" ( #30064 )
...
This reverts commit 1bb463163b . Decided to
wait for a better VRT story.
References #29250 .
2024-03-22 13:26:22 -07:00
Playwright Service
9ce83e10f4
feat(firefox): roll to r1446 ( #30053 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:38 +01:00
Playwright Service
b834c0b9ed
feat(webkit): roll to r1991 ( #30049 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-22 13:00:15 +01:00
Max Schmitt
352cb7fa08
feat(browser): roll Chromium to 1110 ( #30039 )
...
Browser roll bot was broken, got fixed by
3d4e0061bc .
2024-03-21 14:26:42 +01:00
Dmitry Gozman
6f360f7207
feat(trace): do not record events that are not used in the viewer ( #30030 )
...
This is especially useful for network events that are already in the
har, but also get into the trace.
2024-03-20 21:01:17 -07:00
Yury Semikhatsky
69e90f38c7
fix(codegen): import re in python ( #30026 )
...
Fixes https://github.com/microsoft/playwright/issues/30019
2024-03-20 16:38:28 -07:00
Pavel Feldman
0a22a86e2e
chore: prepare to reuse test server from ui mode (5) ( #30005 )
2024-03-19 14:08:21 -07:00
Dmitry Gozman
1bb463163b
feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )
...
Fixes #29250 .
2024-03-19 14:01:04 -07:00
Pavel Feldman
54aca430b0
chore: prepare to reuse test server from ui mode (4) ( #29995 )
2024-03-19 13:00:49 -07:00
Pavel Feldman
c7b074d39e
chore: prepare to reuse test server from ui mode (3) ( #29989 )
2024-03-18 17:14:21 -07:00
Dmitry Gozman
70e6cdac57
feat: enterFrame/exitFrame ( #29992 )
...
This introduces `Locator.enterFrame()` and `FrameLocator.exitFrame()` to
convert between locator and frame locator.
Fixes #29336 .
2024-03-18 13:42:08 -07:00
Pavel Feldman
6faadf5160
chore: prepare to reuse test server from ui mode ( #29965 )
2024-03-18 09:50:11 -07:00
Max Schmitt
048d6669fd
fix(reuse): reset Origin Private File System API ( #29921 )
...
Fixes https://github.com/microsoft/playwright/issues/29901
This clears the Origin Private File System API when using VSCode
extension.
2024-03-15 17:40:46 +01:00
Max Schmitt
5bc6ca6345
fix: allow disposing ElementHandles multiple times ( #29953 )
...
Fixes https://github.com/microsoft/playwright/issues/29945
2024-03-15 16:26:56 +01:00
Max Schmitt
7cbef691ae
fix: throw error if setInputFile does not exist ( #29944 )
...
Fixes https://github.com/microsoft/playwright/issues/29941
2024-03-14 20:27:33 +01:00
Max Schmitt
b158e4ef96
fix: postDataJSON without Content-Type header ( #29918 )
...
Regressed after
38fc74db7c .
Test coverage: Some tests were failing on the flakiness dashboard
2024-03-14 16:48:34 +01:00
Karl Horky
914208c567
chore: fix typo in property name ( #29907 )
2024-03-13 12:22:40 +01:00
Dmitry Gozman
349b25e61a
fix(storageState): try to collect storage state on existing pages first ( #29915 )
...
This helps in a case where navigating to an origin fails for some
reason, for example because a registered service worker loads some
content into the supposedly blank page.
Fixes #29402 .
2024-03-12 19:20:35 -07:00
Max Schmitt
38fc74db7c
fix: postDataJSON with application/x-www-form-urlencoded; charset=UTF-8 ( #29889 )
...
Fixes https://github.com/microsoft/playwright/issues/29872
2024-03-12 17:20:39 +01:00
Dmitry Gozman
88e80cf948
chore(test runner): simplify TimeoutManager and TimeoutRunner ( #29863 )
2024-03-11 15:43:50 -07:00
Dmitry Gozman
875ce1cf09
fix(chromium): use blockedReason as failure reason when available ( #29849 )
...
This covers blocked requests, e.g. mixed-content, that receive
`loadingFailed` with empty `errorText`.
Also, forcefully resolve `allHeaders()` in this case, since we know
there will be no actual network headers.
Fixes #29833 .
2024-03-07 14:07:04 -08:00
Dmitry Gozman
5eb8fea616
chore: rewrite worker main through TestInfoImpl._runAsStage ( #29644 )
2024-03-04 19:36:58 -08:00
Rui Figueira
73ffaf65d7
fix(codegen): fill action prevents omnibox navigation recording ( #29790 )
...
This PR is a fix proposal for a bug when trying to record a omnibox
navigation after a recorded action (e.g., `fill`).
The following test, included in this PR, reproduces the problem:
```ts
test('should record omnibox navigations after recordAction', async ({ page, openRecorder, server }) => {
const recorder = await openRecorder();
await recorder.setContentAndWait(`<textarea></textarea>`);
await Promise.all([
recorder.waitForOutput('JavaScript', 'fill'),
page.locator('textarea').fill('Hello world'),
]);
// for performed actions, 5 seconds is the time needed to ensure they are committed
await page.waitForTimeout(5000);
await page.goto(server.PREFIX + `/empty.html`);
await recorder.waitForOutput('JavaScript', `await page.goto('${server.PREFIX}/empty.html');`);
});
```
After performed actions (e.g., `click`), it successfully records the
navigation as long as there's at least a 5 sec. gap between both
actions. That happens because after that 5 sec. interval the performed
action is automatically commited and therefore the navigation is not
stored as a signal of that action.
The proposed fix for recorded actions also forces that action to be
automatically commited after 5 sec (for testing, I'm using 500ms to
speed up the test execution).
2024-03-04 12:31:03 -08:00
Max Schmitt
ef0a24a1b0
chore: remove chromium-with-symbols build ( #29807 )
2024-03-04 20:12:01 +01:00
PaulTriandafilov
8e48ee714d
feat(playwright-core): add remove cookies api ( #29698 )
2024-03-02 07:27:01 -08:00
Dmitry Gozman
a8c26d235c
Revert "chore(role): cache element list by role ( #29130 )" ( #29765 )
...
This reverts commit 1ce3ca25a2 .
Added a regression test.
Fixes #29760 .
2024-03-01 09:37:28 -08:00
Playwright Service
f8e441a521
feat(chromium): roll to r1107 ( #29762 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-01 16:38:09 +01:00
Dmitry Gozman
0f30cdab23
feat(firefox): roll ff and ff-beta to 1442 ( #29751 )
...
This requires changes in `FFPage`.
Also fixing a new ff-specific test that introduced flakiness on the
bots.
Closes https://github.com/microsoft/playwright/pull/29750
Closes https://github.com/microsoft/playwright/pull/29724
Closes https://github.com/microsoft/playwright/pull/29681
Closes https://github.com/microsoft/playwright/pull/29678
2024-02-29 14:44:45 -08:00
Pavel Feldman
d9a00342c8
fix(HEAD): revert GET->HEAD migration, net-effect was negative ( #29738 )
...
Fixes: https://github.com/microsoft/playwright/issues/29732
2024-02-29 09:02:05 -08:00
Dmitry Gozman
aedd7ca0be
chore: make CRNetworkManager handle multiple sessions ( #29721 )
...
It was already handling worker sessions, but not OOPIFs. As a result,
some functionality was properly implemented only for OOPIFs and not for
workers.
This change removes OOPIFs fanout for network-related calls from CRPage
and moves that to the CRNetworkManager, now also covering workers.
2024-02-28 15:51:27 -08:00
Pavel Feldman
8264bec01e
fix(ff): stop gap for setInputFiles race ( #29696 )
2024-02-27 11:50:24 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -08:00
Playwright Service
9a38aedf09
feat(firefox): roll to r1440 ( #29643 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-24 09:19:46 +01:00
Playwright Service
85df43520e
feat(chromium): roll to r1105 ( #29613 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-22 17:27:59 +01:00
Yury Semikhatsky
5ca8e17a2d
fix: resend overridden headers on redirect without merging ( #29605 )
...
Reference https://github.com/microsoft/playwright/issues/13106
2024-02-22 07:44:14 -08:00
Playwright Service
7c9ca0c7ef
feat(chromium): roll to r1104 ( #29595 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-21 16:25:15 +01:00
Jean-François Greffier
6494bb30a0
JUnit codegen ( #29424 )
...
Codegen for JUnit
Fixes https://github.com/microsoft/playwright-java/issues/1039
Following JUnit5 integration
https://github.com/microsoft/playwright-java/issues/1369
2024-02-20 11:08:53 -08:00
Pavel Feldman
d573c515a3
chore: add test server stub ( #29568 )
2024-02-20 09:56:33 -08:00
Max Schmitt
84fefdaac6
fix(console-api): locator filter with hasText ( #29563 )
...
Relates https://github.com/microsoft/playwright/issues/29546
2024-02-20 17:35:11 +01:00
Yury Semikhatsky
f3fde992eb
chore: remove --project-grep, add wildcard support ( #29537 )
...
Reference #15128
2024-02-16 19:18:00 -08:00
Pavel Feldman
043c5aaffb
chore: follow up to web socket util extraction ( #29536 )
2024-02-16 18:16:45 -08:00
Sylvain Finot
b11b118e02
feat(chromium): expose parameters to generate outline / tagged PDF ( #29494 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-15 17:28:04 +01:00
Playwright Service
a3d62acbdd
feat(chromium): roll to r1103 ( #29506 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-15 17:03:00 +01:00
Yury Semikhatsky
2693614c7a
Revert "fix(chromium): best effort 304 status on reload ( #29373 )" ( #29481 )
...
This reverts commit 17bc8f9a15 .
Reference https://github.com/microsoft/playwright/issues/28779
Fixes https://github.com/microsoft/playwright/issues/29441
2024-02-13 11:43:04 -08:00
Max Schmitt
30557ed28c
fix(electron): stalling on delayed process close ( #29431 )
2024-02-13 10:25:46 +01:00
Max Schmitt
fe81790221
fix(accessibility): firefox with aria-invalid element ( #29462 )
...
Fixes https://github.com/microsoft/playwright/issues/29459
2024-02-12 12:12:31 -08:00
Max Schmitt
498b8bb269
fix(tracing): do not serialise out-of-process Buffers ( #29425 )
2024-02-12 21:03:38 +01:00
Dmitry Gozman
f0244b8a76
chore: rename handleLocator to addLocatorHandler ( #29443 )
2024-02-09 15:18:50 -08:00
Dmitry Gozman
61955e55b1
fix(handleLocator): address API review feedback ( #29412 )
...
- docs improvements;
- `force: true` ignores `handleLocator`;
- wrapping an internal call;
- more test cases;
- `pw:api` log entries for this API.
2024-02-08 07:39:05 -08:00
Playwright Service
03659e1d2d
feat(chromium): roll to r1102 ( #29415 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-08 14:00:50 +01:00
Dmitry Gozman
3abd7c808e
fix(connectOverCDP): send custom headers in /json/version request ( #29408 )
...
Fixes #29403 .
2024-02-07 17:41:21 -08:00
Dmitry Gozman
6b37a706db
chore(codegen): disable multiple locators choice in UI ( #29409 )
...
This feature needs more polish to be released.
2024-02-07 17:08:04 -08:00
Yury Semikhatsky
721d84f17a
fix(har): do not throw on -1 status code ( #29371 )
...
Fixes https://github.com/microsoft/playwright/issues/29311
2024-02-06 10:17:29 -08:00
Pavel Feldman
20699c36ba
chore: simplify types handling in toHaveScreenshot ( #29374 )
2024-02-05 19:07:30 -08:00
Yury Semikhatsky
17bc8f9a15
fix(chromium): best effort 304 status on reload ( #29373 )
...
Reference https://github.com/microsoft/playwright/issues/28779
2024-02-05 16:56:42 -08:00
Max Schmitt
47f8ba2a04
feat(electron): expose ElectronApplication console events ( #29322 )
...
Fixes https://github.com/microsoft/playwright/issues/5905
2024-02-05 21:30:54 +01:00
Yury Semikhatsky
79e379fc11
chore: do not set metadata.error for expect failure results ( #29310 )
...
The metadata.error change was brought back in
https://github.com/microsoft/playwright/pull/29271and it broke java port
as we could have error and result set simulteniously. This PR moves the
logic to the trace recorder instead and keeps the protocol contract
clear that either error or result is present, but not both.
2024-02-02 16:41:08 -08:00
Playwright Service
9ed344a765
feat(webkit): roll to r1974 ( #29319 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-02 16:00:14 +01:00
Rui Figueira
b88a008a87
feat(codegen): slider support ( #29087 )
2024-02-01 13:45:19 -08:00
Playwright Service
b32a539470
feat(chromium): roll to r1101 ( #29290 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-02-01 14:23:40 +01:00
Dmitry Gozman
7cb886ce07
fix(codegen): refresh overlay listeners upon documentElement change ( #29277 )
...
This is similar to other listeners that we refresh upon
`onGlobalListenersRemoved`. Covered by sometimes flaky codegen tests.
2024-01-31 17:08:15 -08:00
Max Schmitt
622153db18
Revert "chore: remove fake error from expect calls ( #28112 )" ( #29271 )
...
This reverts commit 2c3955a28c .
Relates https://github.com/microsoft/playwright-python/issues/2258
2024-01-31 23:43:37 +01:00
Pavel Feldman
aff6cf3c83
chore: extract ws server util ( #29247 )
2024-01-30 14:36:51 -08:00
Dmitry Gozman
aeafd44726
chore: strip Authorization header on ws redirect ( #29246 )
2024-01-30 14:26:25 -08:00
Playwright Service
082d4d5552
feat(firefox): roll to r1439 ( #29242 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-30 19:05:18 +01:00
Yury Semikhatsky
13550b7329
fix: add new line before sourceURL ( #29199 )
...
Reference https://github.com/microsoft/playwright/issues/29116
2024-01-29 15:00:42 -08:00
Yury Semikhatsky
ad6e40538a
fix(electron): make sure user arguments go first ( #29204 )
2024-01-29 15:00:12 -08:00
Pavel Feldman
c85308d717
chore: remove deprecated debug controller events ( #29203 )
2024-01-29 14:58:29 -08:00
Max Schmitt
4df4054f19
feat(driver): add option to strip out lone surrogates ( #29179 )
...
https://github.com/microsoft/playwright-dotnet/issues/2819
2024-01-29 22:14:55 +01:00
Dmitry Gozman
acc72c2663
fix(codegen): assertValue works with disabled input ( #29205 )
...
Also add tests for new codegen functionality.
Fixes #29161 .
2024-01-27 14:54:22 -08:00
Yury Semikhatsky
82981a8091
fix: interception id not found error in route.continue ( #29180 )
...
We stopped catching all exceptions in
https://github.com/microsoft/playwright/pull/28539 in hope that we'll
get loadingFailed even before Fetch.continue/fulfill command's error.
Turns out this is racy and may fail if the test cancels the request
while we are continuing it. The following test could in theory reproduce
it if stars align and the timing is good:
```js
it('page.continue on canceled request', async ({ page }) => {
let resolveRoute;
const routePromise = new Promise<Route>(f => resolveRoute = f);
await page.route('http://test.com/x ', resolveRoute);
const evalPromise = page.evaluate(async () => {
const abortController = new AbortController();
(window as any).abortController = abortController;
return fetch('http://test.com/x ', { signal: abortController.signal }).catch(e => 'cancelled');
});
const route = await routePromise;
void page.evaluate(() => (window as any).abortController.abort());
await new Promise(f => setTimeout(f, 10));
await route.continue();
const req = await evalPromise;
expect(req).toBe('cancelled');
});
```
Fixes https://github.com/microsoft/playwright/issues/29123
2024-01-25 16:54:42 -08:00
Max Schmitt
4c4789c740
chore: validate deps during install ( #28932 )
...
Motivation: On Windows we call around 50 times `PrintDeps.exe` which
takes on a very fast machine 500+ms. On Linux we do it around 120 times
(`ldd`) which takes around 150ms.
This change validates the dependencies once on browser install (`npx
playwright install`). In case its failing, it will emit a warning, in
case of a success, it will create a marker file that the binary has been
validated. For future `launch()` calls, we'll read this file and if
exists, we'll not validate again. Otherwise we'll validate again.
Note: If the marker file is older than 30 days, the browser will be
validated again.
2024-01-25 20:55:53 +01:00
Pavel Feldman
6a14b1dc51
chore: automatically detect the dev server ( #29176 )
2024-01-25 11:46:47 -08:00
Pavel Feldman
f7fb1e4d4e
chore(ct): use sticky test server if available ( #29136 )
2024-01-25 08:36:13 -08:00
Dmitry Gozman
f5de6e5538
feat(codegen): generate multiple selectors to choose from ( #29154 )
...
When possible, "pick locator" generates:
- default locator;
- locator without any text;
- locator without css `#id`.
Fixes #27875 , fixes #5178 .
2024-01-25 07:35:58 -08:00
Dmitry Gozman
bc83d7084c
fix(chromium): emulate navigator.userAgentData along with UA ( #29159 )
...
Fixes #28989 , fixes #29139 .
2024-01-25 07:34:11 -08:00
Playwright Service
129f5bfdbe
feat(chromium): roll to r1100 ( #29167 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-25 15:24:49 +01:00
Max Schmitt
ba8d141de8
chore: drop Ubuntu 18.04 ( #29145 )
...
This will now yield:
```
root@a85fb37f0c96:/work# npx playwright install
Failed to install browsers
Error: ERROR: Playwright does not support chromium on ubuntu18.04-x64
```
On Ubuntu 18.04.
2024-01-24 17:46:20 +01:00
Pavel Feldman
cec2ff1772
chore: split cli processing into cli endpoint and program ( #29131 )
2024-01-23 15:22:09 -08:00
Dmitry Gozman
1ce3ca25a2
chore(role): cache element list by role ( #29130 )
2024-01-23 13:45:26 -08:00
Dmitry Gozman
8e607d509f
fix(recorder): disallow external imports ( #29129 )
...
Previously, new `Recorder` instance was given an existing
`InjectedScript`. However, we built a separate source for
`InjectedScript` vs `Recorder`, and both bundles contain their own copy
of all helper modules, e.g. `roleUtils`.
This resulted in two copies of helper modules, which is troublesome for
any module-level globals like a top-level cache. Depending on whether
`Recorder` or `InjectedScript` called into the helper, they would access
the different value of a module global, which lead to bugs.
To prevent this, we force any external dependencies to be imported
through the `InjectedScript.utils`.
2024-01-23 11:29:40 -08:00
Dmitry Gozman
5bc5056a1f
chore(role): cache pseudo content calculation ( #29115 )
2024-01-23 10:09:23 -08:00
Playwright Service
3e2d7fe7e7
feat(chromium): roll to r1099 ( #29120 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-23 13:34:59 +01:00
Dmitry Gozman
9b974e0026
chore: speedup frequent element text normalization ( #29113 )
...
We cache `ElementText` for frequent operations, but then call
`normalizeWhitespace` on it every time which burns a lot of CPU.
2024-01-22 21:33:56 -08:00
Yury Semikhatsky
b2de9bc865
fix: mock safari.pushNotification ( #29107 )
...
Fixes https://github.com/microsoft/playwright/issues/29032
2024-01-22 15:44:13 -08:00
Dmitry Gozman
f3fac6f4e9
feat: page.handleLocator that closes any interstitial pages/dialogs ( #29029 )
2024-01-19 12:35:00 -08:00
Max Schmitt
e551506c9e
Revert "feat(codegen): add range input recording support ( #28767 )" ( #29069 )
2024-01-19 19:47:59 +01:00
Max Schmitt
4a45724633
fix: open 0.0.0.0 as localhost ( #29054 )
...
Fixes https://github.com/microsoft/playwright/issues/29047
2024-01-18 22:21:49 +01:00
Pavel Feldman
03815b9eb1
chore: migrate to Node 18 lockFileVersion 3 ( #29051 )
2024-01-18 11:33:23 -08:00
Dmitry Gozman
e6d51cf7bd
chore: refactor actionability check to go through node-side retry ( #28982 )
...
This allows to inject a checkpoint in between the actionability checks.
Drive-by: cleanup `InjectedScriptPoll`-related code.
2024-01-16 19:11:41 -08:00
Dmitry Gozman
d023829dd5
fix(locator parser): allow escaped quotes in the digest function ( #29012 )
...
This supports mixed quotes locators in JavaScript where we are not sure
what quote is the correct one, so we normalize to unescaped single quote
when comparing with the original.
Drive-by: we were allowing single quotes in Python, Java and .NET, but
these are actually not allowed.
Regressed in #27718 .
Fixes #28630 .
2024-01-16 16:06:02 -08:00
Dmitry Gozman
9b657b54fb
fix(launcher): unregister global process handlers when all browser are closed ( #29011 )
...
Otherwise, we forever block SIGTERM and SIGHUP by registering a handler
that does not do anything (due to no browsers to close) and prevents
default handler that exits from running.
Fixes #28091 .
2024-01-16 14:41:26 -08:00
Dmitry Gozman
775ef30e43
fix(test runner): make TestCase.id not depend on the path separator ( #29010 )
...
Fixes #28991 .
2024-01-16 13:32:47 -08:00
Dmitry Gozman
48317af1cc
feat(trace): preserve noscript when javascript is disabled ( #28971 )
...
Closes #27504 , closes #27532 .
2024-01-12 12:11:39 -08:00
Max Schmitt
808359ba6c
fix(driver): add external commands only for JS binding ( #28968 )
...
Motivation: Before this change if a language binding invoked the CLI
with `--help` or without any arguments (which will also show the help
text) it was suggesting that test/merge-reports/show-report is something
we support. After this change this does not get shown anymore.
2024-01-12 18:26:00 +01:00
Yury Semikhatsky
8936885a67
fix(chromium): preserve header overrides in redirects ( #28962 )
...
Reference https://github.com/microsoft/playwright/issues/28758
2024-01-12 08:55:20 -08:00
Playwright Service
3ace946fc2
feat(chromium): roll to r1097 ( #28949 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-11 14:38:16 +01:00
Yury Semikhatsky
19a4f15eb6
chore: remove redundant checks from network interception ( #28922 )
...
We only intercept requests in Playwright so these fields are always
undefined.
2024-01-09 13:35:51 -08:00
Max Schmitt
2ddf3a45f9
chore(firefox): rewrite error message for $HOME directory ownership mismatch ( #28921 )
...
Fixes https://github.com/microsoft/playwright/issues/28896
2024-01-09 20:40:39 +01:00
Max Schmitt
feece0f569
fix(deps): check only .dll/.exe files on Windows ( #28901 )
...
Fixes https://github.com/microsoft/playwright/issues/28846
2024-01-08 21:53:18 +01:00
Playwright Service
f428f0793f
feat(firefox): roll to r1438 ( #28882 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-05 21:11:34 +01:00
Playwright Service
572e656be0
feat(chromium): roll to r1096 ( #28878 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-05 13:21:50 +01:00
Max Schmitt
58fa4fce74
fix: use logger in default context with connectOverCDP ( #28838 )
...
Fixes https://github.com/microsoft/playwright/issues/28813
2024-01-03 19:49:47 +01:00
Playwright Service
a7c9060731
feat(webkit): roll to r1963 ( #28820 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-02 09:37:18 +01:00
Rui Figueira
778828cc43
feat(codegen): add range input recording support ( #28767 )
2023-12-30 17:22:57 -08:00
Yury Semikhatsky
ff99aa33b0
fix: input events triggered by playwright actions should have composed=true ( #28730 )
...
Fixes https://github.com/microsoft/playwright/issues/28726
2023-12-21 15:25:16 -08:00
Max Schmitt
b88b194e9f
feat(run-server): expose --host ( #28723 )
2023-12-19 23:19:46 +01:00
Yury Semikhatsky
afc1ac7063
fix: errors in evaluate should be JavaScriptErrorInEvaluate ( #28706 )
...
Fixes https://github.com/microsoft/playwright/issues/28690
2023-12-19 10:47:43 -08:00
Dmitry Gozman
6b178d22e2
fix: do not produce TargetClosedError: <message> errors ( #28704 )
2023-12-18 12:34:43 -08:00
Max Schmitt
44c3ad5ceb
chore: make csharp library codegen more csharp like ( #28663 )
2023-12-15 10:24:26 -08:00
Yury Semikhatsky
d89837c58e
chore: revert noWaitForFinish option, page.close does not wait for ro… ( #28658 )
...
…ute handlers
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 09:00:12 -08:00
Yury Semikhatsky
f8d0204d2f
chore: provide better message for unhandled internal server errors ( #28653 )
...
This changes error message from `Error: ` to `Error: Protocol error
(Fetch.continueRequest): Internal server error, session closed.` when
running `npm run ctest -- --repeat-each 100 -x --headed --timeout 3000
--workers 1 library/browsercontext-route.spec.ts:172` prior to
9d91b7caf5 .
2023-12-14 13:49:11 -08:00
Yury Semikhatsky
f28ceffa37
feat: page.unrouteAll and context.unrouteAll ( #28635 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-14 13:48:17 -08:00
Dmitry Gozman
35e8c440c2
fix(dispatchers): separate gc bucket for main frame, increased limit ( #28629 )
...
- Keep main frames in a separate bucket, so that page methods that
redirect to the main frame continue to work.
- Increase default dispatchers limit to `10_000`.
- Increase dispatchers limit for `JSHandle`/`ElementHandle` to
`100_000`.
Fixes #28320 , #28503 .
2023-12-14 10:42:08 -08:00
Playwright Service
d4c66a6295
feat(chromium): roll to r1095 ( #28649 )
2023-12-14 08:58:59 -08:00