409 Commits

Author SHA1 Message Date
René
fa10bcd5a3
feat(tracing) Adding groups to trace via pw-api (#33081)
Signed-off-by: René <snooz@posteo.de>
Signed-off-by: René <41592183+Snooz82@users.noreply.github.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-11-05 03:45:37 -08:00
Yury Semikhatsky
c66af9c525
chore: make expect timeout field required in the protocol (#33309) 2024-10-25 15:26:41 -07:00
Yury Semikhatsky
1e8884621a
chore: unify toHaveScreenshot error formatting (#33300) 2024-10-25 12:36:39 -07:00
Pavel Feldman
94321fef1c
chore: implement locator.ariaSnapshot (#33125) 2024-10-15 18:47:26 -07:00
Dmitry Gozman
0f2cbdedac
fix(routeWebSocket): do not show in the trace (#32991) 2024-10-08 02:47:24 -07: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
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
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
418d1c0c55
chore: allow starting recorder in traceviewer (#32741) 2024-09-20 15:25:49 -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
Matthew Jee
f2a974b045
feat(api): add method to force garbage collection (#32383) 2024-09-13 23:09:36 +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
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
Yury Semikhatsky
f0e13164d7
chore: split firefox and chromium bidi implementations (#32478) 2024-09-05 18:31:56 -07: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
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
Pavel Feldman
ec681ca78c
chore: pass explicit recorder app factory (#32349) 2024-08-27 20:24:19 -07: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
Dmitry Gozman
3a75f23ea1
fix(addInitScript): require non-undefined arg to trigger commonjs module (#32282) 2024-08-23 02:48:56 -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
Max Schmitt
010778f6c5
feat(client-certificates): allow passing certificates from memory (#32210) 2024-08-19 09:24:32 +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
Kuba Janik
308381eeae
feat: allow URLSearchParams and string as params in APIRequestContext (#32120) 2024-08-12 14:22:03 -07:00
Pavel Feldman
3c87f217df
feat(events): allow waiting for removeAllListeners (#31941) 2024-08-05 21:14:35 -07:00
Pavel Feldman
58b0c76f20
chore: use soft event emitter (#31868) 2024-07-29 17:11:31 -07: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
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 a3e31fd2c4146e67a63ff4d3dc4f655533adcbde.
2024-07-23 10:29:37 -07:00
Max Schmitt
e11c0c0cbb
fix(connect): annotate internal api calls correctly (#31715) 2024-07-17 09:00:47 +02:00
Dmitry Gozman
6ee8f1de2d
Revert "chore: move artifacts recording to TestLifecycleInstrumentation (#30935)" (#31686)
This reverts commit ba5b46044469b783b64c94b9986460c38e020c77.
2024-07-15 07:01:51 -07:00
Dmitry Gozman
074cc7d467
Revert "feat(trace): record trace upon browser closure (#31563)" (#31677)
This reverts commit bc27ca225e69995f238192426df4ccb3f940a50d. Considered
too risky.
2024-07-15 01:08:51 -07: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
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
Max Schmitt
9dc7e40084
chore(electron): don't swallow close errors (#31509) 2024-07-01 22:00:03 +02: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
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
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
Pavel Feldman
2a7f17d820
chore: fix simulated clock bots (#31301) 2024-06-17 09:17:38 -07:00
Max Schmitt
dcf4e4e054
feat: allow folder uploads (#31165) 2024-06-12 22:20:18 +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
Pavel Feldman
c516ba0ec8
api(clock): rework api based on the review (#31137) 2024-06-04 06:51:35 -07:00
Pavel Feldman
8bfd0eb6e4
chore: introduce clock test mode (#31110) 2024-05-31 14:44:26 -07:00
Pavel Feldman
76e977a934
chore: add clock.next() (#31097) 2024-05-31 08:09:24 -07:00
Pavel Feldman
170c457a61
feat(timers): a stab at fake timers (#31075) 2024-05-30 09:38:27 -07: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
Pavel Feldman
6675652269
chore: split client-side instrumentation into sync and async (#31054) 2024-05-28 14:29:57 -07:00