375 Commits

Author SHA1 Message Date
Dmitry Gozman
6a46711347
fix(chromium): race between loadingFailed and requestPaused (#10289) 2021-11-12 19:06:53 -08:00
Pavel Feldman
b0723c0621
fix(webkit): disable accelerated compositing on windows (#10264) 2021-11-12 08:50:25 -08:00
Max Schmitt
8fe3ea7972
chore: add trace viewer file upload error handling (#10243) 2021-11-11 21:31:19 +01:00
Yury Semikhatsky
fbb3c88f3c
fix(fetch): smarter JSON.stringify for application/json requests (#10245) 2021-11-11 11:12:24 -08:00
Dmitry Gozman
9ec3e7cd52
fix(click): account for detached elements and iframe overlays (#10206) 2021-11-10 12:14:06 -08:00
Pavel Feldman
03fee2f593
feat(trace-viewer): add metainfo tab (#10205) 2021-11-09 22:13:51 -08:00
Dmitry Gozman
75efeb1e08
fix: resolve ip using grid/api/testsession endpoint (#10196)
For Selenium 4, we use se:cdp ws proxy, pointing it to the hub url.
For Selenium 3, we use grid api to try and get the target node ip.
2021-11-09 14:41:13 -08:00
Max Schmitt
d25b0f70bc
chore: api testing test nits (#10180) 2021-11-09 14:11:42 -08:00
github-actions[bot]
5b604acedb
feat(chromium): roll to r939194 (#10165)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-08 20:05:39 -08:00
Pavel Feldman
4553d76fce
api(frame-locator): introduce frame locators (#10102) 2021-11-08 09:58:24 -08:00
github-actions[bot]
cc72299cbc
feat(chromium): roll to r938553 (#10112)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-07 17:50:03 +01:00
Andrey Lushnikov
51a7567907
codegen: use import instead of require for codegen tests (#10104) 2021-11-05 19:01:54 -07:00
Dmitry Gozman
61ff52704c
feat(input): perform hit target check during input (#9546)
This replaces previous `checkHitTarget` heuristic that took place before the action
with a new `setupHitTargetInterceptor` that works during the action:
- Before the action we set up capturing listeners on the window.
- During the action we ensure that event target is the element we expect to interact with.
- After the action we clear the listeners.

This should catch the "layout shift" issues where things move
between action point calculation and the actual action.

Possible issues:
- **Risk:** `{ trial: true }` might dispatch move events like `mousemove` or `pointerout`,
because we do actually move the mouse but prevent all other events.
- **Timing**: The timing of "hit target check" has moved, so this may affect different web pages
in different ways, for example expose more races. In this case, we should retry the click as before.
- **No risk**: There is still a possibility of mis-targeting with iframes shifting around,
because we only intercept in the target frame. This behavior does not change.

There is an opt-out environment variable PLAYWRIGHT_NO_LAYOUT_SHIFT_CHECK that reverts to previous behavior.
2021-11-05 17:31:28 -07:00
Pavel Feldman
f3fd3ebc37
chore(frame-selector): add more tests, use frame logic in element handle (#10097) 2021-11-05 16:36:01 -07:00
Pavel Feldman
f19864890f
feat(iframe): make iframe selectors work w/ element handles (#10063) 2021-11-05 11:06:04 -07:00
Max Schmitt
84d2ee3929
chore: fix connectOverCDP on Windows when proxy is used (#10080) 2021-11-05 17:38:13 +01:00
Max Schmitt
c5b19351f6
chore: rename Fetch Request/Response to API (#10087) 2021-11-05 16:27:49 +01:00
github-actions[bot]
8a6e4bd350
feat(firefox): roll to r1302 (#10062)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-04 16:12:59 -07:00
github-actions[bot]
c6e0ecc38c
feat(firefox): roll to r1301 (#10058)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-04 14:50:36 -07:00
Pavel Feldman
78e99249a3
feat(frame-selector): intial implementation (#10018) 2021-11-04 13:28:35 -07:00
github-actions[bot]
9b4d9460eb
feat(chromium): roll to r936784 (#9986) 2021-11-04 12:35:31 -07:00
github-actions[bot]
a1f5131501
feat(webkit): roll to r1572 (#10030)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-04 12:07:03 +01:00
Yury Semikhatsky
bce9a8187d
fix(fetch): post data for delete request (#10019) 2021-11-03 13:26:15 -07:00
Dmitry Gozman
c373986ca0
fix(evaluate): reject all context operations when frame detaches (#9987) 2021-11-03 10:44:50 -07:00
Pavel Feldman
2ae2136810
chore: do not carry selector next to parsed selector (#10004) 2021-11-03 08:35:01 -07:00
Yury Semikhatsky
5abb5d74ea
chore: delete legacy response interception code (#9995) 2021-11-02 17:48:38 -07:00
Pavel Feldman
6a30c90590
feat(trace-viewer): render wall time for each action (#9982) 2021-11-02 12:16:12 -07:00
github-actions[bot]
87174e9ed7
feat(webkit): roll to r1570 (#9954)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-02 09:32:00 +01:00
Pavel Feldman
56ca3a18f5
feat(trace-viewer): show test name (#9957) 2021-11-01 21:23:35 -07:00
Yury Semikhatsky
13cc266b37
feat: add "commit" to possible waitUntil options (#9892) 2021-11-01 17:12:19 -07:00
Dmitry Gozman
9cfbc0c171
chore(expect): simplify expect array edge cases (#9942) 2021-11-01 16:42:13 -07:00
Dmitry Gozman
4e52b64619
chore: simplify polls and evaluates in dom.ts (#9941) 2021-11-01 15:59:47 -07:00
Dmitry Gozman
50f7477906
chore: use progress.continuePolling instead of passing it around (#9929) 2021-11-01 13:57:13 -07:00
Dmitry Gozman
4ff69529d4
chore: detect document open for inspector (#9901)
To be used later for other global event listeners.
2021-10-30 16:06:52 -07:00
Dmitry Gozman
b244f035bc
chore: small cleanups around actions (#9895) 2021-10-29 22:27:57 -07:00
Pavel Feldman
94c33da946
feat(trace): throttle the screencast (#9893) 2021-10-29 18:20:17 -07:00
Dmitry Gozman
cea61691fa
fix(connectOverCDP): ensure cleanup when remote ws closes (#9873) 2021-10-29 10:35:24 -07:00
Yury Semikhatsky
1886897e5c
fix(matchers): support builtin types (#9865) 2021-10-28 18:45:59 -07:00
Pavel Feldman
75ac579fac
fix(toHaveCount): another edge case fix (#9860) 2021-10-28 16:04:21 -07:00
Pavel Feldman
2e4722d460
test: migrate to upstream fixtures (#9835) 2021-10-28 08:31:30 -07:00
Dmitry Gozman
4743036bbe
fix: guard against undefined contexts (#9826)
We do not create contexts when we are unable to attribute them to a frame or they come from a stale oopif.
Async hop in the binding method can also cause the context to be destroyed already.

Reproduced with codegen.
2021-10-27 13:28:52 -07:00
Max Schmitt
be64b5f6e2
chore: add missing dynamic sdkLanguage based CLI invocations (#9817) 2021-10-27 18:58:13 +02:00
github-actions[bot]
1c88079755
feat(chromium): roll to r934379 (#9793)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2021-10-27 12:39:57 +02:00
Yury Semikhatsky
dd0dae623b
fix(fetch): ignoreHTTPSErrors after redirects (#9806) 2021-10-26 23:20:52 -07:00
Pavel Feldman
5451808df1
chore: append sources to traces (#9736) 2021-10-25 18:56:57 -07:00
Dmitry Gozman
7527ad27d3
fix(snapshot): empty adopted stylesheet should not prevent node refs (#9731)
We never marked empty stylesheets as "stale", so we never computed
css text for them. This prevented node reuse, because empty string
is not equal to undefined.
2021-10-23 16:26:46 -07:00
Pavel Feldman
f08c22b467
fix(trace-viewer): show source files in local version (#9732) 2021-10-23 11:23:39 -07:00
Yury Semikhatsky
d183d364a0
fix(fetch): remove content-length from redirected post requests (#9728) 2021-10-22 16:52:49 -07:00
Pavel Feldman
ea7a294924
fix(trace-viewer): restore dragndrop (#9697) 2021-10-21 22:06:24 -07:00
Pavel Feldman
299dffbdb3
fix(expect): fix toHaveCount(0) (#9690) 2021-10-21 14:46:54 -07:00