Commit graph

417 commits

Author SHA1 Message Date
Pavel Feldman f802c27d09 cherry-pick(#10661): chore: add validations into check_deps 2021-12-01 18:16:37 -08:00
Dmitry Gozman be460a9fcb
chore(release-1.17): mark v1.17.1 (#10659) 2021-12-01 17:25:00 -08:00
Pavel Feldman 41417403b4
cherry-pick(#10654): chore: remove create-playwright, it is in monorepo by mistake (#10655) 2021-12-01 15:30:30 -08:00
Dmitry Gozman d22adda6ec
cherry-pick(#10653): fix(click): revert layout shift logic (#10656) 2021-12-01 14:02:23 -08:00
Pavel Feldman daece9cf49 cherry-pick(#10623): fix(toHaveText): normalize zero width white space 2021-12-01 11:41:04 -08:00
Max Schmitt 7cf48152b7
chore: mark 1.17.0 version (#10593) 2021-11-29 22:50:02 +01:00
Dmitry Gozman 41907915c7
cherry-pick(#10481): fix(tracing): race in stopChunk (#10498)
Consider the following scenario:
- Tracing is started.
- API call is made (e.g. page.waitForResponse), almost finishes, and
  enters onAfterCall where it starts a snapshot.
- tracing.stopChunk is called, and waits for existing actions to finish.
  However, it does so by calling onAfterCall one more time.
- tracing.stopChunk removes instrumentation listener and returns
  to the client.
- Client starts zipping files.
- Original API call finishes the snapshot and saves it to the trace file.

This results in trace file being written to while the zip is still working.
2021-11-23 12:04:37 -08:00
Pavel Feldman 2771fae7b3 cherry-pick(#10486): fix(trace-viewer): multiple iframe and UX fixes 2021-11-23 11:39:31 -08:00
Max Schmitt a7f56b3cb4
cherry-pick(release-1.17): fix: noncompliant Firefox User-Agents (#10492) (#10497) 2021-11-23 20:38:48 +01:00
Pavel Feldman 3478c62581 cherry-pick(#10450): fix(trace-viewer): provide hints on how to open trace statically 2021-11-19 16:34:06 -08:00
Max Schmitt 190e6beb49 cherry-pick(#10243): chore: add trace viewer file upload error handling 2021-11-19 16:32:56 -08:00
Yury Semikhatsky a0f81dcd98
cherry-pick(1.17): do not send Fetch.continueRequest twice for auth requests (#10382) (#10386) 2021-11-17 13:43:55 -08:00
Andrey Lushnikov baa8dcbbe2 cherry-pick(#10380): fix: disable 'AcceptCHFrame' chromium field trial
References #10376
2021-11-17 10:45:19 -08:00
Andrey Lushnikov 4aebfe333b
chore: mark v1.17.0-rc1 (#10366) 2021-11-17 08:43:31 -08:00
Yury Semikhatsky 26afd7e581
cherry-pick(1.17): API response to string (#10364) (#10365)
08a7470b0a

#10341
2021-11-16 15:45:58 -08:00
Andrey Lushnikov 745bbbec99 cherry-pick(#10356): fix: fix proper-lock-file configuration
Turns out we were using wrong formula; with the config we had in place,
proper-lock-file would give up to aquire lock after 49 seconds of
waiting.

With the proper configuration, we'll keep re-trying for 10 minutes.

Fixes #10354
2021-11-16 14:32:23 -08:00
Pavel Feldman bc33eb3d33 cherry-pick(#10338): chore(trace-viewer): only show source tab when soureces are includes 2021-11-15 23:42:20 -08:00
Pavel Feldman ab2fde17c1 cherry-pick(#10323): feat(webkit): roll to r1578 2021-11-15 11:48:36 -08:00
Pavel Feldman 0e41f0812c cherry-pick(#10264): fix(webkit): disable accelerated compositing on windows 2021-11-12 10:32:02 -08:00
Pavel Feldman 68bad0be6c cherry-pick(#10266): fix(sigint): remove sigint handler early 2021-11-11 17:20:07 -08:00
Yury Semikhatsky 2da019217a
cherry-pick(#10245): fix(fetch): smarter JSON.stringify for application/json requests (#10251)
#10222
2021-11-11 16:52:23 -08:00
Max Schmitt fceb43eeac cherry-pick(#10253): chore: create-playwright config nits & test-runner intro docs 2021-11-11 13:52:54 -10:00
Max Schmitt 01ea173506 cherry-pick(#10247): chore: create-playwright #10221 follow-up
References #10159
2021-11-11 13:50:50 -10:00
Max Schmitt 2998f42c85 cherry-pick(#10221): chore: create-playwright enhancements
Fixes #10159
2021-11-11 13:49:21 -10:00
Dmitry Gozman c0d91bbf31
cherry-pick(#10206): fix(click): account for detached elements and iframe overlays (#10249) 2021-11-11 11:38:46 -08:00
Pavel Feldman 68bdfe619c cherry-pick(#10220): docs(element-handle): discourage the element handle use 2021-11-10 11:31:52 -08:00
Pavel Feldman 2bd2ead476 cherry-pick(#10205): feat(trace-viewer): add metainfo tab 2021-11-09 22:31:08 -08:00
Andrey Lushnikov 545322445e
chore: mark v1.17.0 (#10204) 2021-11-09 18:07:19 -08:00
github-actions[bot] c8b65ac677
feat(webkit): roll to r1576 (#10199)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-09 15:54:59 -08:00
Pavel Feldman 0d0f1690cd
fix(trace-viewer): do not rely upon request mode, it is inconsistent (#10198) 2021-11-09 15:12:37 -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
Pavel Feldman 4e90eb9406
api(frame-locator): allow nth, first, last (#10195) 2021-11-09 14:14:20 -08:00
Max Schmitt d25b0f70bc
chore: api testing test nits (#10180) 2021-11-09 14:11:42 -08:00
Yury Semikhatsky c30447216d
docs(fetch): typo in comment (#10160) 2021-11-09 14:00:58 -08:00
Andrey Lushnikov d34f9972ab
feat: proper launch doctor for WebKit on Arm64 Ubuntu 20.04 (#10172)
This patch:
- consolidates all distribution-specific information in a single
  location
- updates list of required dependencies for WebKit on Arb64 Ubuntu 20.04
2021-11-09 10:55:13 -08:00
Pavel Feldman 3743fe1ef5
feat(trace-viewer): make upload button nice, add disclaimer (#10163) 2021-11-09 07:40:21 -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 806b5706a5
fix(trace-viewer): redirect, time and missing snapshot bugfixes (#10055) 2021-11-08 18:03:10 -08:00
Pavel Feldman 7b64161a37
feat(test-runner): allow specifying fine-grained trace options (#10147) 2021-11-08 15:39:58 -08:00
Andrey Lushnikov 8582a19e6b
fix(trace): non-negative time in call tab (#10153)
Fixes #10129
2021-11-08 15:30:36 -08:00
Dmitry Gozman 3cc839e013
fix(route): catch all Route methods when page closes (#10140)
This fixes a common scenario where you setup a route,
and the page closes (e.g. test ends) while we are aborting/continuing
some requests that are not instrumental to the test itself.
2021-11-08 15:13:15 -08:00
Andrey Lushnikov 4b14c466d4
feat: download webkit arm64 build for ubuntu 20.04 (#10151) 2021-11-08 14:56:08 -08:00
Joel Einbinder 0cad0de3e3
fix(test runner): better error message when importing typescript from esmodule (#10061) 2021-11-08 16:25:40 -05:00
Dmitry Gozman 0a104bc500
docs: clarify that slow tests are about files (#10134) 2021-11-08 12:54:18 -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
github-actions[bot] cf57f72c59
feat(firefox): roll to r1304 (#10106)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-06 12:12:09 -07: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
Andrey Lushnikov 8bf8f49746
feat: support Firefox for Ubuntu 20.04 arm64 download (#10100) 2021-11-05 17:02:48 -07:00