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
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
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
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
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
Max Schmitt
a93ad3dade
fix(fetch): allow UTF-8 in Location header ( #30904 )
2024-05-21 09:15:33 +02: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
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
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
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
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
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
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
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