Commit graph

4738 commits

Author SHA1 Message Date
Mathias Leppich 4f758a1e9e Merge branch 'main' into sharding-algorithm 2024-09-10 08:43:12 +02:00
Yury Semikhatsky c8a72d63ad
chore: run bidi firefox tests on ci (#32527) 2024-09-09 17:22:19 -07:00
Pavel Feldman 6d5889a52c
chore: revert the matcherResult in API (#32524) 2024-09-09 16:44:32 -07:00
Dmitry Gozman ae118674b8
fix(test runner): allow directory imports with path mapping (#32491)
We now hopefully align with `moduleResolution: bundler` tsconfig option,
allowing directory imports in every scenario, and allowing proper module
imports when not going through the type mapping.

This regressed in #32078. Fixes #32480, fixes #31811.
2024-09-09 14:01:20 -07:00
Dmitry Gozman 6bb005db85
fix(test runner): improve error message when not able to parse tsconfig (#32526) 2024-09-09 14:01:02 -07:00
Mathias Leppich 5e3fa62c13 Merge branch 'main' into sharding-algorithm 2024-09-09 22:36:10 +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
Pavel Feldman 9a313eecc9
chore: roll expect and move it to third party (#32458) 2024-09-09 13:12:20 -07: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
Playwright Service 363e79ee87
feat(webkit): roll to r2071 (#32521)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-09 20:07:37 +02:00
Yury Semikhatsky d030965688
chore: addInitScript and auth (unsuccessful) in bidi (#32500) 2024-09-09 10:13:26 -07:00
Mathias Leppich b0e57454f2 use lastRunFile from config when defined 2024-09-09 18:32:03 +02:00
Mathias Leppich 89458dbc67 fix .last-run.json location 2024-09-09 17:08:41 +02:00
Mathias Leppich 4b3d75467a export type ShardingMode 2024-09-09 16:20:44 +02:00
Mathias Leppich 0503672cfb validate --sharding-mode CLI parameter 2024-09-09 15:48:07 +02:00
Mathias Leppich 1eb11ffc0b always use lastrun reporter and keep em internal 2024-09-09 15:31:27 +02:00
Mathias Leppich 8d485f58b9 feedback 2024-09-09 15:29:43 +02:00
Simon Knott 31e269ad06
feat(trace-viewer): show screenshot pointer (#32514)
Follow-up to https://github.com/microsoft/playwright/pull/32248. Adds a
glowing red circle that shows the click position. I made it glowing to
show that its position is inaccurate.
<img width="964" alt="Screenshot 2024-09-09 at 11 33 45"
src="https://github.com/user-attachments/assets/1903071d-6dc0-46c7-9951-844e49a51f35">
2024-09-09 14:00:22 +02:00
Mathias Leppich 7ea1506799 Merge branch 'main' into sharding-algorithm 2024-09-09 12:29:15 +02: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
Dmitry Gozman 1402dee9e6
Revert "fix(test runner): align with typescript behaviour for resolving index.js and package.json through path mapping (#32078)" (#32492)
This reverts commit effb1ae234.

This broke path mapping into directories in ESM mode. References #32480.
2024-09-06 12:08:10 -07:00
Simon Knott 3fe1263643
feat(trace viewer): show Screenshot instead of Snapshot (#32248)
Closes https://github.com/microsoft/playwright/issues/23964.

Trace snapshots are a best-effort snapshots of the browser DOM, but we
can't guarantee them to be exactly what the browser showed. One example
of this is `canvas` elements, where you just can't see their contents.
That makes snapshots useful, but not perfect.

For those cases where the snapshot doesn't show everything, this PR
introduces a new setting to show a screenshot instead. You won't be able
to scroll or inspect the DOM or select a locator anymore. But if the
snapshot was missing something, or displaying something wrong, you can
now check the screenshot instead.
2024-09-06 16:24:33 +02:00
Simon Knott 0e3f4736cc
fix(test runner): always show all projects in selection (#32450)
Follow-up to
https://github.com/microsoft/playwright/pull/32156#discussion_r1741628770,
alternative solution to
https://github.com/microsoft/playwright/pull/32425.

Ensures we always show all projects in the watch mode project selector
by performing the initial `listTests` without any filters, and using its
result for the project selector.
2024-09-06 11:35:20 +02:00
Pavel Feldman a52eb0c9a0
chore: expose matcherResult on TestError (#32455) 2024-09-05 21:36:51 -07:00
Pavel Feldman 16cef9901d
chrome: cache tsconfig for folder (#32477)
Fixes https://github.com/microsoft/playwright/issues/32459
2024-09-05 21:36:13 -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
Dmitry Gozman 1ba3db6864
chore: implement clear-cache through plugins (#32471)
Also switches it to task runner.
2024-09-05 13:50:16 -07:00
Dmitry Gozman d4c77ce260
chore: make find-related-test-files work through plugins (#32465)
Also switches it to the task runner.
2024-09-05 06:52:11 -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
Simon Knott 0f636116e2
chore: mark 1.48.0-next (#32466) 2024-09-05 12:57:16 +02:00
Dmitry Gozman 91012833c6
chore: move 'dev-server' extensibility point to plugin (#32448)
Instead of plumbing it through a custom unspecified config field, make
it a part of plugin interface.

Additionally, use task runner for starting/stopping dev server.
2024-09-05 02:22:27 -07:00
Playwright Service 255143e201
feat(webkit): roll to r2070 (#32451)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-04 20:41:06 +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
Kuba Janik ee91bdc585
feat(ui-mode): display list of query params in request tab (#32443) 2024-09-04 07:54:44 -07:00
Dmitry Gozman 60631409d6
chore: make dev server only use public config (#32441)
In preparation to make it a part of a plugin.
2024-09-04 01:29:55 -07:00
Dmitry Gozman d7393f998e
chore: simplify settings management in UI mode (#32440) 2024-09-04 01:05:07 -07:00
Simon Knott b3d767fa14
fix(trace viewer): fix memory leak (#32379)
In the `visit` method, we currently cache the rendered HTML for every
walked node. This re-use works well for traces that consist mostly of
references to earlier snapshots.
But for traces that don't share much, this is a large memory overhead
and leads to the memory crash documented in
https://github.com/microsoft/playwright/issues/32336. For the algocracks
amongst you, the current memory usage for an html tree $h$ is
$\mathcal{O}(|h| * \text{height}(h))$.

This PR removes that cache from the nodes and replaces it with a
snapshot-level cache, fixing the memory crash.
Traces *without* reference should not see a performance impact from
this.
Traces *with* references will have slower initial rendering, but
re-rendering maintains speed because of the snapshot-level cache.

Closes https://github.com/microsoft/playwright/issues/32336

---------

Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-09-04 09:57:15 +02: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
Dmitry Gozman cfae7f755c
chore(test runner): always go through internal reporter (#32426)
This way we guarantee the API contract and do not miss errors because we
forgot to call `onBegin()`.
2024-09-03 22:38:02 -07:00
Yury Semikhatsky b75483bbb4
Revert "docs: deprecate: Request.serviceWorker() (#32136)" (#32432)
This reverts commit b7ed4d7b9e.
2024-09-03 10:18:20 -07:00
Yury Semikhatsky 565aed6c39
Revert "chore: enforce tags format via typescript types (#32384)" (#32431)
After API review we decided to revert it:
* VSCode extension and UI mode users already get the (runtime) error if
the tag is not prefixed
* The typescript error message is not very nice
* The type change would break those clients that generate tests with
tags passed as string

This reverts commit 90e7b9ebac.
2024-09-03 10:07:08 -07:00
Playwright Service 9f466a1ead
feat(chromium-tip-of-tree): roll to r1256 (#32423)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-03 17:12:54 +02:00
Simon Knott 201bad75d3
chore(test runner): rebase watch mode onto TestServerConnection (#32156)
Closes https://github.com/microsoft/playwright/issues/32076.

This PR rewrites `watchMode.ts` to use `TestServer` under the hood. It's
essentially a complete rewrite, so don't pay too much attention on the
old implementation. Note that there's no changes to tests, so all
behaviour we have specced out there still works.

To make this work without a superfluous WebSocket connection, I had to
refactor `TestServerConnection` a little. Originally, I pulled this into
a [separate PR](https://github.com/microsoft/playwright/pull/32132), but
then realised how small the refactoring is. So it's in this PR now. Let
me know if you'd like to land it separately.
2024-09-03 15:15:44 +02:00
dependabot[bot] 53bf9534ec
chore(deps): bump micromatch from 4.0.5 to 4.0.8 in /packages/playwright/bundles/expect (#32399) 2024-09-03 14:52:52 +02:00
Playwright Service 847d29dd86
feat(webkit): roll to r2069 (#32422)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-03 13:28:15 +02:00