github-actions[bot]
d6780c5b29
feat(chromium-tip-of-tree): roll to r1007 ( #14225 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-19 07:10:18 -07:00
Pavel Feldman
432c52d31a
chore: more testing-friendly trace ( #14264 )
2022-05-18 14:35:16 -07:00
Pavel Feldman
738d5e5b3e
chore: pass fixture defaults different from falsy ( #14237 )
2022-05-18 12:03:47 -07:00
Pavel Feldman
d5ea1b38f0
fix(recorder): remove waitForNavigation from codegen ( #14166 )
2022-05-18 10:02:09 -07:00
Pavel Feldman
b5beeab98b
fix(click): climb the hit target hierarchy to anchor ( #14235 )
...
fix(click): climb the hit target hierarcchy to anchor
2022-05-18 10:01:34 -07:00
Pavel Feldman
4d9ef46f64
fix(ct): recreate context on option change ( #14243 )
2022-05-18 09:57:05 -07:00
Pavel Feldman
e4d55fd061
fix: include @types/node in pwt deps ( #14230 )
2022-05-17 20:36:35 -07:00
Pavel Feldman
fe0afd6b5c
fix(toHaveProperty): serialize falsy arguments as well ( #14232 )
2022-05-17 14:44:12 -07:00
Max Schmitt
9256de5f48
chore: fix wrong toHaveScreenshot defaults in docs ( #14200 )
2022-05-16 22:26:23 +03:00
github-actions[bot]
f1307f4a4d
feat(chromium): roll to r1006 ( #14192 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-16 10:56:38 -07:00
Pavel Feldman
56a5f2c506
fix(types): fix the toHaveScreenshot types ( #14174 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-16 07:53:46 -07:00
Dmitry Gozman
c3beb71b07
fix(test runner): do not run automatic fixtures for beforeAll hooks ( #14104 )
...
There are a few issues this covers:
- Some fixtures like `page` and `context` are not allowed in `beforeAll`
hooks, so using them in automatic fixture makes it throw.
- Running automatic fixture solely for `afterAll` is unexpected.
This currently happens when `afterAll` is run for cleanup after
fixture timeout/throw.
For built-in playwright fixture, we keep `'all-hooks-included'` auto mode.
Added a doc explaining the execution order.
2022-05-13 11:17:20 +01:00
Andrey Lushnikov
f7adbd83ee
chore: cut v1.22.0 ( #14098 )
2022-05-12 11:12:01 -07:00
Dmitry Gozman
f6712ec43a
fix(tracing): workaround chromium scrollTop slowness ( #14114 )
...
References #14037 .
We used to query and save all non-zero `scrollTop`/`scrollLeft` to restore the page perfectly. However, this became very slow with Chromium v100 regression (see issue).
This change only queries and stores `scrollTop`/`scrollLeft` for elements that are ancestors of the action target. The resulting snapshot does not perfectly recreate the original screen, but should be good enough to inspect the action.
2022-05-12 10:55:29 -07:00
Dmitry Gozman
0e2855348c
feat(locators): remove layout locators ( #14129 )
2022-05-12 18:50:19 +01:00
Max Schmitt
2844623109
docs: add route class -> networking guide reference ( #14092 )
2022-05-11 16:07:00 +01:00
Max Schmitt
9693635c86
chore: remove babel__parser ( #14096 )
2022-05-11 15:31:48 +01:00
Dmitry Gozman
b753ff8686
chore: split injected utils into proper files ( #14093 )
2022-05-11 13:49:12 +01:00
Dmitry Gozman
305afcdacf
fix(test runner): fix duplicate titles error when multiple issues are present ( #14090 )
2022-05-11 11:53:16 +01:00
Pavel Feldman
c99ca17199
chore: disable AvoidUnnecessaryBeforeUnloadCheckSync on chromium ( #14080 )
2022-05-10 14:55:44 -07:00
Dmitry Gozman
ba0cfaeb2d
fix(chromium): work around about:blank issue on Chromium ( #14068 )
...
fix(chromium): work around about:blank issue on Chromium
We don't receive the `loaderId` which translates to `newDocumentId`,
so we expect the same-document navigation. Instead, we can wait
for any new-document navigation as a workaround, only for `about:blank`.
This also reverts commit f0f65fa247
.
2022-05-10 20:32:19 +01:00
Pavel Feldman
39489931d1
chore: add more ct options to allow redirecting templates/cache ( #14077 )
2022-05-10 12:21:29 -07:00
Ross Wollman
0c9e0d22df
fix(ct): preserve context changes ( #13986 )
...
1. add test (and fix) using context fixture with mount
2. add test for innerText that was failing prior to https://github.com/microsoft/playwright/pull/14008
2022-05-10 11:45:47 -07:00
Andrey Lushnikov
a64ea8698e
chore: add disclaimer to experimental ct packages ( #14075 )
2022-05-10 10:59:30 -07:00
github-actions[bot]
653373a75a
feat(chromium-tip-of-tree): roll to r1005 ( #14064 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-10 10:05:15 -07:00
Andrey Lushnikov
4634adbdc3
devops: auto-publish experimental CT packages ( #14060 )
...
This patch:
- adds a hard dependency from `experimental-ct-*` packages to the
same-version of `@playwright/test`
- aligns `experimental-ct-*` package versions with main package
version
- starts publishing experimental CT packages together with other
packages
2022-05-10 08:01:45 -07:00
github-actions[bot]
8a517c6d82
feat(webkit): roll to r1641 ( #14061 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-10 07:41:46 -07:00
Andrey Lushnikov
3ba1ea5c39
fix: support installing dependencies on non-ubuntu. ( #14010 )
...
We should not fast-return if someone tries to run
`npx playwright install-deps` on Debian.
Instead, we should warn users, fallback to Ubuntu 20.04 dependencies,
and proceed.
2022-05-10 04:05:39 -07:00
Pavel Feldman
cf89a36181
chore: serialize circular objects ( #14045 )
2022-05-09 18:51:53 -07:00
Pavel Feldman
f0f65fa247
Revert "feat(chromium): roll to r1005 ( #13999 )"
...
This reverts commit 56b3bca8db
.
2022-05-09 18:28:39 -07:00
Pavel Feldman
e55f7bd896
feat(bindings): best-effort serialize circular structures ( #14008 )
2022-05-09 15:07:04 -07:00
Dmitry Gozman
e8fb5a6337
fix(test runner): ensure that hooks run before fixtures teardown after timeout ( #14035 )
...
We had common cleanup exiting early after timeout, because we did not
reset the time slot.
2022-05-09 20:38:20 +01:00
Pavel Feldman
e9378ba5fc
chore: hide plugins again ( #14038 )
2022-05-09 10:06:13 -07:00
Max Schmitt
04fafcabd8
fix: leaking server side objects ( #13991 )
2022-05-09 17:34:00 +01:00
Pavel Feldman
46e82e8fea
feat(ct): only rebuild when necessary ( #14026 )
2022-05-09 09:10:47 -07:00
Andrey Lushnikov
5aa82dc5e4
chore: un-experiment expect(pageOrLocator).toHaveScreenshot()
( #14033 )
...
This patch un-experiments `expect(pageOrLocator).toHaveScreenshot()`
method.
Fixes #13526
2022-05-09 08:34:03 -07:00
github-actions[bot]
56b3bca8db
feat(chromium): roll to r1005 ( #13999 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-05-09 15:52:00 +01:00
Pavel Feldman
a052211dbf
chore: do not reset internal bindings for reuse ( #14019 )
2022-05-09 07:44:20 -07:00
Andrey Lushnikov
98945a81a8
feat: move toHaveScreenshot
to use old snapshot paths by default ( #14006 )
...
Note: all toHaveScreenshot tests still use `__screenshots__` directory
for their expectations. One more test was added to make sure that
by default, `toHaveScreenshot` uses old snapshots.
2022-05-09 07:34:53 -07:00
github-actions[bot]
f4dc067a49
feat(chromium-tip-of-tree): roll to r1004 ( #13966 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-09 15:12:47 +01:00
Dmitry Gozman
6931d89eaf
feat(locators): rename locator.that to locator.filter ( #14025 )
2022-05-08 21:59:40 +01:00
Dmitry Gozman
64cd55089a
chore: role selectors non-experimental ( #14021 )
2022-05-08 11:07:01 +01:00
Dmitry Gozman
c3cf7ee4a7
feat(layout locators): remove maxDistance option ( #14013 )
2022-05-08 07:18:16 +01:00
Pavel Feldman
5c9e7f48e0
fix(debug): do not pause on internal calls, update ct docs ( #14018 )
2022-05-07 19:56:25 -07:00
Andrey Lushnikov
d711734d38
chore: cleanup stray "fonts" mention in the codebase ( #14016 )
...
This is a follow-up to #14004
2022-05-07 09:16:55 -07:00
Pavel Feldman
b8c4f426cc
chore: return source map from registry generator ( #14005 )
2022-05-06 18:29:49 -07:00
Andrey Lushnikov
5a5bb36d28
chore: nuke "fonts" screenshot option ( #14004 )
...
It was never released since it wasn't working as expected on WebKit WPE.
Fixes #12839
2022-05-06 17:54:17 -07:00
Pavel Feldman
dc36b0158a
chore: dedupe ct fixtures ( #14002 )
2022-05-06 14:53:38 -07:00
Pavel Feldman
1bbefce9af
Revert "chore: use plugins for component testing again ( #13977 )" ( #13998 )
...
This reverts commit a2f9f15e3e
.
2022-05-06 12:02:07 -07:00
github-actions[bot]
a1cda41cfd
feat(webkit): roll to r1640 ( #13982 )
2022-05-06 11:06:47 -07:00
Pavel Feldman
f5e2171c80
chore: fix ct npm ignores
2022-05-05 17:42:01 -07:00
Pavel Feldman
43e7a2b91a
chore: bump ct deps
2022-05-05 17:37:57 -07:00
Pavel Feldman
a2f9f15e3e
chore: use plugins for component testing again ( #13977 )
2022-05-05 14:26:56 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation ( #13950 )
2022-05-05 10:14:00 -07:00
github-actions[bot]
88fd4a79a8
feat(webkit): roll to r1638 ( #13956 )
2022-05-05 08:41:02 -07:00
Andrey Lushnikov
bfafb2680d
fix: put browserVersion in the browsers.json
( #13946 )
...
This patch:
- adds `browserVersion` field to the `browsers.json`. This is
updated every time we roll browser.
- starts using `browserVersion` to display browser version that's
been downloaded.
The downloading output now looks like this:
```bash
Downloading Chromium 101.0.4951.41 (playwright build v1003) - 118.9 Mb [====================] 100% 0.0s
Chromium 101.0.4951.41 (playwright build v1003) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/chromium-1003
Downloading FFMPEG playwright build v1007 - 1 Mb [====================] 100% 0.0s
FFMPEG playwright build v1007 downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/ffmpeg-1007
Downloading Firefox 99.0.1 (playwright build v1323) - 67.5 Mb [====================] 100% 0.0s
Firefox 99.0.1 (playwright build v1323) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/firefox-1323
Downloading Webkit 15.4 (playwright build v1632) - 52.7 Mb [====================] 100% 0.0s
Webkit 15.4 (playwright build v1632) downloaded to /Users/andreylushnikov/Library/Caches/ms-playwright/webkit-1632
```
Fixes #13198
2022-05-05 04:17:13 -07:00
github-actions[bot]
969e6f2ada
feat(webkit): roll to r1637 ( #13916 )
2022-05-04 16:38:25 -07:00
Pavel Feldman
cfde11b6e2
docs: add a brief components doc ( #13944 )
2022-05-04 16:01:48 -07:00
Ross Wollman
95f7acf1e4
chore: widen Metadata type ( #13942 )
2022-05-04 13:16:11 -07:00
Dmitry Gozman
cf5101d44a
fix(networkidle): do not produce networkidle event on errored pages ( #13938 )
2022-05-04 20:52:50 +01:00
Yury Semikhatsky
a919414553
feat(chromium): roll tot, ignore unknown session error ( #13932 )
...
After https://chromium-review.googlesource.com/c/chromium/src/+/3606712 browser returns an error to messages addressed to unknown session id (previously such messages would never get a response).
#13637
2022-05-04 10:00:02 -07:00
Andrey Lushnikov
aaedf1c8ea
fix(testrunner): explicitly define viewport size fixture ( #13801 )
...
Instead of relying on library defaults, let's explicitly define
viewport size fixture so that users can rely on its existance.
2022-05-04 09:17:33 -07:00
Dmitry Gozman
cd53346594
fix(codegen): do not reset current source on every recorded action ( #13925 )
...
Currently, when I choose "Java" in the sources list and then
click on the page to generate the "click" action, sources reset
to "JavaScript". This is very inconvenient.
This changes the logic to only forcefully change files if either
old or new file is a user file, not a generated one.
Use cases considered:
- run `codegen`, click around, choose different language, click more;
- run script with inspector, pause, click "Record" and record an action;
- same as above, but then continue and see that user source is revealed.
2022-05-04 17:16:24 +01:00
Dmitry Gozman
9e0aa67d28
feat(codegen): brush up context options in pytest codegen ( #13924 )
2022-05-04 11:14:53 +01:00
Ronie Martinez
2c597f06bd
feat(codegen): pytest support in codegen ( #13746 )
...
feat(codegen): pytest support in codegen
2022-05-04 09:41:20 +01:00
Pavel Feldman
214117c9c5
clean: speed up ct ( #13915 )
2022-05-03 21:25:50 -07:00
Andrey Lushnikov
4b6f53461d
chore(components): lazily create root to mount components if needed ( #13778 )
2022-05-03 16:11:45 -07:00
Pavel Feldman
13224d1c9f
chore: restore component testing options ( #13910 )
2022-05-03 15:48:46 -07:00
Pavel Feldman
29fd1d86df
chore: hide plugins for now ( #13908 )
2022-05-03 14:25:56 -07:00
Dmitry Gozman
85b86e19b8
feat(expect): ensure it works in global setup ( #13896 )
2022-05-03 21:53:15 +01:00
Max Schmitt
b5183b4cf9
chore: make React selectors work on React 18 ( #13864 )
...
Fixes #13845
2022-05-03 13:46:52 -07:00
Pavel Feldman
19ce4e3514
chore: refactor web server plugin to extract legacy ( #13904 )
2022-05-03 11:47:37 -07:00
github-actions[bot]
029aff16e4
feat(firefox): roll to r1323 ( #13897 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-05-03 09:14:20 -07:00
Dmitry Gozman
ef32069299
chore: small test runner changes in preparation of global fixtures ( #13899 )
...
The main change is splitting up options from the config from other
fixtures to ensure unique location for them.
2022-05-03 15:19:27 +01:00
Dmitry Gozman
4f5fbea26f
chore: get rid of ProjectImpl ( #13894 )
2022-05-03 13:36:24 +01:00
Dmitry Gozman
54dd6d01e5
feat(locator): layout options (leftOf, rightOf, above, below, near) ( #13821 )
...
This also includes corresponding selector engines `left-of` and others,
modeled after existing `has` selector engine.
2022-05-03 10:33:33 +01:00
Ross Wollman
3b3cad7d69
feat: rewrite gitCommitInfo plugin, drop GlobalInfo & attachments ( #13837 )
2022-05-02 16:28:14 -07:00
Yury Semikhatsky
ed344a882b
fix: delete headers with undefined value ( #13880 )
2022-05-02 12:38:57 -07:00
Andrey Lushnikov
bd2a2873b7
chore: unexperiment role selectors ( #13858 )
2022-05-02 09:32:50 -07:00
Dmitry Gozman
d87de8c52c
fix(test runner): restore --headed
flag ( #13872 )
2022-05-02 16:55:14 +01:00
Pavel Feldman
a1b10c3856
chore: try serializing the config instead of requiring it in the worker ( #13839 )
2022-04-29 16:05:08 -07:00
Yury Semikhatsky
4b682f9f13
fix(chromium): disable DialMediaRouteProvider in addition to MediaRouter ( #13854 )
2022-04-29 14:29:31 -07:00
Pavel Feldman
46acf84c68
chore: pass config w/ cli overrides to plugins ( #13835 )
2022-04-29 13:32:39 -07:00
Dmitry Gozman
dc3f2d26c4
docs: add details to the element screenshot methods ( #13847 )
2022-04-29 17:36:09 +01:00
Pavel Feldman
18bff137ce
chore: remove default config from cli ( #13832 )
2022-04-28 16:49:36 -07:00
Ross Wollman
4984878411
fix: await plugin.configure ( #13834 )
2022-04-28 16:22:20 -07:00
Ross Wollman
f486ce8c06
feat(plugins): add webServer implementation ( #13779 )
2022-04-28 15:08:10 -07:00
Ross Wollman
45972a0b6a
feat: add name for plugins ( #13826 )
...
Useful for debugging and eventually for reporters to give status updates on which phase of which plugin they are currently running.
2022-04-28 11:43:39 -07:00
Andrey Lushnikov
a06b06b82b
fix: typo in the missing X Display error message ( #13810 )
2022-04-28 08:35:01 -07:00
Pavel Feldman
e756528ad2
feat(plugins): expose suite to plugin setup ( #13807 )
2022-04-28 08:16:17 -07:00
Dmitry Gozman
b9f47558b5
feat(reporters): show failures on CI when adding dot automatically ( #13814 )
2022-04-28 12:29:21 +01:00
Pavel Feldman
a01b65bedd
chore: drop the legacy global setup mode ( #13803 )
2022-04-27 18:01:37 -07:00
Dmitry Gozman
38fdc5fe24
fix(selectors): refactor chaining logic ( #13764 )
...
This fixes a few issues:
- strict mode was producing false negatives if multiple query paths
lead to the same element being picked;
- in some cases the number of intermediate items in the list was
exponential and crashed quickly.
What changed:
- `visible` engine is a real engine now;
- `capture` selectors are transformed to `has=` selectors for
easier implementation;
- chained querying switched from a list to a set to avoid
exponential size.
2022-04-27 20:51:57 +01:00
Dmitry Gozman
3aba94dbef
chore: remove unnecessary types from overrides-test ( #13794 )
2022-04-27 16:14:37 +01:00
github-actions[bot]
d97324e2bd
feat(firefox-beta): roll to r1323 ( #13777 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-27 07:24:07 -07:00
Max Schmitt
a0c24c01c8
chore: fix docs links for .NET roll ( #13787 )
2022-04-27 16:06:30 +02:00
Dmitry Gozman
dab2384b0e
fix(process launcher): use spawnSync to cleanup synchronously ( #13769 )
...
This allows us to use the full retry logic of rimraf in the `onexit` handler.
Note this is already covered by failing on Windows test
`should remove temp dir on process.exit`.
2022-04-27 15:01:30 +01:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval ( #13776 )
2022-04-26 21:32:38 -07:00
Pavel Feldman
2bc36794d1
chore: vite all frameworks ( #13780 )
2022-04-26 16:15:08 -07:00
Dmitry Gozman
c0f0979055
fix(frames): networkidle for iframes with quirky urls ( #13767 )
2022-04-26 17:13:45 +01:00
Max Schmitt
37bee74ae5
chore: set minimum version to Node.js 14 ( #13469 )
2022-04-26 17:52:32 +02:00
Dmitry Gozman
39cfa2b6e3
test: switch temp dir tests to use userDataDir ( #13745 )
2022-04-26 09:32:58 +01:00
Pavel Feldman
02cb987ddb
chore: bump ct versions ( #13749 )
2022-04-25 22:10:17 -07:00
Dmitry Gozman
97750ccf9a
feat: locator.that ( #13731 )
...
Filters existing locator by options, currently `has` and `hasText`.
2022-04-25 20:06:18 +01:00
Yury Semikhatsky
aab1a746d3
fix: join individual css selectors by > in cssFallback ( #13712 )
2022-04-25 11:11:24 -07:00
Pavel Feldman
5e51c17d41
chore: use plugin story for components ( #13717 )
2022-04-25 10:40:58 -07:00
Yury Semikhatsky
2e6ef8f622
fix(runner): fail if worker cannot find some of the tests ( #13666 )
2022-04-25 09:05:40 -07:00
Dmitry Gozman
8e5854033a
fix: types generation for attach and GlobalInfo ( #13727 )
2022-04-25 13:56:37 +01:00
Dmitry Gozman
d2bdb1d7cf
docs: explain label retargeting in selectors doc and some input actions ( #13725 )
2022-04-25 13:55:41 +01:00
Dmitry Gozman
01a8977b4d
feat: make scrollIntoView work with zero-sized elements ( #13702 )
...
We skip waiting for "visible" state that enforces non-zero size.
Other invisible conditions like "display:none" fail during the
actual "scrolling" step and will retry.
2022-04-23 21:48:36 +01:00
Max Schmitt
39525878ab
chore: show small progress bar in downloader without tty ( #13690 )
2022-04-22 19:55:43 +02:00
Andrey Lushnikov
317b649f78
feat: support tip-of-tree chromium channel ( #13701 )
2022-04-22 09:43:57 -07:00
Ross Wollman
3eac9c694c
fix(test-runner): mark attach as async ( #13687 )
...
Also brings back generation of experimental types as part of lint.
2022-04-22 09:27:02 -07:00
Max Schmitt
ca4cfca8ad
chore: make tests pass on Node.js 17+ ( #13678 )
2022-04-22 13:42:52 +02:00
Pavel Feldman
3d4caab153
chore: move playwright gallery into a subfolder ( #13695 )
2022-04-21 21:07:43 -07:00
Yury Semikhatsky
801dbe0699
fix(oopif): dispose child sessions when frame session is disposed ( #13693 )
2022-04-21 18:32:56 -07:00
Pavel Feldman
5990eb6074
chore: use vite plugin for registry ( #13658 )
2022-04-21 17:30:17 -07:00
Pavel Feldman
89b8fdd4e5
fix(tracing): do not reset frame counter on every chunk ( #13689 )
2022-04-21 15:40:30 -07:00
github-actions[bot]
5753f7a7fa
feat(chromium): roll to r1003 ( #13680 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-21 22:22:15 +02:00
Max Schmitt
4a3180aca9
chore: make Android host option configurable ( #13685 )
2022-04-21 22:16:42 +02:00
github-actions[bot]
c551284498
feat(webkit): roll to r1632 ( #13670 )
2022-04-21 09:47:22 -07:00
Max Schmitt
c397daeb07
chore: language agnostic browsers missing error message ( #13650 )
2022-04-20 12:02:28 -07:00
Max Schmitt
7151284147
chore(html-reporter): missing space between git date and time ( #13656 )
2022-04-20 18:10:55 +02:00
Pavel Feldman
06645b0a1f
chore: fix the android ws sender/receiver ( #13641 )
2022-04-19 13:28:05 -07:00
Yury Semikhatsky
0a401b2d86
docs: clarify semantics of redirected response ( #13636 )
2022-04-19 09:36:38 -07:00
Pavel Feldman
207c3c7abc
fix: dep bring back core dependency ( #13632 )
2022-04-19 08:31:31 -07:00
Andrey Lushnikov
88a9262dbb
fix: resolve WebServer cwd dir wrt configDir ( #13626 )
...
Drive-by: speed-up webserver tests by not waiting 750ms to start it.
Fixes #13115
2022-04-19 07:45:36 -07:00
Andrey Lushnikov
a617604962
test: make sure toHaveScreenshot doesn't tolerate bad option values ( #13627 )
...
Fixes #13495
2022-04-19 07:43:18 -07:00
Andrey Lushnikov
8a24c95e08
chore: introduce experimental VRT rebaseline workflow ( #13560 )
2022-04-19 07:05:43 -07:00
Andrey Lushnikov
80bc532874
fix: support undo/redo editing commands ( #13606 )
...
Fixes #13601
2022-04-18 22:22:52 -07:00
Pavel Feldman
3c896f6bc5
fix(tests): installation tests ( #13623 )
2022-04-18 22:17:56 -07:00
Pavel Feldman
007e908cd9
chore: bundle pwt deps ( #13622 )
2022-04-18 21:47:18 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps ( #13621 )
2022-04-18 20:20:49 -07:00
github-actions[bot]
41db08eca5
feat(webkit): roll to r1631 ( #13612 )
2022-04-18 18:48:43 -07:00
Pavel Feldman
63ea81ec54
chore: make bundles typed ( #13620 )
2022-04-18 17:50:25 -07:00
Yury Semikhatsky
ed0dcdabc9
docs: clarify toBeDisabled behavior ( #13616 )
2022-04-18 17:06:01 -07:00
Pavel Feldman
58d79e5e4d
chore: add core utils bundle ( #13615 )
2022-04-18 13:47:23 -07:00
Pavel Feldman
4f0103fef0
chore: babel, expect, zip bundles ( #13588 )
2022-04-18 11:31:58 -07:00
Pavel Feldman
eafb92f6a3
chore: embed expect types ( #13609 )
2022-04-18 10:54:40 -07:00
Ross Wollman
71fbd2454e
fix(test-runner): avoid premature stop of worker in fullyParallel ( #13584 )
...
Prior to this change, we were pre-maturely stopping a worker (since it
was deemed redundant under a race condition), and then we immediately
created a new worker with the same hash to finish off the test run. The
worker creation is expensive, so this slowed down the overall test run
time.
See the following for logs of the old code illustrating the extra stops and starts: https://gist.github.com/rwoll/1c592ed9e8f9169274fa972674de6703
2022-04-17 16:22:57 -07:00
Pavel Feldman
5f843c347d
chore: bundle pixelmatch, it has not changed for 2 years ( #13585 )
2022-04-15 16:58:31 -07:00
Yury Semikhatsky
7ffce1da53
chore: remove PlaywrightClient and Docker factory ( #13571 )
2022-04-15 12:11:38 -07:00
Dmitry Gozman
02aa4fe617
chore: generate types for TestProject/TestConfig ( #13574 )
2022-04-15 10:27:38 -07:00
Pavel Feldman
09754100aa
chore: bump ct versions
2022-04-15 09:22:53 -07:00
Dmitry Gozman
189a5fa0f8
chore: freez FullProject public type ( #13570 )
...
This is similar to FullConfig.
Properties `expect` and `fullyParallel` are not exposed.
2022-04-14 16:58:01 -07:00
Yury Semikhatsky
aee6ba299a
chore: remove GridClient, run only page tests in service mode ( #13566 )
2022-04-14 15:30:04 -07:00
Wojciech Jureczka
7ba527c65f
chore: expose JSON Reporter types ( #13241 )
...
Resolves #13208
2022-04-14 13:55:29 -07:00
Dmitry Gozman
c86c2e8762
feat: restore toHaveScreenshot as experimental feature ( #13549 )
...
- Restore docs.
- Make `TestConfig.expect` generated.
- Allow experimental properties with "e" marker: `- foo e<float>`.
2022-04-14 13:22:42 -07:00
Ross Wollman
11179982fc
chore: force localPaths to be resolved ( #13544 )
2022-04-14 11:19:36 -07:00
github-actions[bot]
a29a986d67
feat(chromium): roll to r1002 ( #13554 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-14 14:51:03 +02:00
Max Schmitt
584140f97a
fix: make fetch api work with connectOverCDP ( #13521 )
2022-04-14 12:53:49 +02:00
Dmitry Gozman
20dcc45afa
feat: support experimental doc entries ( #13446 )
...
feat: support experimental doc entries
- Params/options/members are marked as experimental in the docs.
- `experimental.d.ts` is generated that contains all types and
includes experimental features.
- `experimental.d.ts` is references in our tests so that we
can test experimental features.
- `fonts` option is restored as experimental.
2022-04-13 16:13:30 -07:00
Dmitry Gozman
166675b9c1
feat(test): more information about timing out fixtures ( #13546 )
...
- Always show a fixture that was running during timeout.
- Give custom titles to built-in fixtures.
- Specify setup/teardown fixture phase in the message.
- Split connect vs launch browser fixtures for better naming.
Example timeout message:
```log
Timeout of 2000ms exceeded while running fixture "built-in playwright configuration" teardown.
```
2022-04-13 15:13:31 -07:00
Yury Semikhatsky
e2fff31848
chore: send run_id from agent to server ( #13542 )
2022-04-13 12:13:35 -07:00
Yury Semikhatsky
00199b5617
chore: add link to workflow ( #13541 )
2022-04-13 11:56:00 -07:00
Andrey Lushnikov
269716d7d7
revert( #12877 ): chore: print error if install-deps is used != ubuntu ( #13536 )
...
Reason: turns out Debian Buster requires just one source list to
install `ttf-ubuntu-font-family` font.
All other dependencies are satisfied.
Fixes #13530
2022-04-13 11:03:28 -07:00
Yury Semikhatsky
9b8aceaa61
feat: support os parameter ( #13511 )
2022-04-12 22:20:48 -07:00
Dmitry Gozman
7a5b070e95
fix(type): focus switch between contenteditables in shadow dom ( #13510 )
...
Firefox has a bug: calling `node.focus()` does make the node focused,
but some internal "current contenteditable node" is not changed.
Blurring the previous one and focusing the new one helps.
2022-04-12 16:44:27 -07:00
Yury Semikhatsky
ae4d2e75aa
chore: adjust gha agent params ( #13509 )
2022-04-12 13:39:08 -07:00
Max Schmitt
95d4041b8b
chore: fix mark-docker-image CLI command ( #13499 )
2022-04-12 10:10:34 -07:00
Andrey Lushnikov
0f6638190e
fix: do not require --force
flag when installing channel on CI ( #13487 )
2022-04-11 13:42:21 -07:00
Dmitry Gozman
1e1df6395f
chore: generate expect types ( #13439 )
2022-04-11 10:42:19 -07:00
github-actions[bot]
d90d2a6c0e
feat(webkit): roll to r1630 ( #13443 )
2022-04-11 08:54:30 -07:00
Dmitry Gozman
f6ccd4847e
fix(test runner): default workerIndex to -1 ( #13440 )
2022-04-08 15:23:23 -07:00
Yury Semikhatsky
9712b9ee08
fix: match against secure path ( #13442 )
2022-04-08 14:57:43 -07:00
Yury Semikhatsky
212c665152
fix: pass full grid url to agent ( #13438 )
2022-04-08 14:15:38 -07:00
Dmitry Gozman
916dd1e698
feat(remote): handle timeout manually in browser
fixture ( #13406 )
...
To make launch/connect not affect the test timeout:
- `browser` fixture is declared with `timeout: 0`.
- Default timeouts are set to 30sec for launch and 3min for connect.
2022-04-08 13:39:12 -07:00
Ross Wollman
1af32e400f
feat(test-runner): introduce GlobalInfo ( #13083 )
2022-04-08 13:22:14 -07:00
Pavel Feldman
f0156d057e
chore: flatten supplements ( #13437 )
2022-04-08 12:52:40 -07:00
kaivean
d65263f151
feat(android): allow getting webviews by socket name ( #13248 )
2022-04-08 20:52:16 +02:00
github-actions[bot]
d91349f22a
feat(webkit): roll to r1629 ( #13407 )
2022-04-08 11:50:53 -07:00
Ross Wollman
db7bd8ebd2
chore: don't auto-install browsers if global install ( #13299 )
2022-04-08 10:46:24 -07:00
github-actions[bot]
e72975d9c6
feat(chromium): roll to r1001 ( #13424 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-08 18:39:42 +02:00
Dmitry Gozman
dfb1584703
chore: remove MEMUSAGE workaround on Windows ( #13408 )
...
This was introduced in #7500 to fight `ERROR: The process "4436" not found.`
messages when killing a process that did already exit.
Since then, we no longer inherit stdout/stderr, so the error message
should not appear anymore.
2022-04-08 09:37:51 -07:00
Pavel Feldman
845e32cbb8
chore: use utils via index export (6) ( #13417 )
2022-04-07 21:48:41 -07:00
Pavel Feldman
e79b90f454
chore: use utils via index export (5) ( #13413 )
2022-04-07 20:18:22 -07:00
Dmitry Gozman
155bb7fcae
fix: wait for cleanup on double SIGINT ( #13411 )
...
This is a speculative fix to leftover tmp directories.
When users issues SIGINT twice, we enter `gracefullyClose()`
twice, and shortcut the second time. It turns out, we do
not wait for directories removal.
Note: it is unknown how often we reach this codepath in practice.
2022-04-07 19:20:54 -07:00
Dmitry Gozman
cef476b89f
docs: support optional methods ( #13415 )
...
So far, these are used in `Reporter`.
2022-04-07 18:51:05 -07:00
Andrey Lushnikov
91333daf09
chore: cut v1.21.0 ( #13405 )
2022-04-07 18:16:22 -07:00
Yury Semikhatsky
f803a929e4
feat: pass server address as argument ( #13412 )
2022-04-07 17:22:52 -07:00
Pavel Feldman
a3c02222bf
chore: use utils via index export (4) ( #13404 )
2022-04-07 14:36:13 -07:00
Pavel Feldman
40d5e3a3c9
chore: use utils via index export (3) ( #13403 )
2022-04-07 13:55:44 -07:00
Max Schmitt
5536e64538
feat(test-runner): support filtering by columns ( #13401 )
2022-04-07 22:45:45 +02:00
Pavel Feldman
6c1fa62000
chore: use utils via index export (2) ( #13399 )
2022-04-07 13:28:30 -07:00
Pavel Feldman
dbafe3bb4e
chore: use utils via index export (1) ( #13398 )
2022-04-07 13:26:50 -07:00
Dmitry Gozman
b7116906fc
feat(remote): support headless/x-playwright-headless ( #13391 )
...
This only applies when remote launches the browser.
2022-04-07 10:19:56 -07:00
Steve Zhang
de518338ce
docs: fix class-coverage snippet for v8toIstanbul ( #13371 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-07 18:34:45 +02:00
Pavel Feldman
90d5990e75
chore: fix installation scripts ( #13376 )
2022-04-06 23:09:10 -07:00
Pavel Feldman
bde7bf4ea9
chore: move registry & dispatchers to under server ( #13370 )
2022-04-06 22:21:27 -07:00
Yury Semikhatsky
32d30ae71d
chore: fix assert imports ( #13359 )
2022-04-06 21:30:48 -07:00
Dmitry Gozman
c68f57d2d0
docs: mark optional properties/arguments explicitly with "?" ( #13369 )
...
Previously, we were guessing whether something is optional from the
comment (looking for stuff like "defaults to" or "optional").
To remove this error-prone technique, every optional property or
argument (but not option) is explicitly marked with "?".
2022-04-06 19:02:10 -07:00
Yury Semikhatsky
fccc14cdfa
feat: github agent, browser worker ( #13336 )
2022-04-06 18:03:27 -07:00
Pavel Feldman
c80365dd43
chore: distill deps after import types update ( #13367 )
2022-04-06 15:41:08 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Pavel Feldman
1c3db811f5
chore: move to folder-based deps lists ( #13361 )
2022-04-06 14:40:19 -07:00
Ivan Kaliada
424de6c38f
fix: resolve ts compilerOptions.paths with prefixes and suffixes ( #13105 )
2022-04-06 14:14:03 -07:00
Dmitry Gozman
4123a55be5
chore: generate more types ( #13358 )
...
As a result, fix documentation issues:
- Removed `TestStep.data` that is not a thing.
- Added `TestConfig.name` documentation.
- Refined a lot of optional types in the documentation.
- Aligned `test.fail()` and `test.slow()` docs with `test.skip()`.
- Strict set of docs vs types inconsistensies in the generator
2022-04-06 13:36:20 -07:00
Akul Srivastava
d9d826b7f6
docs: fixes typo ( #13094 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-06 12:00:51 +02:00
Dmitry Gozman
faaac318f4
chore: remove elementsFromPoint workaround ( #13184 )
...
The issue was fixed upstream in r982637.
2022-04-05 19:37:07 -07:00
Pavel Feldman
f3bd910820
chore(test-runner): rewrite poll, soft, wrap ( #13335 )
2022-04-05 17:47:35 -07:00
Dmitry Gozman
4bb563b015
fix(expect): proper return types ( #13334 )
...
A few changes:
- `Matchers<R, T>` now carries both return and argument type.
- Based on the argument type, we apply playwright-specific Page/Locator matchers.
- Return type is usually void, unless wrapped with `expect.resolves`,
`expect.rejects` or `expect.poll()`.
- To preserve compatibility with any extended types in the wild,
argument type is optional.
2022-04-05 16:11:11 -07:00
Pavel Feldman
6ca58e18cb
fix(electron): better support for custom schemas ( #13329 )
2022-04-05 16:10:12 -07:00
github-actions[bot]
67989e01d1
feat(webkit): roll to r1625 ( #13333 )
2022-04-05 15:34:59 -07:00
Yury Semikhatsky
cdef8171c1
chore: extract remote connection to a separate file ( #13331 )
2022-04-05 14:47:11 -07:00
github-actions[bot]
67c251f483
feat(chromium): roll to r1000 ( #13327 )
...
References #13198
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2022-04-05 11:05:01 -07:00
Max Schmitt
844ecbe2eb
chore: better Electron error message when no executable path is given ( #13318 )
2022-04-05 18:45:21 +02:00
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir ( #13304 )
2022-04-05 08:34:51 -07:00
Pavel Feldman
a2f94f6336
fix: trace viewer pwa should have no base ( #13308 )
2022-04-04 21:53:19 -07:00
Pavel Feldman
23d9dbc011
chore: rewrite non-web protocol for Electron tracing ( #13305 )
2022-04-04 20:56:04 -07:00
Dmitry Gozman
a71c151438
chore: introduce FullProjectInternal ( #13301 )
...
This is similar to FullConfigInternal to put private stuff on.
2022-04-04 16:07:04 -07:00
Dmitry Gozman
a09b8dfa36
chore: unrelease 'fonts' screenshot option ( #13300 )
2022-04-04 14:51:11 -07:00
Thomas Scholtes
3e65ef35cf
fix: wait for worker to be ready before initializing ( #13270 )
...
fix: wait for worker to be ready before initializing
The test dispatcher waits until a worker is ready before sending the
`init` message. This guarantees that the worker process is listening for the
message. Otherwise, the worker process might miss the `init` message and
the subsequent `run` message would crash the worker.
2022-04-04 13:56:57 -07:00
Dmitry Gozman
4e1fb1728f
docs: small clarifications to hasText and has-text ( #13298 )
2022-04-04 13:18:03 -07:00
Pavel Feldman
1bebc28aed
chore: reset page/context for reuse in component tests ( #13264 )
2022-04-04 12:39:43 -07:00
Pavel Feldman
8232497c88
feat(electron): expose app process(), detach on exit ( #13280 )
2022-04-04 11:50:46 -07:00
Ross Wollman
42798b5857
chore: warn against using globally scoped install ( #13196 )
2022-04-03 20:26:23 -07:00
Pavel Feldman
b0103566c9
fix(addInitScript): tolerate trailing comments ( #13275 )
2022-04-03 18:47:12 -07:00
Pavel Feldman
bcb12fcf7f
chore: mark public methods on server as such ( #13271 )
2022-04-02 19:02:27 -07:00
kaivean
5d2e8918d8
feat(android): add androidDevice.options.omitDriverInstall ( #13249 )
2022-04-02 16:00:38 -07:00
Dmitry Gozman
f6936c0461
chore: move private fields to FullConfigInternal ( #13261 )
2022-04-01 18:32:34 -07:00
Pavel Feldman
66cf82766e
test(html-reporter): add image diff tests ( #13262 )
2022-04-01 18:11:15 -07:00
Pavel Feldman
55ee41c848
feat(html): render image diff slider ( #13257 )
2022-04-01 15:27:51 -07:00
Ross Wollman
12abae7f31
feat(test-runner): friendly expect errors for typos ( #13229 )
...
If you typo'd an `expect` property, you got a cryptic error message:
```
Uncaught TypeError: Cannot create proxy with a non-object as target or handler
```
Now we get this nice friendly message:
```
1) a.spec.ts:6:9 › explodes ======================================================================
Error: expect: Property 'toBeLessThen' not found.
Did you mean 'toBeLessThan'?
See https://playwright.dev/docs/test-assertions for available options and documentation.
5 | const { test } = pwt;
6 | test('explodes', () => {
> 7 | expect.soft(1).toBeLessThen();
| ^
8 | });
9 |
```
Fixes #13218
2022-04-01 13:38:22 -07:00
Pavel Feldman
c262a80762
chore: extract image diff component ( #13221 )
2022-04-01 12:53:56 -07:00
Ross Wollman
16efbdef98
chore: remove/rename FullConfig._attachments ( #13233 )
...
This was originally introduced in #12734 .
It will be replaced with GlobalInfo (#13083 ), but not before the 1.21
release.
2022-04-01 12:36:05 -07:00
Dmitry Gozman
a200fe3528
feat(screenshot): rename "size" option to "scale" ( #13254 )
...
Drive-by: fix `caret` handling in `toHaveScreenshot`.
2022-04-01 12:28:40 -07:00
liuxingbaoyu
2eb1c8bc42
fix(show-trace): traceModel was removed by mistake ( #12968 )
2022-04-01 12:20:05 -07:00
Dmitry Gozman
356fc35b85
feat(role selector): allow unquoted name attribute ( #13224 )
...
- This supports `role=button[name=Hello]` similarly to CSS selectors.
- Does not change `_react` or `_vue` behavior that insist on quoting the string.
- Uses CSS notion of "identifier" characters.
2022-04-01 10:08:02 -07:00
Andrey Lushnikov
a87794dae6
fix: demand --force
to re-install stable browser channels ( #13200 )
...
This patch will check if browser channel is already installed.
If it is, it'll abort installation with the following error:
```
aslushnikov:~/prog/playwright$ npx playwright install msedge
Failed to install browsers
Error:
╔═════════════════════════════════════════════════════════════════╗
║ ATTENTION: "msedge" is already installed on the system! ║
║ ║
║ "msedge" installation is not hermetic; installing newer version ║
║ requires *removal* of a current installation first. ║
║ ║
║ To *uninstall* current version and re-install latest "msedge": ║
║ ║
║ - Close all running instances of "msedge", if any ║
║ - Use "--force" to install browser: ║
║ ║
║ npx playwright install --force msedge ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════╝
```
To re-install browser channel, use `--force`.
Fixes https://github.com/microsoft/playwright/issues/13061
2022-04-01 10:05:53 -07:00
Yury Semikhatsky
7d7fe3c618
fix(route): remove cors option, compare origin ( #13231 )
2022-03-31 19:21:21 -07:00
Dmitry Gozman
9fc95dda84
fix(screenshot): do not stall on hideHiglight attempt 2 ( #13222 )
...
It turns out that "non stalling evaluate" can stall in Chromium
in some weird conditions, like `document.open` after some weird
`iframe.src` value.
We now only hide highlight in those frames where we did install
highlight in the first place.
2022-03-31 15:33:29 -07:00
Pavel Feldman
6a463195c4
chore: allow multiple image diffs ( #13202 )
2022-03-31 14:11:34 -07:00
Dmitry Gozman
e5182259b1
feat(role selector): docs and minor fixes ( #13203 )
...
- Added docs to `selectors.md`.
- `[pressed]` and `[checked]` do not match `"mixed"` states.
- Disallow `[name]` shorthand without a value.
- Renamed `includeHidden` to `include-hidden`.
2022-03-31 13:06:39 -07:00
Pavel Feldman
b2c863f6a3
fix(tracing): account for screencast timestamps when computing timeline boundary of empty trace ( #13214 )
2022-03-31 09:45:45 -07:00
github-actions[bot]
28234b6540
feat(webkit): roll to r1623 ( #13195 )
2022-03-31 07:40:08 -07:00
Pavel Feldman
923f74c5a6
chore: allow matchers decorate step title ( #13199 )
2022-03-30 21:52:00 -07:00
Dmitry Gozman
ecc804d808
chore: prepare types to stricter checks in TS 4.7.0 ( #13193 )
2022-03-30 20:33:36 -07:00
Pavel Feldman
42f260c688
chore: prepare image diff for refactornig ( #13197 )
2022-03-30 17:42:08 -07:00
github-actions[bot]
6157c3e743
feat(webkit): roll to r1622 ( #13187 )
2022-03-30 15:39:14 -07:00
Yury Semikhatsky
c200321402
fix: export request from index.jsm ( #13158 )
2022-03-30 09:35:47 -07:00
Dmitry Gozman
a8d4a8aa52
fix(text selector): ignore non-leading quote when parsing ( #13170 )
...
Previously, any unpaired quote in the text selector "escaped"
everything till the end of the selector string, and so any
subsequent chained selectors, including ">>" separator were ignored.
An example of misbehaving selector: `text=19" >> nth=1`.
Now, when text selector contains a non-leading quote, selector parser
does not assume it should escape ">>" separator and correctly
tokenizes all selectors from the chain.
Note that this behavior is a workaround for the fact that our
text selectors is somewhat poorly defined in this area. That said,
this workaround seems to be safe enough. It still does not work for
unpaired leading quotes like this: `text="19 >> nth=1`.
2022-03-30 09:33:32 -07:00
Ross Wollman
2932da33f2
chore(html-reporter): remove no-longer-needed code ( #13167 )
2022-03-29 21:08:10 -07:00
Pavel Feldman
5e30375c8c
test(components): add more tests ( #13168 )
2022-03-29 21:06:11 -07:00
Pavel Feldman
81e7c0a77c
chore(html-report): render metainfo as a chip ( #13166 )
2022-03-29 18:13:08 -07:00
Andrey Lushnikov
a9989852d5
feat(vrt): new option "caret"
for taking screenshots ( #13164 )
...
This has two values:
- `"hide"` to hide input caret for taking screenshot
- `"initial"` to keep caret behavior unchanged
Defaults to `"hide"`.
Fixes #12643
2022-03-29 17:48:13 -07:00
Pavel Feldman
5e17ed137b
fix(html-report): only invoke git once ( #13165 )
2022-03-29 15:49:58 -07:00
Dmitry Gozman
eb09306db2
feat(connect): add connectOptions.timeout
( #13163 )
2022-03-29 15:03:43 -07:00
Andrey Lushnikov
aa1daeba85
fix(html): put HTML report next to package.json
by default ( #13141 )
...
Fixes #12970
2022-03-29 14:19:31 -07:00
Pavel Feldman
bd6e88b8be
test: start adding component tests ( #13159 )
2022-03-29 13:27:37 -07:00
Pavel Feldman
5575476697
chore: make webserver try index.html for / ( #13155 )
2022-03-29 12:19:56 -07:00