Граф коммитов

957 Коммитов

Автор SHA1 Сообщение Дата
Andrey Lushnikov 4781b3c3a8
fix(firefox): disable cache when request interception is enabled (#30113)
Fixes #30000
2024-03-28 10:25:37 -07:00
Andrey Lushnikov 397244c026
test: add a test for disabled cache with context-wide request interception (#30072)
References #30000
2024-03-25 22:03:24 -07:00
Max Schmitt e69355a6e2
test: skip 'should fulfill with gzip and readback' on Electron and Android (#30103) 2024-03-25 19:35:44 +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
Dmitry Gozman c8e8d8f8bb
test: fulfilling with gzip should allow to read the body (#30065)
Fixes #29261.
2024-03-22 13:32:28 -07:00
Yury Semikhatsky 69f2ae1e4d
test: intercepted requests bypass disk cache (#30011)
Reference https://github.com/microsoft/playwright/issues/30000
2024-03-20 15:43:29 -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
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 93dc89fa1f
test: add file upload test case with popup handling (#29937)
https://github.com/microsoft/playwright/issues/29923

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
2024-03-14 19:26:42 +01: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 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
Pavel Feldman 067faa50d7
chore: migrate Promise.race to scopes to prevent leaks (#24160) 2023-07-11 10:38:08 -07:00
Pavel Feldman 67ad2c2bf4
feat(ui): render all console / network messages in trace (#24115) 2023-07-10 12:56:56 -07:00
Andrey Lushnikov 11dce8d127
feat(firefox): roll Firefox to 1417 (#24069)
Fixes https://github.com/microsoft/playwright/issues/23280
2023-07-06 12:18:02 -07:00
Andrey Lushnikov ea3a29eacd
feat(firefox): roll Firefox to 1415 (#24046)
Fixes https://github.com/microsoft/playwright/issues/23618
2023-07-05 11:58:38 -07:00
Dmitry Gozman 92c738b14a
test: unflake some tests (#23984) 2023-06-30 13:08:18 -07:00
Dmitry Gozman 1d0b48f18b
fix(route): handle escapes in the glob pattern (#23932)
Fixes #23303.
2023-06-28 16:33:04 -07:00
Dmitry Gozman b0b429fed0
feat: support bigint in evaluates (#23930)
Fixes #22719.
2023-06-28 08:55:45 -07:00
Ben Hofferber 752176fd23
feat(goto): better navigation error message (#23609)
While this log message is only a sanity check, it is still beneficial to
have a message that can better inform what is happening when this
occurs.
2023-06-21 11:10:35 -07:00
Max Schmitt 5927b5e92b
test: unflake 'should return url with basic auth info' test (#23798)
On android there is no localhost. We should never use just localhost.
2023-06-20 11:06:30 +02:00
Dmitry Gozman fe5c9dad4d
fix(locators): allow identical frameLocators inside and/or/has (#23740)
So, the following will work:

```
page.frameLocator('iframe').locator('span').or(page.frameLoactor('iframe').locator('div'))
```

The following will not work, because frame locators are not exactly the
same:

```
page.frameLocator('#iframe1').locator('span').or(page.frameLoactor('#iframe2').locator('div'))
```

Also improve the error message to be more readable and include the
locator.

Fixes #23697.
2023-06-19 15:22:26 -07:00
Andrey Lushnikov e171194c86
feat(firefox): roll Firefox to 1414 (#23768)
- roll Firefox stable to 1414
- roll Firefox beta to 1414

Fixes #23138
2023-06-17 12:10:20 -07:00
Dmitry Gozman 09b1e3ffa9
fix(chromium): response.body() for worker requests should work (#23764)
Previously, worker requests used page's session to call
`Network.getResponseBody`.

Fixes #23750.
2023-06-16 20:44:32 -07:00
Max Schmitt 421872f130
test: rewrite 'should fulfill json' test (#23735) 2023-06-15 18:46:19 +02:00
Dmitry Gozman c80a23842b
fix(css): relative-to-scope selectors work (#23665)
Chained selectors where the second part starts with a scope did not work
before:

```ts
page.locator('div').locator(':scope + span')
page.locator('div >> +span')
```
2023-06-13 10:27:25 -07:00
Dmitry Gozman dd417d83d9
fix(locators): escape `>>` inside a regular expression (#23631)
To avoid selector being parsed as a chain.

Fixes #23540.
2023-06-12 10:34:37 -07:00
Dmitry Gozman 5cfd6d9fe9
fix(cr network): emit sw-handled requests when routing is enabled (#23589)
Previously, such requests were skipped because they never receive
`Fetch.requestPaused` as there was no real network.

Also cleanup some redundant tests and move them from chromium-only file.

Fixes #23424.
2023-06-08 10:33:28 -07:00
Max Schmitt 3c2a8fa306
chore: enable no-floating-promises ESLint rule for tests (#23376)
https://github.com/microsoft/playwright/issues/23339
2023-06-02 21:59:12 +02:00
Dmitry Gozman 1d5add6d99
test: fix `should not fulfill with redirect status` (#23459) 2023-06-01 23:11:03 -07:00
Dmitry Gozman 6bb5c0a549
fix: make `evaluate` not wait for scheduled navigations (#23402)
Fixes #23141.
2023-05-31 14:08:44 -07:00
Dmitry Gozman 2505d48b32
test: skip and unflake tests (#23399)
- `should respect tracesDir and name` does not work with service mode;
- `isVisible during navigation should not throw` had a short timeout.
2023-05-31 10:52:29 -07:00
João Neves 7e6e5f0706
feat: Support React forwards refs and memo (#23262)
This PR fixes the react selector behavior to support components that are
wrapped by the memo or forwardRef React builtin functions.

Previously these components couldn't be selected. This PR fixes that
behavior, enabling selecting those components.

Current behavior:
```
const Foo = memo(() => <div id="foo_component" />);
Foo.displayName = "Foo";
...
playwright.$("_react=Foo") -> undefined
```

Fixed behavior:
```
const Foo = memo(() => <div id="foo_component" />);
Foo.displayName = "Foo";
...
playwright.$("_react=Foo") -> <div id ="foo_component" />
```
2023-05-30 17:14:47 -07:00
Max Schmitt 2710fd8d6f
fix: should be able to upload multiple large files (#23360)
Fixes https://github.com/microsoft/playwright/issues/23258
2023-05-30 18:41:09 +02:00
Dmitry Gozman 00b34dddb2
chore: move TestServer under test/ (#23287) 2023-05-25 15:11:16 -07:00
Yury Semikhatsky e0600f4799
test: enable passing request type test (#23273)
Fixes #22812
2023-05-25 09:43:41 -07:00
Jasiel Guillén 700062c836
feat(screenshot): Add customizable color option for masked elements (#23185)
I added a new option to the screenshot method to customize the color of
the box when we want to mask some elements for the screenshot.

The default color is pink `#FF00FF`, but with this new option you can
specify the color you like the most, like a nice green `#00FF00`:

```js
await page.screenshot({
  mask: [page.locator('div').nth(5)],
  maskColor: "#00FF00",
})
```


![ss](https://github.com/microsoft/playwright/assets/23271049/05f754de-0ba6-47a3-ae3e-769720d3da3b)

---------

Signed-off-by: Jasiel Guillén <darkensses@gmail.com>
2023-05-22 18:44:44 -07:00
Yury Semikhatsky 33f3a6002d
test: xhr request type for main resource url (#23174) 2023-05-19 17:59:17 -07:00
Dmitry Gozman be7984bdc9
fix(unroute): do not compare regexp instances (#23101)
References #23092.
2023-05-17 16:27:32 -07:00
Playwright Service aa6eb41466
feat(webkit): roll to r1848 (#23032)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-16 12:13:58 +02:00
Max Schmitt 17ab777db5
chore: set min viewport for WK on Win to 250x240 (#22969)
Follow-up for https://github.com/microsoft/playwright/pull/22956.
2023-05-14 16:59:15 +02:00
Playwright Service ba0c4951c3
feat(firefox-beta): roll to r1408 (#22978)
Fixes https://github.com/microsoft/playwright/issues/21760

---------

Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-05-12 09:27:08 -07:00
Dmitry Gozman f2ad5bbfbb
fix(isVisible): return `false` during navigation (#22943)
Instead of throwing "Execution context was destroyed" error.

Drive-by: improve internal error messages for `ScopedRace` errors.

Fixes #22925.
2023-05-10 16:56:59 -07:00
Dmitry Gozman 80f46892cd
fix(getByLabel): ignore empty aria-label (#22935)
Accessible name computation ignores empty aria-label, and so should
getByLabel.

Fixes #22915.
2023-05-10 10:38:46 -07:00
Alexander Sorokin cbf4f39957
fix: React selectors should work after unmount (#22750)
Fixes #22729
2023-05-10 06:18:01 -07:00
Pavel Feldman 2ead6e530f
docs: remove the networkidle mentions (#22906)
Fixes https://github.com/microsoft/playwright/issues/22897
2023-05-09 09:34:57 -07:00
Pavel Feldman 5fb426e7db
fix(webkit): do not update console counter on unhandled rejections (#22890)
Fixes https://github.com/microsoft/playwright/issues/22886
2023-05-08 18:50:40 -07:00
Dmitry Gozman 160888df99
feat(locators): reland `locator.and(locator)` (#22850)
Removed in #22223.
Fixes #22585.
2023-05-05 11:14:01 -07:00
Dmitry Gozman 42328478ea
feat: make console/dialog events based on subscription (#22835)
This way we do not send events from the server unless the client is
interested.

Fixes #22621.
2023-05-05 11:12:33 -07:00
Andrey Lushnikov 99d4887053
feat(firefox): roll to r1403 (#22540)
Fixes https://github.com/microsoft/playwright/issues/22082
Fixes https://github.com/microsoft/playwright/issues/20993
2023-04-21 21:45:41 -07:00
Max Schmitt f6aa9f49ce
chore: make evaluate work with busted Array.prototype.map/push (#22528)
Fixes https://github.com/microsoft/playwright/issues/22460

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-04-21 19:52:13 +02:00
☃ Elliot Shepherd 106fa45f50
feat(route): accept timeout to fetch (#22475)
Fixes: #22474
2023-04-20 08:41:33 -07:00
Pavel Feldman d45efe881f
chore: don't leak from waitFor (#22465)
Fixes https://github.com/microsoft/playwright/issues/22458
2023-04-18 11:11:46 -07:00
Andrey Lushnikov b7d06d4d24
test: worker network attribution is still not fixed in Firefox 113 (#22390)
We'll need to wait until it is fixed upstream.

References https://github.com/microsoft/playwright/issues/21760
2023-04-13 13:36:17 -07:00
Playwright Service a5749c033d
feat(firefox): roll to r1396 (#22327)
Fixes https://github.com/microsoft/playwright/issues/21995
2023-04-11 08:49:44 -07:00
Andrey Lushnikov 8b8385b6cb
test: remove faulty test (#22321)
Turns out we cannot guarantee order of events in Firefox: it might
close the page before we get a response from renderer.

Thus removing a faulty test.

References https://github.com/microsoft/playwright/issues/20093
2023-04-10 20:12:39 -07:00
Yury Semikhatsky 8d2502ee62
test: make page-leaks tests pass in electron (#22277)
They've been failing
https://devops.playwright.dev/flakiness.html#filter_spec=page%2Fpage-leaks.spec.ts&test_parameter_filters=%5B%5D&timestamp=1680901928195
2023-04-07 17:20:49 -07:00
Dmitry Gozman 08cef43e82
feat(locator): remove locator.and and locator.not (#22223)
Not shipping for now, after API review.
2023-04-05 16:28:13 -07:00
Dmitry Gozman 35afb056ea
feat(locator): filter({ hasNotText }) (#22222)
The opposite of `filter({ hasText })`.
2023-04-05 14:13:28 -07:00
Andrey Lushnikov 29643a7bff
test: add regression tests for clicking (#22221)
https://github.com/microsoft/playwright/issues/21995
2023-04-05 13:20:39 -07:00
Dmitry Gozman bc1de5f28d
feat(locator): filter({ hasNot }) (#22219)
This is the opposite of `filter({ has })`.
2023-04-05 12:45:46 -07:00
Playwright Service 8dd431745d
feat(firefox): roll to r1394 (#22199)
Fixes https://github.com/microsoft/playwright/issues/21621

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-04-05 11:39:23 -07:00
Dmitry Gozman 8bc7ed0469
test: remove element being dragged before drop (#22177)
This scenario hangs in Firefox, waiting for response to `mouseup` event.

References #21621.
2023-04-03 18:42:29 -07:00
Dmitry Gozman ab85b23e67
fix(expect): report expect "Timed out" when it actually does (#22174)
Previously, it would say "Timed out" when page was closed at test
timeout, or not say "Timed out" when at least one element matched.

Fixes #21664.
2023-04-03 15:06:13 -07:00
Dmitry Gozman 26c00a97a5
fix(expect): do not produce logs twice (#22171) 2023-04-03 15:05:40 -07:00
Pavel Feldman 3b9e62432d
chore: do not leak on clicks (#22129)
Fixes #22115
2023-03-31 18:18:45 -07:00
Pavel Feldman 0d9ec60dc7
chore: implement jsHandle._objectCount in chromium (#22127) 2023-03-31 15:52:01 -07:00
MarcNum fbdafc5fe3
feat: Adding trace option 'on-all-retries' (#21985)
Fixes: #21860
2023-03-31 13:04:24 -07:00
Max Schmitt 47c669caf2
test: fix service tests (#22111)
<img width="805" alt="image"
src="https://user-images.githubusercontent.com/17984549/229117984-1c70541b-7941-40e2-950d-a699e0fc4cc4.png">
2023-03-31 10:58:08 -07:00
Dmitry Gozman a95ced0fef
fix(waitFor): when frameLocator does not match, resolve hidden/detached states (#22119)
Fixes #21879.
2023-03-31 10:54:07 -07:00
Dmitry Gozman 539d9873c2
feat: rename Locator.filter(locator) to Locator.and (#22101) 2023-03-30 14:41:30 -07:00
Dmitry Gozman e6148bb725
feat: Locator.not(locator) (#22066) 2023-03-30 08:52:30 -07:00
Pavel Feldman 968abd27d5
chore: do not use attributes for trace target annotation (#22075)
Fixes: https://github.com/microsoft/playwright/issues/22004
2023-03-29 23:17:17 -07:00
Dmitry Gozman 548e4a0c0f
fix(role): account for unslotted elements being hidden for aria (#22070)
When element is not assigned to any slot in the shadow root, it is not
rendered and is considered hidden for ARIA in all browsers.

In Chromium/Firefox we use `Element.checkVisibility` that already
handles this, but in WebKit we have to check it manually.

Fixes #21487.
2023-03-29 17:08:05 -07:00
Dmitry Gozman 6929214dbf
feat(expect): expect(locator).toBeAttached() (#22067)
Fixes #13467.
2023-03-29 11:09:17 -07:00
Andrey Lushnikov 0b170ddc12
test: enable some of the previously disabled tests (#22047)
Fixes https://github.com/microsoft/playwright/issues/21549
2023-03-29 10:52:55 -07:00
Playwright Service d8f5a3f2ce
feat(firefox-beta): roll to r1394 (#22052)
References https://github.com/microsoft/playwright/issues/21760

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-03-29 10:47:31 -07:00
Dmitry Gozman 525097d465
feat: Locator.filter(locator) (#21975)
Produces a locator that matches both locators.
Implemented through `internal:and` selector.

Fixes #19551.
2023-03-27 14:29:30 -07:00
Dmitry Gozman d10fac4f6a
feat: Locator.or(locator) (#21884) 2023-03-22 15:28:59 -07:00
Yury Semikhatsky e7d670e27b
test: waitFor(hidden) should succeed when frame is not in dom (#21880)
Failing test for https://github.com/microsoft/playwright/issues/21879
2023-03-22 08:56:50 -07:00
Dmitry Gozman 8accabdb59
test: gardening (#21814)
Notable changes:
- `page-event-crash` is not a page test, moving out of page/.
- One of the expect tests is directly covered by another, merging them.
2023-03-20 12:52:52 -07:00
Yury Semikhatsky 98befd8a16
test: run crash tests in separate worker (#21759)
Running crash tests in its own worker should ensure that the browser
logs from different tests are not interleaved:

<img width="1088" alt="image"
src="https://user-images.githubusercontent.com/9798949/225965857-9152a88e-a775-4935-955a-dd7e6b88409a.png">
2023-03-17 10:36:01 -07:00
Andrey Lushnikov f192a74c5d
test: reenable screenshot test on firefox (#21738)
Fixes #20522
2023-03-17 01:37:39 -07:00
Pavel Feldman c45d8749b0
chore: split trace events into phases (#21696) 2023-03-15 22:33:40 -07:00
Yury Semikhatsky 716d451be5
test: use toHaveURL in the new test (#21667) 2023-03-14 09:23:00 -07:00
Yury Semikhatsky c691d1f436
test: skip "should respect the drop effect" in headed (#21648)
https://github.com/microsoft/playwright/issues/21646
2023-03-13 19:04:09 -07:00
Yury Semikhatsky 6b3e7faad5
test: url bar navigation vs js redirect (#21640)
The tests document current behavior when url bar navigation competes
with a js redirect.

Fixes #20749
2023-03-13 17:53:39 -07:00
Playwright Service 4e807f9824
feat(firefox): roll to r1390 (#21591) 2023-03-13 16:43:49 -07:00
Andrey Lushnikov 8abe9fcf22
tree gardening: disable & assign failing tests (#21575)
References https://github.com/microsoft/playwright/issues/21574
References https://github.com/microsoft/playwright/issues/21549
2023-03-10 12:04:25 -08:00
Andrey Lushnikov 870edd1aae
feat(firefox): roll Firefox to 1387 (#21542)
Fixes #21109
Fixes #21430
2023-03-10 09:25:54 -08:00
Andrey Lushnikov 7a1c5b2aa3
test: make the tree green (#21551)
References https://github.com/microsoft/playwright/issues/20522
References https://github.com/microsoft/playwright/issues/20993
References https://github.com/microsoft/playwright/issues/21435
References https://github.com/microsoft/playwright/issues/21512
References https://github.com/microsoft/playwright/issues/21549
References https://github.com/microsoft/playwright/issues/21550
2023-03-09 16:56:29 -08:00
Max Schmitt 77c9641215
test: make Android bots green (#21450) 2023-03-07 17:53:39 +01:00
Max Schmitt 41dc45d471
test: add test for page.goto with hash at the end (#21437)
https://github.com/microsoft/playwright/issues/21430
2023-03-07 17:53:30 +01:00
Dmitry Gozman 0c5d46bb94
feat: allow chaining locators with Locator.locator(anotherLocator) (#21391) 2023-03-03 14:50:53 -08:00
Andrey Lushnikov bfc895787f
fix(firefox): fix reload with hash URLs (#21322)
Fixes #21145
2023-03-01 18:56:30 -08:00
Andrey Lushnikov 4d3b056f27
test: add more tests for reload (#21296)
Make sure `page.reload()` doesn't reload a related popup and
only reloads target page.
2023-03-01 10:52:55 -08:00
Andrey Lushnikov b607c92651
test: add a regression test for reload bug in firefox (#21282)
References https://github.com/microsoft/playwright/issues/20791
2023-02-28 16:05:12 -08:00
Dmitry Gozman 27027658dc
chore: fix all Proxy() to account for symbol properties (#21272)
Fixes #20940.
2023-02-28 12:45:14 -08:00
Andrey Lushnikov dd9a8da901
test: fix retargeting test on firefox (#21157)
The test was regressed in
https://github.com/microsoft/playwright/pull/21124

Fixes #21141
2023-02-23 07:35:58 -08:00
Max Schmitt 8b8444dacc
test: page.reload() on a page with a hash (#21152)
https://github.com/microsoft/playwright/issues/21145
2023-02-23 13:22:22 +01:00
Andrey Lushnikov 434fa470e3
test: fix page.goto test on Firefox (#21132)
Turns out Firefox can yield either of the two errors, depending
on the stage of the pending navigation.
2023-02-22 19:18:49 -08:00