Commit Graph

6345 Commits

Author SHA1 Message Date
Dmitry Gozman
9622704a8a
fix(test runner): update TestInfo.duration before running afterEach hooks (#10228) 2021-11-10 16:02:27 -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
1e38ec5fa4
docs(element-handle): discourage the element handle use (#10220) 2021-11-10 11:30:25 -08:00
Max Schmitt
96d7b21b34
devops: fix driver deployment (#10208)
follow-up for #10207
2021-11-10 11:21:25 +01:00
Andrey Lushnikov
8375bff1db
devops: support arm drivers for Mac and Linux (#10207)
- Move to node 16 for driver (Node publishes Mac arm64 builds since Node 16)
- Publish Mac Arm64 driver
- Publish Linux Arm64 driver
2021-11-10 01:19:05 -08:00
Pavel Feldman
03fee2f593
feat(trace-viewer): add metainfo tab (#10205) 2021-11-09 22:13:51 -08:00
Andrey Lushnikov
b2af576796
chore: cut v1.17 (#10203) 2021-11-09 17:56:26 -08:00
Andrey Lushnikov
7af0dc178b
devops: support beta deployment for Trace viewer (#10201)
Trace Viewer will have 3 deployments:
- Stable: https://trace.playwright.dev
- Beta (from release branch): https://trace.playwright.dev/beta
- Next (from master branch): https://trace.playwright.dev/next
2021-11-09 17:21:51 -08:00
Andrey Lushnikov
56521e2a49
chore: remove vtest bot (#10202)
Visual regression tests did not survive a week and got merged back.
Remove the bot since there are no tests to run.
2021-11-09 17:15:16 -08:00
Andrey Lushnikov
12c1716fcc
chore: move to a new docker publishing (#10169) 2021-11-09 15:58:18 -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
Dmitry Gozman
7bb38d2ac8
docs: use desktop devices in sample configs (#10197) 2021-11-09 13:19:21 -08:00
Yury Semikhatsky
031ceb3553
docs(java): assertion examples (#10194) 2021-11-09 12:44:02 -08:00
Andrey Lushnikov
cce359ea83
test: fix fixture teardown (#10174) 2021-11-09 11:12:18 -08:00
Andrey Lushnikov
06c587b696
browser(webkit): disable GPU process on Windows only (#10193)
- GPU Process was enabled by default on Windows recently: 2058f94543
- We tried it and it fails a bunch of tests: https://github.com/microsoft/playwright/pull/10156
- Curiously, disabling it on Mac fixes a mac-related bug: https://github.com/microsoft/playwright/pull/10170, however we're scared of the change
2021-11-09 11:00:05 -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
1bf7f6d90d
docs: expand core-concepts and multi-age (#10161) 2021-11-09 07:42:04 -08:00
Pavel Feldman
3743fe1ef5
feat(trace-viewer): make upload button nice, add disclaimer (#10163) 2021-11-09 07:40:21 -08:00
Max Schmitt
1a7fb912e4
docs(python): enable request API (#10179) 2021-11-09 14:04:34 +01:00
Andrey Lushnikov
b0116e7c43
browser(webkit): opt-out from GPU process use (#10164)
This partially reverts
2058f94543
 - otherwise our screenshot tests fail on Webkit windows.

Failures: https://github.com/microsoft/playwright/pull/10156
2021-11-08 20:08:48 -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
Dmitry Gozman
5c9dcffd67
docs(intro): rework js intro (#10157)
- Educate on the config file right away.
- Switch from `--browser` to `--project`.
- Update configuration sections.
2021-11-08 17:50:48 -08:00
Max Schmitt
626c0f8f51 devops: follow-up on Trace Viewer deployment (#10154) 2021-11-09 00:54:53 +01:00
Max Schmitt
3d18b67ce8 devops: follow-up on Trace Viewer deployment (#10154) 2021-11-09 00:53:48 +01:00
Max Schmitt
c98b8ebd2b devops: follow-up on Trace Viewer deployment (#10154) 2021-11-09 00:42:59 +01: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
Max Schmitt
51910b7a01
devops: add Trace Viewer deployment (#10154) 2021-11-09 00:27:54 +01: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
Max Schmitt
82ec09fc55 chore: fix create-playwright builds (#10083 follow-up) 2021-11-08 23:31:41 +01:00
Max Schmitt
4b37990f9c
devops: use NPM 8 (#10083) 2021-11-08 23:06:03 +01: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
Yury Semikhatsky
ac25a67140
docs(java): assertion docs fixes (#10144) 2021-11-08 11:31:11 -08:00
Dmitry Gozman
9a7b4b745b
docs: Suite.project is a method, not a property (#10135) 2021-11-08 10:08:46 -08:00
Pavel Feldman
4553d76fce
api(frame-locator): introduce frame locators (#10102) 2021-11-08 09:58:24 -08:00
github-actions[bot]
7278fcffb8
browser(chromium): roll to r939194 (#10124)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-08 11:32:16 +01:00
Andrey Lushnikov
12eead057a
devops: support webkit compilation for Ubuntu 20.04 arm64 (#10122) 2021-11-08 01:04:59 -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
7f1d6e4c16
devops: do not build Chromium with symbols for every commit (#10103)
Wastes a lot of compute for the thing we barely use.
2021-11-05 17:29:24 -07:00