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
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
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
Stevan Freeborn
52b803ecf5
feat(trace mode): add on-first-failure mode for traces ( #29647 )
...
Implements the changes suggested in #29531
2024-02-28 14:39:18 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -08: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
8fca4c86aa
test: make Android/WebView2 bots green ( #29477 )
2024-02-13 17:55:58 +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
b15a7076dc
test: unskip 'msedge' tests ( #29456 )
...
This removes all msedge skips again and makes msedge equal with chromium
skip wise.
Fixes https://github.com/microsoft/playwright/issues/26711
2024-02-12 17:37:45 +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
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
Dmitry Gozman
f3fac6f4e9
feat: page.handleLocator that closes any interstitial pages/dialogs ( #29029 )
2024-01-19 12:35:00 -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
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
Yury Semikhatsky
1617779f3e
test: page.reload should return 304 status ( #28881 )
...
Test for https://github.com/microsoft/playwright/issues/28779
2024-01-05 13:49:45 -08:00
Yury Semikhatsky
b00fbdb388
test: update expectations for WebKit Windows ( #28774 )
...
Reference https://github.com/microsoft/playwright/issues/28726
2023-12-22 16:02:23 -08:00
Yury Semikhatsky
32ecb07f64
test: route.continue headers are propagated to redirected requests ( #28771 )
...
Failing test for https://github.com/microsoft/playwright/issues/28758
2023-12-22 14:31:41 -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
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
Max Schmitt
576b3406e3
test: tree gardening ( #28676 )
...
Looks like massaging the signals test in
8ab0660d1b (diff-f9d332d27364a8a58e52f5d7ffc180df7581589565b62186757b21839aabf889)
didn't make it fully green.
As of today it fails on Darwin 13 which is version 22, so we should not
run into the first if.
2023-12-15 17:39:31 -08:00
Yury Semikhatsky
a1a4133152
chore: extract unroute behavior tests into a separate file ( #28674 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 15:37:57 -08:00
Yury Semikhatsky
d1e13557fb
test: fulfill/continue/fallback do not throw if page has been closed ( #28659 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 09:45:13 -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
f28ceffa37
feat: page.unrouteAll and context.unrouteAll ( #28635 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-14 13:48:17 -08:00
Pavel Feldman
76ace0fc09
chore: workaround webkit screenshot animation issue ( #28582 )
2023-12-11 18:20:24 -08:00
Dmitry Gozman
532e4c5802
test: add a test for issue 28520 ( #28552 )
...
References #28520 .
2023-12-08 10:55:26 -08:00
Andrey Lushnikov
8d3a931377
feat(firefox): roll FF Stable & Beta to 1433 ( #28543 )
...
Fixes #28495
2023-12-08 10:48:44 -08:00
Yury Semikhatsky
119afdf788
fix: throw if fuliflled with unsupported status code ( #28539 )
...
If request gets cancelled by the page before we fulfill it, we receive
`loadingFailed` event. In that case we'll ignore interception error if
any, otherwise the error will be propagated to the caller.
Fixes https://github.com/microsoft/playwright/issues/28490
2023-12-07 16:57:39 -08:00
Max Schmitt
8ab0660d1b
test: skip webgl tests on macOS-arm64 ( #28522 )
...
Fixes https://github.com/microsoft/playwright/issues/28216 .
Drive-by: adjust signals expectation.
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-12-06 13:52:49 -08:00
Yury Semikhatsky
8f056fbbce
chore: do not wait for route on close if route.continue() threw an error ( #28487 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-05 10:26:17 -08:00
Yury Semikhatsky
d437e26861
test: sync XHR interception ( #28462 )
...
The test now ensures that the request is actually continued.
Reference https://github.com/microsoft/playwright/issues/28461
2023-12-05 09:58:15 -08:00
Yury Semikhatsky
74e51d334e
feat: wait for active route handlers on page/context close ( #28414 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 16:19:05 -08:00
Yury Semikhatsky
ab68d7b9de
fix(webkit): delay request event until requestIntercepted is received ( #28484 )
...
Previously we were wrongly firing `route` event for the request which
are not in fact intercepted (e.g. requests from service worker).
Related https://github.com/microsoft/playwright/pull/28414
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 13:02:00 -08:00
Pavel Feldman
facec88c99
fix: speed up caret hiding while screenshotting ( #28460 )
...
Fixes #28375
2023-12-03 21:06:40 -08:00
Yury Semikhatsky
b166189247
fix: disable memory cache when intercepting in webkit ( #28458 )
2023-12-01 14:49:27 -08:00
Pavel Feldman
0a7a10d0f6
feat(vrt): allow providing screenshot style ( #28229 )
2023-11-30 17:42:45 -08:00
Pavel Feldman
92a0d24069
fix: restore timeout error name ( #28408 )
...
Fixes https://github.com/microsoft/playwright/issues/28404
2023-11-29 17:28:17 -08:00
Yury Semikhatsky
15a8ba5158
fix(route): correctly remove expired handlers ( #28385 )
...
* Check if handler is still in the route list before calling it
* Check if the handler is still in the list before removing it after
`times` expiration
2023-11-28 17:52:16 -08:00
Pavel Feldman
3f55587dd8
feat(vrt): bring back wait for font loading ( #28226 )
2023-11-17 17:16:32 -08:00
Mattias Wallander
c6d154f9c4
feat: Add support for dispatching device motion events ( #28067 )
...
References #27887 .
2023-11-13 08:58:46 -08:00
Max Schmitt
1aee48f2d0
test: COEP/COOP/CORP isolated iframe should work ( #28083 )
...
https://github.com/microsoft/playwright/issues/28082
2023-11-10 16:44:02 +01:00
Max Schmitt
2954e1263e
test: skip dispatchEvent(deviceOrientation) tests on Android ( #28077 )
...
Its [only available to
SecureContexts](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/device_orientation/device_orientation_event.idl;l=34?q=device_orientation_event.idl&ss=chromium%2Fchromium%2Fsrc )
which our loopback in Android is not treated as a SecureContext.
We could either move it into the library tests, but then loose page test
coverage or just skip it. I decided for the latter.
Relates https://github.com/microsoft/playwright/pull/27960 .
2023-11-10 16:28:45 +01:00
Max Schmitt
5f527fedb1
fix: JSHandle preview text for non-ascii attributes/children ( #28038 )
...
This surfaced in .NET that the string in the driver got incorrectly cut,
then transferred to .NET as an invalid UTF8 character
[`\ud835`](https://charbase.com/d835-unicode-invalid-character ) which
.NET wasn't able to parse and threw an error.
Drive-by: Move similar function from
`packages/playwright-core/src/client/page.ts` into isomorphic
`stringUtils`.
https://github.com/microsoft/playwright-dotnet/issues/2748
2023-11-09 00:11:01 +01:00
Mattias Wallander
5a9fa69c6d
feat: Add support for dispatching device orientation events ( #27960 )
...
Fixes #27887
2023-11-08 09:50:25 -08:00
Max Schmitt
07d5093583
test: test gardening ( #28001 )
2023-11-07 08:47:15 -08:00
Pavel Feldman
817a130cdc
chore: dispose-based callback termination ( #27911 )
2023-11-01 16:36:39 -07:00
Max Schmitt
cff9ac04e4
fix: cross-origin Page.goto referer ( #27859 )
...
Fixes https://github.com/microsoft/playwright/issues/27765
2023-10-31 11:10:15 +01:00
Dmitry Gozman
100d3b2601
fix(css parser): support nested builtin functions ( #27841 )
...
Things like `:nth-child(1 of :has(span:nth-last-child(3)))`.
Fixes #27743 .
2023-10-27 13:16:12 -07:00
Yury Semikhatsky
0ade5aa9ad
fix: ignoreCase in toHaveAttribute ( #27809 )
...
Fixes #27795
2023-10-25 19:22:13 -07:00
Yury Semikhatsky
5e51a734e7
fix: interrupt request.allHeaders()/response() on page.close() ( #27695 )
...
Reference https://github.com/microsoft/playwright/issues/27227
2023-10-23 12:45:35 -07:00
Pavel Feldman
5752a28f87
chore: make tests strict (1) ( #27731 )
2023-10-23 09:31:30 -07:00
Max Schmitt
f48861ddee
fix(inspector): highlight xpath/css locators without engine prefix ( #27742 )
...
Motivation: As of today when a user inspects a Locator which is a xpath,
it won't work if the user has not prefixed it with `xpath=` because we
internally compare the given with the generated locator.
Works: `locator('xpath=//div[contains(@class, "foo")]')`
Does not work: `locator('//div[contains(@class, "foo")]')`
Relates
https://github.com/microsoft/playwright/issues/27707#issue-1952360264
Fixes
https://github.com/microsoft/playwright-dotnet/issues/2718#issuecomment-1771073816
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-23 18:23:28 +02:00
Max Schmitt
b1325c9208
fix(keyboard): event order for Escape key ( #27711 )
...
This test was failing in Chromium before this change.
Caused by
40d5e3a3c9/packages/playwright-core/src/server/chromium/crInput.ts (L54-L55)
which messes up the order of the protocol calls.
Fixes https://github.com/microsoft/playwright/issues/27709 .
2023-10-19 18:18:29 +02:00
Yury Semikhatsky
bd58c0d5d2
fix: preserve lastModified timestamp in setInputFiles ( #27671 )
...
Fixes #27452
2023-10-18 14:05:09 -07:00
Pavel Feldman
f212fd1a83
chore: unify target closed errors ( #27540 )
2023-10-12 11:05:34 -07:00
Dmitry Gozman
a5be8ce86a
test: unflake some more tests ( #27546 )
2023-10-11 10:34:11 -07:00
Pavel Feldman
b807c974c3
chore: allow passing path to property in toHaveJSProperty ( #27495 )
...
Fixes https://github.com/microsoft/playwright/issues/27487
2023-10-06 15:47:07 -07:00
Dmitry Gozman
0717b386f9
test: disable some failing tests ( #27463 )
2023-10-05 15:00:08 -07:00
Jim Hays
dcc8dcca73
Fix various typos ( Fixes #27396 ) ( #27391 )
...
Fixes https://github.com/microsoft/playwright/issues/27396
2023-10-04 19:56:42 -07:00
Yury Semikhatsky
0eb7a09967
test: screenshot of css box-shadow ( #27438 )
...
Reference #21620
2023-10-04 17:26:01 -07:00
Yury Semikhatsky
ac48a47d33
feat: toHaveAttribute without value ( #27418 )
...
This time not doing it in other languages due to unjustified generator
complexity.
Fixes #27341
2023-10-04 09:27:28 -07:00
Pavel Feldman
47b0255b89
chore: instrument nested workers ( #27400 )
...
Ref: https://github.com/microsoft/playwright/issues/27376
2023-10-03 13:08:15 -07:00
Pavel Feldman
ae08d03d75
fix(role): compute <output> accessible name from labels ( #27415 )
...
Fixes: https://github.com/microsoft/playwright/issues/27403
2023-10-03 13:01:13 -07:00
Dmitry Gozman
2aca7fdcc2
fix(chromium): scroll into view elements inside iframes before waiting ( #27394 )
...
This forces iframes to be visible, so that `rAF`s always run.
Fixes #27196 .
2023-10-02 17:21:06 -07:00
Yury Semikhatsky
ac9d1ec421
test: scroll into view element in cross-origin iframe outside viewport ( #27369 )
...
Reference: #27196
2023-09-29 17:23:51 -07:00
Dmitry Gozman
c8143748e6
chore: remove Page._didDisconnect ( #27317 )
...
Instead of having `didClose` based on page creation/destruction and
`didDisconnect` based on session lifetime, we make session lifetime
being managed by the `CRPage`/`FFPage`/`WKPage` instead.
2023-09-27 14:09:56 -07:00
Pavel Feldman
20f20e9fba
chore: use stock image matcher in library tests ( #27319 )
2023-09-26 18:46:21 -07:00
Pavel Feldman
d6ec1ae399
chore: document chaining expect.extend ( #27262 )
...
Fixes https://github.com/microsoft/playwright/issues/15951
2023-09-22 13:56:59 -07:00
Pavel Feldman
a6a0257c88
feat(expect): allow chaining expects ( #27248 )
2023-09-22 12:12:17 -07:00
Pavel Feldman
51a774f8a3
chore: include log in matcherResult ( #27164 )
2023-09-21 16:23:46 -07:00
Dmitry Gozman
1857a3fb56
fix(evaluate): make sure to try/catch toJSON access ( #27238 )
2023-09-21 13:31:28 -07:00
Dmitry Gozman
b9509b3ec6
Revert "feat(evaluate): serialize map and set ( #26730 )" ( #27219 )
...
This reverts commit ee203b782c .
References #24040 .
Fixes #27181 .
2023-09-20 18:31:09 -07:00
Dmitry Gozman
bb4268d165
fix(locators): do not escape regular expressions with u or v flag ( #27188 )
...
Fixes #27163 .
2023-09-19 13:16:50 -07:00
Playwright Service
f064fb6840
feat(firefox-beta): roll to r1425 ( #27128 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-09-19 00:31:58 -07:00
Yury Semikhatsky
8964587d18
test: update webkit test expectations after last roll ( #27155 )
...
https://github.com/microsoft/playwright/issues/26992 was fixed by
https://github.com/microsoft/playwright-browsers/pull/635 .
Reference https://github.com/microsoft/playwright-browsers/issues/637
Fixes https://github.com/microsoft/playwright/issues/26992
2023-09-18 09:57:18 -07:00
Pavel Feldman
955be6bd61
chore: populate matcherResult for toHaveScreenshot ( #27136 )
...
Ref #26929
2023-09-18 09:12:23 -07:00
Pavel Feldman
9fe037fb63
chore: populate matcherResult in web assertions ( #27133 )
...
Ref https://github.com/microsoft/playwright/issues/26929
2023-09-16 14:24:10 -07:00
Yury Semikhatsky
1424185c23
test: init script runs onces in iframes ( #27057 )
...
Failing test for #26992 .
2023-09-13 09:46:59 -07:00
Dmitry Gozman
d9eabda09d
fix(locators): escape quotes in regular expressions ( #27002 )
...
Fixes #26974 .
2023-09-11 15:49:04 -07:00
Yury Semikhatsky
f045e13e00
test: contextmenu on right click ( #26885 )
...
Reference https://github.com/microsoft/playwright/issues/26515
2023-09-05 16:12:17 -07:00
Sander
ee203b782c
feat(evaluate): serialize map and set ( #26730 )
...
closes: https://github.com/microsoft/playwright/issues/24040
2023-08-28 14:32:41 -07:00
Max Schmitt
5c72cbdb23
feat(webkit): roll WebKit to r1898 ( #26738 )
2023-08-28 19:44:52 +02:00
Dmitry Gozman
0ecc13038f
fix(textContent): make it work for ShadowRoot ( #26690 )
...
It used to work, but regressed in v1.36.
Fixes #26636 .
2023-08-24 12:59:42 -07:00
Dmitry Gozman
44d3770559
fix(selector generator): escape all tag names in css selectors ( #26659 )
...
Fixes #26657 .
2023-08-23 12:32:08 -07:00
Max Schmitt
820611e3cc
test: fix electron test expectations ( #26643 )
...
This regressed in https://github.com/microsoft/playwright/pull/26423
since the certificate got changed.
2023-08-23 17:59:07 +02:00
Dmitry Gozman
c4e79eb6ed
feat: replace Locator.type with Locator.pressSequentially ( #26624 )
...
Also deprecate `Locator.type`, `Frame.type`, `Page.type` and
`ElementHandle.type`, but not `Keyboard.type`.
References #24614 .
2023-08-22 15:21:00 -07:00
Dmitry Gozman
5646875e5c
fix: make Request.frame throw when page is not ready yet ( #26616 )
...
Suggest to check `request.isNavigationRequest()` beforehand.
Fixes #24603 .
2023-08-22 14:06:21 -07:00
Dmitry Gozman
72bdd43e69
fix(route): make sure Route.fetch works for popup main request ( #26590 )
...
References #24603 .
2023-08-21 16:48:51 -07:00
Max Schmitt
2edecd4244
test: add libsoup3 related tests ( #26572 )
...
https://github.com/microsoft/playwright/issues/22569
https://github.com/microsoft/playwright/issues/23259
2023-08-21 22:12:12 +02:00
Yury Semikhatsky
14a57a788b
test: screenshot of css transformation ( #26533 )
...
Failing tests for #26447 .
2023-08-18 14:30:43 -07:00
Playwright Service
04b71bf660
feat(chromium-tip-of-tree): roll to r1142 ( #26441 )
2023-08-12 20:00:16 +02:00
Pavel Feldman
744eb6823f
chore: fix s2 mode ( #24525 )
2023-07-31 11:24:04 -07:00
Dmitry Gozman
c33a32dc9e
test: unflake two tests ( #24416 )
2023-07-26 06:50:38 -07:00
Pavel Feldman
b39fd7283f
chore: skip tests that fail in cross-machine service mode ( #24412 )
2023-07-25 16:47:04 -07:00
Pavel Feldman
33d62d9a97
chore: do not use relative xpath when querying from document ( #24405 )
...
Fixes https://github.com/microsoft/playwright/issues/24399
2023-07-25 12:55:35 -07:00
Andrey Lushnikov
fee08a6d3b
fix: properly handle character sets in globs ( #24371 )
...
https://github.com/microsoft/playwright/issues/24316
2023-07-24 09:49:05 -07:00
Dmitry Gozman
97d55e275d
fix(locator): locator(locator) method uses internal:chain instead of >> ( #24235 )
...
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:
```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```
One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.
To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.
Fixes #23724 .
2023-07-14 12:21:45 -07:00
Pavel Feldman
5d799606c3
chore: resolve top-level vs dependency after cli filtering ( #24216 )
2023-07-13 17:54:08 -07:00
Andrey Lushnikov
615f5afb2b
feat(firefox): roll Firefox to 1420 ( #24205 )
...
Fixes https://github.com/microsoft/playwright/issues/22753
2023-07-13 03:54:47 -07:00