Pavel Feldman
7ce2b36489
chore(ui): show load errors ( #21843 )
2023-03-21 12:03:26 -07:00
Dmitry Gozman
bea6fa15b2
feat(snapshots): use double-buffer to avoid white flash on hover ( #21828 )
2023-03-21 07:40:54 -07:00
Pavel Feldman
6015dad9db
chore: remove npx playwright ui ( #21823 )
2023-03-20 17:12:17 -07:00
Pavel Feldman
a33cf10696
chore(ui): decorate pending, add time spent ( #21821 )
2023-03-20 17:12:02 -07:00
Playwright Service
2dee3c4fc7
feat(webkit): roll to r1813 ( #21819 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-03-20 23:56:03 +01:00
Pavel Feldman
543c812d2f
chore(ui): queue watch runs ( #21809 )
2023-03-20 13:45:35 -07:00
Max Schmitt
55df07fd60
test: force crash tests on new worker and keep launchOptions ( #21818 )
...
Fixes https://github.com/microsoft/playwright/issues/21810
2023-03-20 21:43:51 +01:00
Dmitry Gozman
73b20bc876
chore: roll stable-test-runner to 1.33.0-alpha-mar-20-2023 ( #21817 )
2023-03-20 13:42:22 -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
Max Schmitt
4f43db686d
test: class properties with |this| don't work anymore ( #21796 )
...
https://github.com/microsoft/playwright/issues/21794
2023-03-20 16:38:51 +01:00
Max Schmitt
d641caeb6a
Revert "feat(typescript): allow declare for class properties ( #21281 )" ( #21805 )
...
This reverts commit a1ba6757e0 .
https://github.com/microsoft/playwright/issues/21794
2023-03-20 16:37:20 +01:00
Pavel Feldman
001df3a495
chore(ui): follow up to watch, fix win ( #21792 )
2023-03-19 22:52:48 -07:00
Pavel Feldman
754e6edb95
chore: show folders in the tree ( #21789 )
2023-03-19 18:51:09 -07:00
Pavel Feldman
294baaeb44
chore: allow watching all tests ( #21787 )
2023-03-19 14:50:09 -07:00
Pavel Feldman
8a65cf9aac
chore(ui): ui polish / nits ( #21781 )
2023-03-19 12:04:19 -07:00
Pavel Feldman
0728d0f7fb
chore(ui): show test source before running ( #21776 )
2023-03-17 21:34:40 -07:00
Pavel Feldman
22e11a12ab
chore: show snapshots for sync assertions ( #21775 )
2023-03-17 20:20:35 -07:00
Andrey Lushnikov
36a1055524
test: selectively disable selenium tests ( #21741 )
...
https://github.com/microsoft/playwright/issues/21733
2023-03-17 17:48:45 -07:00
Dmitry Gozman
2a2d6c25a4
feat(deps): inherit environment changes from dependencies ( #21771 )
2023-03-17 15:46:52 -07:00
Pavel Feldman
6efb383433
chore: fix and test ui mode stop ( #21769 )
2023-03-17 14:10:25 -07:00
Dmitry Gozman
e856344235
chore: increase timeout for flaky "should stop tracing on requestContext.dispose()" ( #21767 )
2023-03-17 13:33:44 -07:00
Yury Semikhatsky
95e7d3aabc
chore: hide store from public ( #21763 )
2023-03-17 11:50:44 -07:00
Dmitry Gozman
3a80d119e0
chore: update routeFromHAR options for release ( #21764 )
2023-03-17 11:49:45 -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
Pavel Feldman
49ce561244
chore(ui): add hover-based run test ( #21758 )
2023-03-17 09:43:54 -07:00
Max Schmitt
53d341be01
test: do not pollute stderr with trace-viewer wsEndpoint ( #21748 )
2023-03-17 16:15:20 +01:00
Max Schmitt
84a1368fa4
test: enable XMLHttpRequest upload events test on WK+Windows ( #21727 )
...
Fixes https://github.com/microsoft/playwright/issues/21489
2023-03-17 12:32:55 +01:00
Andrey Lushnikov
f192a74c5d
test: reenable screenshot test on firefox ( #21738 )
...
Fixes #20522
2023-03-17 01:37:39 -07:00
Andrey Lushnikov
86de14965c
test: disable connect-to-selenium.spec.ts:20 ( #21734 )
...
https://github.com/microsoft/playwright/issues/21733
2023-03-17 00:13:33 -07:00
Pavel Feldman
e066ca0713
chore: use test project output dir when showing live trace ( #21735 )
2023-03-16 20:09:09 -07:00
Pavel Feldman
ecd0f927f4
chore: make stacks rendering live in ui mode ( #21728 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-03-16 18:17:07 -07:00
Dmitry Gozman
7879cf30f0
fix(reuse): serial mode with tracing should not throw ( #21726 )
...
Regressed in #19733 .
Fixes #21113 .
2023-03-16 14:32:12 -07:00
Max Schmitt
a68201b491
test: fix component tests ( #21725 )
...
TypeScript in v5 emits a warning and this ends up in exit code 1. See
https://github.com/vuejs/tsconfig/issues/6 for more information. This CL
will make TypeScript still end up in exit code 0 even tho these warnings
are emitted until they fixed it upstream and released a new version of
their config.
2023-03-16 21:25:14 +01:00
Max Schmitt
b86395a54a
test: unflake 'serviceWorker should intercept document request' ( #21722 )
...
fixes https://github.com/microsoft/playwright/issues/21691
2023-03-16 19:24:13 +01:00
Pavel Feldman
c45d8749b0
chore: split trace events into phases ( #21696 )
2023-03-15 22:33:40 -07:00
Dmitry Gozman
40a6eff8f2
feat: support name option in tracing.startChunk() ( #21692 )
2023-03-15 17:34:56 -07:00
Dmitry Gozman
bde2e90973
fix(selector generator): do not produce has-text="foo"s ( #21679 )
...
There is no locator counterpart for it. Instead, produce a regex.
Also fix locator generator to not produce incorrect locator in this
case.
Fixes #21649 .
2023-03-15 13:43:42 -07:00
Pavel Feldman
27048adebe
chore: introduce testInfo.testId ( #21670 )
2023-03-14 15:58:55 -07:00
Dmitry Gozman
455e11c1d9
fix(shards): shard test groups instead of files ( #21638 )
...
Fixes #21497 .
2023-03-14 10:41:37 -07:00
Max Schmitt
a2c96494e0
chore: throw pretty error if rest parameters is used inside fixtures ( #21659 )
...
Fixes https://github.com/microsoft/playwright/issues/21566
2023-03-14 17:35:52 +01:00
Yury Semikhatsky
716d451be5
test: use toHaveURL in the new test ( #21667 )
2023-03-14 09:23:00 -07:00
Pavel Feldman
f5fa18a279
chore: reimplement filters ( #21647 )
2023-03-13 22:19:31 -07:00
Dmitry Gozman
ccd5d7fd10
fix(hit target): workaround webkit elementsFromPoint bug ( #21642 )
...
Fixes #21596 .
2023-03-13 19:33:56 -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
555cea38e7
test: unskip setContent with js disabled ( #21644 )
...
Fixes #21574
2023-03-13 19:03:31 -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
Dmitry Gozman
8e7ec88462
fix(electron): do not use loader for packaged apps ( #21577 )
...
References #21387 , #21512 .
2023-03-13 12:52:52 -07:00
Pavel Feldman
1d870ac407
chore(ui): start adding ui mode tests (2) ( #21608 )
2023-03-13 12:14:51 -07:00
Pavel Feldman
a12e909a40
chore(ui): start adding ui mode tests ( #21601 )
2023-03-12 15:18:47 -07:00
Pavel Feldman
b85d670491
chore(ui): show output on demand ( #21592 )
2023-03-11 11:43:33 -08:00
Pavel Feldman
e45a496850
chore(tv): render error in-line ( #21586 )
2023-03-10 16:22:19 -08:00
Dmitry Gozman
21950bc8ce
feat(html reporter): render multiple annotations of the same type together ( #21580 )
...
Multiple annotations are rendered as comma-separated lists. Fixes
#21253 .

2023-03-10 15:26:02 -08:00
Dmitry Gozman
46f9fa005e
fix(tracing): do not double-zip entries in remote mode ( #21579 )
...
Fixes #21435 .
2023-03-10 14:54:32 -08:00
Dmitry Gozman
6d27d2c029
fix(test runner): improved fixture teardown timeout error message ( #21572 )
...
The new message looks like this:
```
Test finished within timeout of 500ms, but tearing down "playwright configuration" ran out of time.
Please allow more time for the test, since teardown is attributed towards the test timeout budget.·
```
References #21259 .
2023-03-10 13:45:47 -08: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
Dmitry Gozman
58a23bc7a0
fix(test runner): allow worker-only dynamic imports ( #21545 )
...
Fixes #21409 .
2023-03-10 08:58:26 -08:00
Dmitry Gozman
0794cb1486
fix(fetch): preserve case in header names ( #21543 )
...
Fixes #21492 .
2023-03-10 08:58:12 -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
Yury Semikhatsky
c30d88a63a
test: setContent with disabled javascript ( #21399 )
...
Fixes https://github.com/microsoft/playwright/issues/21379
2023-03-09 10:45:19 -08:00
Max Schmitt
9191c72a3f
test: XMLHttpRequest upload events ( #21501 )
...
https://github.com/microsoft/playwright/issues/21489
2023-03-09 16:21:01 +01:00
Pavel Feldman
9e7abb2a76
chore: rearrange settings ( #21467 )
2023-03-07 12:43:16 -08:00
Max Schmitt
c9eac69f2b
fix(types): accept string in expect().toMatch() ( #21454 )
...
Fixes https://github.com/microsoft/playwright/issues/21453
2023-03-07 17:53:50 +01: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
Pavel Feldman
cffb6ac269
chore: move sever/isomorphic to utils/ to use it in client ( #21445 )
2023-03-06 18:49:14 -08:00
Yury Semikhatsky
0ebe090b8c
fix(har): do not hang on chunked response in har recorder ( #21397 )
...
Fixes #21182
2023-03-03 17:27:34 -08:00
Dmitry Gozman
0c5d46bb94
feat: allow chaining locators with Locator.locator(anotherLocator) ( #21391 )
2023-03-03 14:50:53 -08:00
Sebastian Silbermann
fbaf56a13f
feat(ct-react): Support React 18 only ( #19814 )
...
BREAKING CHANGE: Drop support for React 17 and earlier
Support for React 17 an earlier is provided by
`@playwright/experimental-ct-react-17`
Closes #19923
2023-03-03 14:28:33 -08:00
Yury Semikhatsky
be259dac7c
fix: expose window.safari in webkit ( #21361 )
...
The actual API of the object is not implemented because those who want
to test it will likely need their own mock and for the browser detection
logic (as described in the bug) just having the property on window
should be sufficient.
Fixes #21037
2023-03-03 13:38:13 -08:00
Yury Semikhatsky
26fa0eeae8
test: har does not hang on slow chunked response ( #21392 )
...
#21182
2023-03-03 11:32:21 -08:00
Pavel Feldman
7f8db8f3c0
test(electron): extend args test ( #21388 )
2023-03-03 09:25:18 -08:00
Dmitry Gozman
eb3f8bfba8
fix(test runner): do not optimize filtering when sourcemap is present ( #21359 )
...
Fixes #21204 .
2023-03-03 07:49:19 -08:00
Max Schmitt
778f8e65d2
chore: do not cache between reused context ( #20052 )
...
Fixes https://github.com/microsoft/playwright/issues/19926
2023-03-03 12:37:44 +01:00
Dmitry Gozman
6769a311ed
feat(test runner): error out when one test file imports another ( #21357 )
...
This situation is not supported, and we can now detect it by looking at
collected file dependencies.
Fixes #21270 .
2023-03-02 15:09:50 -08:00
Pavel Feldman
09ff7eaaf2
chore: throw on context.close() if it was closed externally ( #21347 )
2023-03-02 13:46:54 -08:00
Sander
d58d833daf
fix(ct): solid and react JS as child ( #20125 )
2023-03-02 13:40:51 -08:00
Dmitry Gozman
0b300f455c
fix(test runner): empty dependency should not skip other projects ( #21354 )
...
References #21270 .
2023-03-02 13:32:23 -08:00
Andrey Lushnikov
bfc895787f
fix(firefox): fix reload with hash URLs ( #21322 )
...
Fixes #21145
2023-03-01 18:56:30 -08:00
Yury Semikhatsky
3b800344b0
fix(oopif): get response body from adopting frame ( #21324 )
...
Fixes https://github.com/microsoft/playwright/issues/20809
2023-03-01 17:18:58 -08:00
Dmitry Gozman
a1ba6757e0
feat(typescript): allow declare for class properties ( #21281 )
...
This enables `allowDeclareFields` flag that allows code like:
```ts
class Foo {
declare prop: string;
}
```
Declaring is a workaround for inheritance vs property initialization
issues.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#the-usedefineforclassfields-flag-and-the-declare-property-modifier
For `allowDeclareFields` to work, we have to run
plugin-transform-typescript before plugin-proposal-class-properties and
few others, so this change migrates from preset-typescript that always
runs last to individual plugin-transform-typescript, and reorders some
plugins.
References #21119 .
2023-03-01 16:43:17 -08:00
Pavel Feldman
e222874445
chore: ui mode first cut ( #21291 )
2023-03-01 15:27:23 -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
Yury Semikhatsky
60e5a93832
fix(store): support text and binary values ( #21006 )
2023-03-01 08:49:31 -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
Pavel Feldman
de3a5e2a91
chore(trace): include expect steps in a trace ( #21199 )
2023-02-28 13:26:23 -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
Pavel Feldman
81bd637d94
chore: merge traces into a single zip file ( #21242 )
2023-02-27 22:31:47 -08:00
Dmitry Gozman
b4bfbb20f6
chore: update selenium 4 tests to not use /wd/hub ( #21240 )
2023-02-27 19:43:49 -08:00
Yury Semikhatsky
cfdddcf9ba
fix(runner): finish dispatching if remaining tests were skipped ( #21238 )
...
Fixes #21226
2023-02-27 17:20:30 -08:00
Dmitry Gozman
cabeb42c8c
chore: update selenium tests from 4.0.0-rc1 to 4.4.0 ( #21235 )
2023-02-27 16:58:08 -08:00
Pavel Feldman
22d82b6e1b
chore: flatten metadata in trace events ( #21214 )
2023-02-27 15:29:20 -08:00
NoamGaash
e17e0e40f8
feat(routeFromHAR): add arguments ( #21223 )
2023-02-27 15:27:38 -08:00
Tarnay Kálmán
e28801f6ef
fix(snapshot): render srcdoc iframe snapshots ( #21003 )
2023-02-27 13:34:39 -08:00
Sander
0cd39cf002
test(ct): vue cli slot tests ( #21028 )
2023-02-27 12:53:44 -08:00
Max Schmitt
960c7ebb7e
test: fix webview2 globalSetup ( #21220 )
2023-02-27 17:39:07 +01:00
Pavel Feldman
ed41fd0643
chore: use listview to render stack trace ( #21197 )
2023-02-24 15:31:10 -08:00
Playwright Service
5affd333a7
feat(webkit): roll to r1801 ( #21183 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-24 15:34:37 +01:00
Dmitry Gozman
f29d58e87f
chore: remove test that sends SIGTERM to the browser ( #21171 )
...
Fixes #21168 .
2023-02-23 14:49:18 -08:00
Max Schmitt
f3a46f7405
feat(html): render annotations as links if needed ( #21165 )
...
Fixes https://github.com/microsoft/playwright/issues/20584
2023-02-23 21:57:02 +01: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
Dmitry Gozman
2718123d30
fix(snapshots): define dummy custom elements ( #21131 )
...
For all custom elements defined in the page, we preserve their names and
define them in the rendered snapshot.
This makes things like `:defined` css pseudo work.
Fixes #21030 .
2023-02-22 21:53:27 -08:00
Pavel Feldman
55c95a4463
chore: do not send stacks as a part of the call metainfo ( #21089 )
2023-02-22 21:08:47 -08: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
Yury Semikhatsky
f61d02e46f
test: update selection expectations after roll ( #21124 )
...
https://github.com/microsoft/playwright/issues/20820
2023-02-22 17:24:04 -08:00
Andrey Lushnikov
3ff3567c89
test: update context menu tests ( #21126 )
...
It turns out these new contextmenu-based tests do not work on
Chromium-based browsers on Windows.
We consider context menu support a best-effort, so we skip them
for now.
2023-02-22 17:22:56 -08:00
Yury Semikhatsky
2bb6bc7ad0
test: mark new test as failing in ff ( #21122 )
...
The test is failing for overridden Date in Firefox.
#21109
2023-02-22 16:36:39 -08:00
Yury Semikhatsky
d6dae8ea1f
fix: eval serialization w/ overridden URL/RegExp/Date ( #21112 )
...
Fixes #21109
2023-02-22 15:45:42 -08:00
Nowell Strite
000583e048
fix(loader): experimentalLoader with node@18 ( #21106 )
...
There is currently a bug when running `node@18.14.2` when running with
experimentalLoader
```
TypeError: The URL must be of scheme file
at new NodeError (node:internal/errors:399:5)
at Object.fileURLToPath (node:internal/url:1492:11)
at resolve (./node_modules/@playwright/test/lib/experimentalLoader.js:39:48)
at nextResolve (node:internal/modules/esm/loader:163:22)
at ESMLoader.resolve (node:internal/modules/esm/loader:838:24)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:7)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:79:21)
```
This came from my test `vrt.spec.ts` which had a non package import
inside of it
```ts
import fs from "node:fs/promises"
```
The test run failed due to node imports not returning fileUrls when
resolved.
---------
Co-authored-by: Nowell Strite <nstrite@nvidia.com>
2023-02-22 14:28:03 -08:00
Playwright Service
1dfc4c769d
feat(firefox): roll to r1379 ( #21080 )
...
Fixes #20259
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-02-22 09:52:35 -08:00
Max Schmitt
ae369144b6
chore: consolidate http/https fetching ( #21104 )
...
Fixes https://github.com/microsoft/playwright/issues/20784
Supersedes https://github.com/microsoft/playwright/pull/21076
2023-02-22 17:09:56 +01:00
Pavel Feldman
3f8f2a0fdd
chore: do not use library stack capturer in test runner ( #21075 )
2023-02-21 19:24:17 -08:00
Andrey Lushnikov
07bb483156
test: add tests for input with open context menu ( #21081 )
...
These might be failing on certain platforms and browsers.
References #20823
2023-02-21 15:57:29 -08:00
Max Schmitt
4efa9e5ea0
test: unskip WK tests ( #21033 )
...
Fixes https://github.com/microsoft/playwright/issues/20370
Fixes https://github.com/microsoft/playwright/issues/12353
2023-02-21 23:49:14 +01:00
Pavel Feldman
06fc72b6ed
revert( #12706 ): also fix related bugs it introduced ( #21070 )
2023-02-21 14:15:11 -08:00
Andrey Lushnikov
ce692830b3
fix: filter out comments inside fixture destructuring ( #20989 )
...
Fixes #20944
2023-02-21 12:51:40 -08:00
Max Schmitt
147e388ec3
test: serviceWorker should intercept document request ( #21031 )
...
Not sure whats actually going on here, turns out this breaks the trace
viewer on firefox. -> all the iframes won't work.
Can't repro on stock firefox, so seems like something fishy on our end.
References #20259
2023-02-21 10:36:19 -08:00
Dmitry Gozman
24c8d45c70
chore: enable tsc for ttest sources ( #21018 )
2023-02-19 11:18:07 -08:00
Dmitry Gozman
595502ac46
chore: remove unnecessary args in ttest ( #21012 )
2023-02-18 13:08:17 -08:00
Dmitry Gozman
56dbd1fcb0
chore: remove usesCustomOutputDir from tests ( #21011 )
2023-02-18 11:41:41 -08:00
Pavel Feldman
a22eaf8672
chore: disable navigating off trace snapshot on hrefs ( #21005 )
2023-02-17 18:13:45 -08:00
Dmitry Gozman
55f4b670a9
fix(test runner types): allow sync step functions ( #20996 )
2023-02-17 14:26:40 -08:00
Pavel Feldman
d7a0b3bb4e
chore: implement pick locator in trace viewer ( #20965 )
...
Fixes https://github.com/microsoft/playwright/issues/7853
2023-02-17 11:19:53 -08:00
Yury Semikhatsky
09be9d6425
feat: key value store backed by filesystem ( #20932 )
...
Keys are used as a relative file path without any sanitization assuming
that the underlying fs will throw on error.
2023-02-16 16:48:28 -08:00
Pavel Feldman
c9cc8478b3
chore: minor trace viewer UI tweaks ( #20937 )
2023-02-16 07:59:21 -08:00
Pavel Feldman
96050a260e
chore(junit): render project as an agent name / hostname ( #20927 )
2023-02-16 07:59:05 -08:00
Dmitry Gozman
6f140d79d4
chore: do not create dummy config file in tests ( #20935 )
2023-02-16 06:56:52 -08:00
Yury Semikhatsky
90c4e6f9b2
chore: revert sharded html report ( #20923 )
...
We've decided not to ship it in the current form.
#10437
2023-02-15 12:38:03 -08:00
Dmitry Gozman
91da67fab1
test: remove magic headers in ttest ( #20867 )
...
Instead, explicitly import from '@playwright/test'.
2023-02-14 19:20:56 -08:00
Pavel Feldman
08be39a80e
fix(watch): fix the tests on win ( #20844 )
2023-02-14 14:55:49 -08:00
Pavel Feldman
7f0763d789
chore: hide watch mode, it is not ready ( #20905 )
2023-02-14 13:22:44 -08:00
Pavel Feldman
798696a18a
chore: fix context reuse disposal ( #20876 )
...
Fixes: https://github.com/microsoft/playwright/issues/20409
2023-02-14 12:56:47 -08:00
Andrey Lushnikov
72942e81d5
chore: fixes to toBeInViewport ( #20870 )
2023-02-13 15:21:40 -08:00
Sander
ec17a1ac75
chore(ct): bump packages ( #20724 )
2023-02-13 13:19:59 -08:00
Andrey Lushnikov
31460f7ad6
chore: do not build docker image for installation tests ( #20871 )
...
This used to be needed to test docker integration and is not needed
any more.
2023-02-13 12:31:38 -08:00
Dmitry Gozman
6d03211439
fix(test runner): --list should ignore '.only' annotations ( #20868 )
2023-02-13 11:13:30 -08:00
Andrey Lushnikov
fdcd7b549d
chore: mark comparator option back as experimental ( #20816 )
...
This reverts commit 303c5998f8 .
Reason for revert: I tried enabling `ssim-cie94` by default on
ionic-framework test suite, and it proves to be overly strict for their
usecase.
2023-02-13 11:11:44 -08:00
Joel Einbinder
997dfa9274
fix(reporter): properly indent multiline attachments ( #20847 )
...
Text attachments were only indented on the first line.
2023-02-13 10:28:34 -08:00
Dmitry Gozman
de69b766d9
test: code health in ttest ( #20837 )
...
- Remove duplicate tests.
- Remove unused test helpers.
- Print full watch output on failures.
- Unflake some tests.
2023-02-10 20:26:19 -08:00
Dmitry Gozman
6b69d23f44
fix(actions): ignore indeterminate for isChecked api ( #20834 )
...
Fixes #20190 .
2023-02-10 18:56:45 -08:00
Dmitry Gozman
789b1c75e6
fix(expect): report received when timedOut during oneShot ( #20806 )
2023-02-10 14:59:21 -08:00
Pavel Feldman
6920a82f50
test: add fixme's ( #20826 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-02-10 19:54:00 +01:00
Pavel Feldman
1ba768bf60
chore: make watch + ct happy ( #20804 )
2023-02-10 08:33:25 -08:00
Andrey Lushnikov
68e170ef89
feat: implement expect(locator).toBeInViewport() ( #20668 )
...
The method accepts a `ratio` option to assert the ratio
of the element in viewport. `ratio` defaults to `Number.MIN_VALUE`.
NOTE: this reverts commit d950f5b6ee and
adds `ratio` option support + does the rename.
Fixes #8740
2023-02-10 04:33:22 -08:00
Pavel Feldman
4469e57695
chore: always grow component bundle ( #20799 )
...
Fixes https://github.com/microsoft/playwright/issues/20581
2023-02-09 18:39:20 -08:00
Pavel Feldman
69c4653c6b
chore: speculative windows cli fix ( #20801 )
2023-02-09 16:04:07 -08:00
Pavel Feldman
e1f287f255
chore: more watch tests ( #20797 )
2023-02-09 16:03:54 -08:00
Pavel Feldman
596ed97791
chore: add more watch tests ( #20793 )
2023-02-09 13:57:00 -08:00
Andrey Lushnikov
bcb2d67c5d
chore: remove experimental dockerfile.remote ( #20790 )
...
We didn't find a compelling-enough use case to release this.
2023-02-09 12:18:02 -08:00
Pavel Feldman
5112abc1d2
chore: fix a racy time-based test ( #20783 )
2023-02-09 08:49:51 -08:00
Pavel Feldman
b247bfe153
test(watch): start adding tests ( #20764 )
2023-02-09 08:31:02 -08:00
Dmitry Gozman
6e5964cccd
fix(connect): respect launch options when turning into connect ( #20757 )
2023-02-08 13:06:05 -08:00
Pavel Feldman
7a093329fa
chore: do not run all on watch ( #20758 )
2023-02-08 12:44:51 -08:00
Pavel Feldman
11168efb0e
chore: roll stable-test-runner to ToT ( #20754 )
2023-02-08 10:02:20 -08:00
Pavel Feldman
0678b6575f
chore(watch): allow toggling browser ( #20738 )
2023-02-08 08:36:02 -08:00
Yury Semikhatsky
a93cf767a1
feat: html reporter sharded option ( #20737 )
...
Make sharded report feature an opt-in:
```ts
{
reporter: [['html', { sharded: true }]]
};
```
#10437
2023-02-07 22:21:50 -08:00
Dmitry Gozman
edfff8cd8c
test: run more tests in 'service' mode ( #20734 )
2023-02-07 18:25:33 -08:00
Pavel Feldman
4259d4e1d6
chore: implement repeat last run ( #20727 )
2023-02-07 15:56:39 -08:00
Pavel Feldman
1b941bcf2e
chore: simplify ttests ( #20733 )
2023-02-07 15:11:44 -08:00
Dmitry Gozman
2d3e4027e7
fix(chromium): do not pre-populate non-preflight OPTIONS requests ( #20684 )
...
Fixes #20469 .
2023-02-07 15:10:44 -08:00
Dmitry Gozman
fbccc8ef64
fix(role): closed <details> are considered hidden ( #20726 )
...
Fixes #20610 .
2023-02-07 15:10:18 -08:00
Yury Semikhatsky
f10b29fd5e
feat: show warning when some report shards are missing ( #20731 )
...
When some of the report shards are missing still show the report but
display an error in the status line:

#10437
2023-02-07 14:22:10 -08:00
Dmitry Gozman
bc74383480
test: remove service2 mode and experimental-grid ( #20730 )
2023-02-07 14:19:37 -08:00
Andrey Lushnikov
b67cef2c4d
feat: introduce Dockerfile.remote image ( #20691 )
...
When this image is launched, it exposes a single endpoint
that can be used to connect to and to launch browsers.
2023-02-07 10:50:44 -08:00
Yury Semikhatsky
8f53bf7b41
feat: sharded html report ( #20700 )
...
This implementation is based on the [original
PR](https://github.com/microsoft/playwright/pull/19691 ) by @kevin940726.
It makes the reporter produce single file when there is no sharding and
multiple out-of-line report-x-of-y.zip reports which are automatically
merged together when put in one folder.
References https://github.com/microsoft/playwright/issues/10437
Co-authored-by: Kai Hao <kevin830726@gmail.com>
2023-02-07 10:21:26 -08:00
Andrey Lushnikov
303c5998f8
feat: release "comparator" option from experiment ( #20720 )
...
The option defines a comparator to be used to compare images.
Possible values are `"pixelmatch"` and `"ssim-cie94"`.
Note: This reverts commit 8167f8bf54 .
2023-02-07 08:51:48 -08:00
Pavel Feldman
361ea949aa
chore: respect deps when watching files ( #20695 )
2023-02-06 17:09:16 -08:00
Pavel Feldman
b6df48758d
chore: collect test dependencies ( #20645 )
2023-02-06 14:52:40 -08:00
Andrey Lushnikov
852b4bee0c
test: add a test for a button that closes popup ( #20672 )
...
References #20093
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-02-06 14:25:21 -08:00
Andrey Lushnikov
b736b0cc2d
test: add test with wheel events and opened popup ( #20620 )
...
This should be merged once Firefox Stable 1376 is rolled in.
References #19685
2023-02-06 14:23:14 -08:00
Andrey Lushnikov
1120b82ba2
feat(firefox): roll Firefox & Firefox Beta ( #20670 )
...
Fixes #19685
Fixes #20093
2023-02-06 14:08:32 -08:00
Yury Semikhatsky
9303dd552d
test: enable span scroll in webkit ( #20681 )
...
Fixes #20165
2023-02-06 12:29:58 -08:00
Andrey Lushnikov
0a752f3fd6
chore(docker): remove experimental docker integration ( #20676 )
...
This removes everything related to docker integration experiments that
we conducted over the last 6 months.
I'll send a follow-up with an alternative suggestion that was demo'ed on
a team meeting in the end of December.
2023-02-06 10:50:45 -08:00
Max Schmitt
bcecce6b6e
test: skip resource-timing WK tests on Windows ( #20622 )
2023-02-06 10:41:09 +01:00
Yury Semikhatsky
492e9f6d7c
test: scroll into view span element ( #20628 )
...
https://github.com/microsoft/playwright/issues/20165
2023-02-04 10:32:53 -08:00
Dmitry Gozman
e64c623e61
feat(expect): strip down Expect types ( #20601 )
...
This only leaves:
- documented assertions;
- asymmetric matchers;
- `resolves`/`rejects`;
- `expect.extend()`;
- `expect.getState()` with selected properties.
References #20432 .
2023-02-03 15:56:31 -08:00
Sam Chen
340cacf4fd
feat: show diff tab by default ( #19820 )
...
Close https://github.com/microsoft/playwright/issues/19803
I had to manually inject `window.playwrightReportBase64` data into
`playwright/packages/html-reporter/index.html` when developing,
wondering if there's any method I don't know.
2023-02-03 10:32:23 -08:00
Andrey Lushnikov
9c6a1a6ff0
fix: make sure screenshots work when main page context is tampered ( #20615 )
...
This patch has 2 fixes:
- screenshot code was accidentally using main page context to fetch
page layout metrics instead of a utility context
- Avoid usage of `self.eval` inside utility context since it escapes
Firefox sandbox. This turns out to be an upstream bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1814898
Fixes #20434
2023-02-03 10:01:23 -08:00
Andrey Lushnikov
f45f20a8c9
fix: handle not.toPass() with expect.soft inside ( #20596 )
...
Fixes #20518
2023-02-03 09:14:05 -08:00
Max Schmitt
c9230c699c
test: add test for cookies of wss requests ( #20586 )
...
https://github.com/microsoft/playwright/issues/20370
2023-02-02 16:42:58 -08:00
Dmitry Gozman
3180bc9804
fix(types): make most fixtures non-undefined ( #20573 )
...
Fixes #20416 .
2023-02-02 13:11:50 -08:00
Andrey Lushnikov
4f61105032
fix: swallow expect.soft errors inside successful toPass matcher ( #20509 )
...
Fixes #20437
2023-02-02 10:47:20 -08:00
Yury Semikhatsky
cf76d47e22
test: update 'should handle custom dataTransfer' expectation ( #20595 )
...
Headless linux was fixed by recent webkit roll, but it turns out the
test has been failing on webkit windows too.
#18013
2023-02-02 10:26:47 -08:00
Max Schmitt
b803128a81
test: CloseEvent.wasClean=false when WS server terminates ( #20594 )
...
https://github.com/microsoft/playwright/issues/12353
2023-02-02 19:04:26 +01:00
Playwright Service
f56d29709e
feat(firefox-beta): roll to r1377 ( #20516 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-02-02 07:14:18 -08:00
Dmitry Gozman
5fb430a743
fix(test runner): do not print timeout message upon interrupt ( #20574 )
...
We should only print "Test was interrupted."
Regressed in #18321 .
2023-02-01 19:39:43 -08:00
Yury Semikhatsky
8f229fac9e
test: custom dataTransfer type ( #20571 )
...
#18013
2023-02-01 17:18:58 -08:00
Dmitry Gozman
f46883e58e
feat(expect): add GenericAssertions documentation ( #20564 )
...
References #20432 .
2023-02-01 16:55:52 -08:00
Pavel Feldman
421dd884a7
chore: implement --no-deps ( #20569 )
2023-02-01 16:32:13 -08:00
Dmitry Gozman
6ad4687f4d
feat(route): add maxRedirects option to Route.fetch ( #20567 )
...
References #20501 .
2023-02-01 14:43:21 -08:00
Pavel Feldman
635b47025e
chore: expose project dependencies api ( #20546 )
2023-02-01 08:39:07 -08:00
Max Schmitt
59d1147247
test: unskip 'should be able to download a inline PDF file via navigation' for WebKit ( #20551 )
...
Fixes https://github.com/microsoft/playwright/issues/20044
2023-02-01 13:56:38 +01:00
Pavel Feldman
08e4b50ff6
chore: project deps ( #20514 )
2023-01-31 15:59:13 -08:00
Dmitry Gozman
9c6c31a442
fix(types): update PlaywrightTestConfig types ( #20540 )
...
This makes errors more focused on the custom properties.
References #20416 .
2023-01-31 15:02:01 -08:00
Dmitry Gozman
b39079b51e
feat(trace viewer): popout snapshot in a new tab ( #20475 )
2023-01-30 19:07:52 -08:00
Yury Semikhatsky
a03f3223c4
fix: trim long expect messages ( #20517 )
...
Fixes #20324
2023-01-30 17:24:12 -08:00
Dmitry Gozman
c27ad35299
fix(locators): properly escape slash inside attributes ( #20510 )
...
Fixes #20471 .
2023-01-30 13:27:41 -08:00
Yury Semikhatsky
cffe7b65e3
fix: do not hang on submitting target=_blank form ( #20458 )
...
Fixes #18392
2023-01-30 11:13:56 -08:00
Max Schmitt
92eb8e5090
chore: make connectOverCDP work with localhost ( #20396 )
...
This wraps happy eyeballs in two places, the place where we make the
JSON request to Chromium and the actual CDP WebSocket request.
It required changes inside our happy eyeballs implementation since the
[websocket library does not
set](https://github.com/websockets/ws/blob/master/lib/websocket.js#L714 )
the `clientRequestOptions.hostname` field, it just sets the `host` field
where we then fall back to when its not set.
This test would pass before Node.js 18 and fail after Node.js 18 without
my changes.
Fixes https://github.com/microsoft/playwright/issues/20364
2023-01-30 17:44:26 +01:00
Yury Semikhatsky
03b15f6550
test: submit form with target=_blank ( #20462 )
...
#18392
2023-01-30 08:37:05 -08:00
chimurai
f72d400952
chore: fix typos ( #20473 )
2023-01-30 09:53:28 +01:00
Dmitry Gozman
821949d580
test: update stale test expectations ( #20423 )
2023-01-27 21:52:34 -08:00
Yury Semikhatsky
532ca3f7b3
fix: throw on tap when hasTouch=false ( #20457 )
...
Fixes #20430
2023-01-27 15:51:57 -08:00
Pavel Feldman
2c27bd3b07
chore: remove plugin registration sink ( #20460 )
2023-01-27 14:36:41 -08:00
Etienne
252b489a7f
feat(trace-viewer): allow host and port to be specified ( #20258 )
2023-01-27 14:20:25 -08:00
Yury Semikhatsky
bb01d99458
test: enable "intercept css variable with url" ( #20455 )
...
Fixes #19158
2023-01-27 11:09:40 -08:00
Dmitry Gozman
ead4989947
fix(api): Response.finished() throws when target closes ( #20453 )
2023-01-27 10:42:43 -08:00
Yury Semikhatsky
faadbba63c
test: webm video player ( #20421 )
...
Fixes #18423
2023-01-27 09:48:47 -08:00
Max Schmitt
eb87c9276e
test: do not create ipv6 server inside Docker ( #20440 )
2023-01-27 18:38:27 +01:00
Andrey Lushnikov
2af31edadd
feat: roll Firefox and Firefox-Beta to latest builds ( #20449 )
...
These builds initiate browser-side navigation for `page.goto` command.
Drive-by: add a minimal file URL test.
2023-01-27 09:31:45 -08:00
Andrey Lushnikov
9ca9b08d90
fix: better formatting for sparse arrays ( #20379 )
...
Right now arrays preview yields all array elements. In case
of a sparse array with a single element on index 10000000,
this results in a large string that OOM Node.js.
This patch changes pretty-printing. For example:
```ts
// Given this array
const a = [];
a[10] = 1;
// Before this patch, pretty printing will yield:
"[,,,,,,,,1]"
// With this patch, pretty printing yields:
"[empty x 9, 1]"
```
The new array pretty-printing is equal to what Chrome DevTools
do to render sparse arrays.
Fixes #20347
2023-01-27 05:07:55 -08:00
Dmitry Gozman
ad6d24bf94
test: update headful.spec to use modern fixtures ( #20428 )
2023-01-26 19:01:54 -08:00
Yury Semikhatsky
99f0560122
test: enable video test on macos monterey+ ( #20420 )
2023-01-26 17:09:22 -08:00
Yury Semikhatsky
0a9cf85653
test: intercept request from css variable ( #20422 )
...
#19158
2023-01-26 14:20:24 -08:00
Yury Semikhatsky
249d969d4b
test: navigator.clipboard is present ( #20402 )
...
Fixes #18901
2023-01-26 10:15:19 -08:00
Yury Semikhatsky
840052a309
test: enable download not attachment on webkit ( #20403 )
...
Fixes #19939
2023-01-26 10:13:44 -08:00
Yury Semikhatsky
e8a1c91c52
test: enable test on webkit ( #20404 )
...
The fix is included into the recent webkit roll.
Fixes #20079
2023-01-26 10:13:21 -08:00
Pavel Feldman
f7ff252455
chore: remove addFatalError ( #20383 )
2023-01-25 17:26:30 -08:00
Pavel Feldman
fe1dd7818d
chore: extract task runner for global setup ( #20345 )
2023-01-25 15:38:23 -08:00
Dmitry Gozman
d1fb3a2384
fix(test runner): do not send entirely skipped test groups to a worker ( #20346 )
...
Move TestCase properties calculation from WorkerMain to suite building
phase.
Fixes #20156 .
2023-01-25 12:54:50 -08:00
Max Schmitt
c1487f886b
test: skip 'should be able to visit ipv6' if docker ( #20362 )
2023-01-25 17:49:49 +01:00
Playwright Service
d7366cfc7c
feat(chromium-tip-of-tree): roll to r1080 ( #20323 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-25 10:23:12 +01:00
Playwright Service
00edf587d5
feat(webkit): roll to r1773 ( #20342 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-01-25 10:03:50 +01:00
Dmitry Gozman
a9422beecb
Revert "chore: respect headless option when reusing browser ( #19980 )" ( #20336 )
...
This reverts commit e674ea217f .
2023-01-24 11:07:53 -08:00
Dmitry Gozman
b971dd3417
fix(test runner): show deep strack traces during imports ( #20305 )
...
Fixes #20239 .
2023-01-24 08:49:06 -08:00
Yury Semikhatsky
2c52d5be59
test: navigation to resource with unknown mime type ( #20313 )
...
https://github.com/microsoft/playwright/issues/20089
2023-01-24 07:29:46 -08:00
Yury Semikhatsky
7fcec1a06b
test: file input triggers input event only once ( #20306 )
...
#20079
2023-01-23 17:56:02 -08:00
Pavel Feldman
147bb6b292
chore: run global setup before onBegin ( #20285 )
2023-01-23 17:44:23 -08:00
Dmitry Gozman
0ec1d5d452
test: disable "should work with video+trace" on headed ( #20299 )
2023-01-23 15:26:05 -08:00
Pavel Feldman
9f31bcfbab
chore: refactor graceful close, rename to host/main ( #20283 )
2023-01-22 15:04:29 -08:00
Dmitry Gozman
b700c08dc5
feat(screenshots): when actual and expected have different sizes, pad and produce the diff image ( #20208 )
...
Also show sizes in the html report to easier spot the size mismatch
issue.
<img width="1030" alt="diff"
src="https://user-images.githubusercontent.com/9881434/213327632-b8fcd69c-8d08-460c-9de1-b5f4f8c56359.png ">
Fixes #15802 .
2023-01-20 19:41:43 -08:00
Pavel Feldman
7ff27600b4
chore: experimental oop loader ( #20269 )
2023-01-20 18:24:15 -08:00
Dmitry Gozman
eafa6fda13
fix(expect): poll/toPass should not wait over specified timeout ( #20266 )
...
Drive-by: unflake some timeout-dependent tests.
2023-01-20 15:47:24 -08:00
Pavel Feldman
3066ffd577
chore: use fake pool on the runner side ( #20241 )
2023-01-20 08:36:31 -08:00
Dmitry Gozman
d950f5b6ee
chore: remove toIntersectViewport for the next release ( #20232 )
...
Mostly reverts #19901 .
2023-01-19 15:04:09 -08:00
Dmitry Gozman
3f79786cf8
test: fix socks proxy test for wk mac ( #20227 )
...
Drive-by: unskip firefox test.
2023-01-19 09:10:42 -08:00
Andrey Lushnikov
1b8b20dc25
chore: drop locator.viewportRatio() method ( #20131 )
...
As per API review discussion, we'd like to refrain from
exposing this method.
2023-01-19 08:46:45 -08:00
Pavel Feldman
e08168e16e
chore: temporarily remove project and global setup, store ( #20181 )
2023-01-18 12:56:03 -08:00
Andrey Lushnikov
b7e30a8bf6
test: failing test for WebKit ( #20088 )
...
The test fails if the `content-disposition` header does not have
an "attachment" value.
#20089
2023-01-17 20:15:35 -08:00
Max Schmitt
0656ab4811
chore: roll stable test-runner to 1.30.0-alpha-jan-16-2023 ( #20139 )
2023-01-17 19:23:24 +01:00
Max Schmitt
2cfb007382
test: fix stress test bots ( #20138 )
...
This started failing in
https://github.com/microsoft/playwright/pull/20061 .
Error:
https://github.com/microsoft/playwright/actions/runs/3906084857/jobs/6673856806#step:8:15
2023-01-17 19:23:13 +01:00
Andrey Lushnikov
92375f6333
fix: support import assertions ( #20009 )
...
Fixes #19928
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-16 08:26:14 -08:00
Andrey Lushnikov
780e64f2c6
test: fix toIntersectViewport test on WebKit @ Ubuntu 22.04 ( #20132 )
...
For some reason scrolling inline element into view doesn't
always work.
2023-01-16 00:11:33 -08:00
Sander
5b3a306284
test(ct): react vite slice by feature ( #20098 )
2023-01-13 18:15:43 -08:00
Sander
10404706e9
test(ct): react slice by feature ( #20099 )
2023-01-13 18:15:33 -08:00
Pavel Feldman
d1c161ce99
chore: merge the util exports ( #20110 )
2023-01-13 13:50:38 -08:00
Pavel Feldman
736cf5c585
fix(tsx): resolve .js imports to .tsx as well ( #20092 )
...
Fixes: https://github.com/microsoft/playwright/issues/20039
2023-01-13 10:49:10 -08:00
Pavel Feldman
e065d608b6
chore: introduce defineConfig for easier JS typing ( #20061 )
...
Fixes https://github.com/microsoft/playwright/issues/19694
2023-01-12 13:12:02 -08:00
Yury Semikhatsky
730a197c80
feat: config.globalScripts ( #20062 )
...
Introduce config.globalScripts. Tests from the matching files will run
before all projects. We'll only allow beforeAll/afterAll instead of
tests in such files (next PR).
Global scripts are executed as part of 'Global Scripts' project which is
not present in FullConfig.projects but may be referenced by
corresponding global setup Suites.
Signed-off-by: Yury Semikhatsky <yurys@chromium.org>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-01-12 13:02:54 -08:00
Sander
4a038b726d
test(ct): vue2 slice by feature ( #20080 )
2023-01-12 10:46:15 -08:00
Dmitry Gozman
862125e122
test: record trace+video at the same time ( #20082 )
...
Fixes #12266 .
2023-01-12 10:44:20 -08:00
Sander
5d86d6f662
test(ct): vue cli slice by feature ( #20083 )
2023-01-12 10:43:47 -08:00
Sander
c4b9654fa7
test(ct): svelte slice by feature ( #20045 )
...
follow up for: https://github.com/microsoft/playwright/pull/19657 .
2023-01-11 14:07:02 -08:00
Sander
ff23b49457
test(ct): solid slice by feature ( #20048 )
2023-01-11 14:06:43 -08:00
Max Schmitt
a7495c3326
fix: use no internal selectors for frame locators ( #19964 )
...
Fixes https://github.com/microsoft/playwright/issues/19406
2023-01-11 21:53:19 +01:00
Dmitry Gozman
4f837690e2
fix(connect): do not log ws query params ( #20047 )
2023-01-11 12:27:27 -08:00
Dmitry Gozman
bd4efa9dc1
test: update tests for waituntil:commit ( #20042 )
...
Instead of never finishing the response which works differently across
browsers, stall the required script.
This makes "DOMContentLoaded" to never fire and properly tests the
"commit" signal.
2023-01-11 10:16:51 -08:00
Dmitry Gozman
e674ea217f
chore: respect headless option when reusing browser ( #19980 )
...
References #19746 .
2023-01-10 10:49:53 -08:00
Max Schmitt
e2a2196e6a
chore(html-reporter): show project name always for the test file ( #19905 )
...
Fixes https://github.com/microsoft/playwright/issues/19874
2023-01-10 17:11:38 +01:00
Dmitry Gozman
28577afde4
feat(soft expect): mark steps with failed soft expects as failed ( #19973 )
...
Fixes #19673 .
2023-01-09 16:17:06 -08:00
Sander
a5f4717192
test(ct): vue vite slice by feature ( #19657 )
2023-01-09 12:36:33 -08:00
Yury Semikhatsky
a39a97f0ee
chore: setup -> test.projectSetup ( #19932 )
...
* Changed `setup` to `test.projectSetup`
* Only `test.projectSetup.only` is supported on the new method
* test.* methods except for before/after/Each/All hooks can be called
inside the project setup files
2023-01-09 11:21:48 -08:00
Dmitry Gozman
830c3c9f0f
fix(reuse): workaround long sw unregister ( #19930 )
...
Bogus `importScripts()` sometimes makes `unregister()` hang for long
time. We detect this case and not await it.
Fixes #19789 .
2023-01-06 17:02:40 -08:00
Andrey Lushnikov
2a49c5e498
feat(expect): introduce expect(locator).toIntersectViewport() ( #19901 )
...
This is a new web-first assertion that should be used like this:
```ts
test('should work', async ({ page }) => {
const locator = page.locator('body');
// New web-first assertion.
await expect(locator).toIntersectViewport();
// The same functionality.
await expect.poll(() => locator.viewportRatio()).toBeGreaterThan(0);
});
```
Fixes #8740
2023-01-06 16:56:24 -08:00
Andrey Lushnikov
1385007185
test: fix locator.viewportRatio() tests ( #19931 )
...
Drive-by: make sure `locator.viewportRatio()` returns `0`
for non-existing element.
2023-01-06 16:55:38 -08:00
Max Schmitt
c339e1615b
fix(fetch): handle invalid redirect URL ( #19890 )
...
Fixes https://github.com/microsoft/playwright/issues/19879 .
This part is then similar to how node-fetch is doing it:
55a4870ae5/src/index.js ?q=location#L152-L159
node-fetch also throws as of today with this URL. Before in Python it
was stalling, because the error was written to stdout and on Windows the
stdout wasn't working. On Node.js it ended up in an unhandled exception.
2023-01-06 10:22:17 -08:00
Dmitry Gozman
cd698a2258
feat(trace viewer): render selectors as locators ( #19907 )
...
Drive-by: fix more places with SerializedValue rendering.
Fixes #19085 .
2023-01-05 16:59:50 -08:00
Dmitry Gozman
31a63b5c2a
fix(reuse): make reuse work with tracing ( #19733 )
...
Fixes #19059 .
2023-01-05 14:50:47 -08:00
Yury Semikhatsky
10ccfa9517
feat(fetch): happy eyeballs ( #19902 )
...
Fixes #18790
2023-01-05 14:39:49 -08:00
Max Schmitt
4359111289
test: unskip wk test ( #19903 )
2023-01-05 22:51:08 +01:00
Dmitry Gozman
e07d1722ec
test: rebase permission test for Chromium >= 110 ( #19899 )
...
Fixes #19180 .
2023-01-05 13:01:37 -08:00
Andrey Lushnikov
1afa38d5a7
chore(expect): extract polling from expect.poll and expect().toPass ( #19882 )
...
This extracts & unifies polling machinery from `expect.poll` and
`expect.toPass` methods.
2023-01-05 11:14:37 -08:00
Max Schmitt
ddccb59093
chore: fix Java CLI invocation on Windows ( #19895 )
...
For reference: https://stackoverflow.com/a/64300409
2023-01-05 10:55:07 -08:00
Andrey Lushnikov
3883799d68
feat: introduce locator.viewportRatio ( #19761 )
...
References #8740
2023-01-05 10:49:32 -08:00
Playwright Service
abe901d598
feat(chromium-tip-of-tree): roll to r1074 ( #19853 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-05 19:04:20 +01:00
Dmitry Gozman
388a3e1f37
fix(test runner): make sure to run afterAll after skipped tests ( #19878 )
...
Fixes #19745 .
2023-01-04 14:13:49 -08:00
Dmitry Gozman
6193e6d8ea
fix(reuse): reset tracing ( #19876 )
...
References #19059 .
2023-01-04 13:19:05 -08:00
Dmitry Gozman
711a1aadbf
chore: update tracing tests helper ( #19848 )
...
To be reused in future tests.
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2023-01-03 17:30:36 -08:00
Dmitry Gozman
f58015281a
test: attempt to unflake inspector tests ( #19845 )
...
On headed bots, we might get `locator('body')` from initial mouse
position.
2023-01-03 16:26:21 -08:00
Grant Colestock
a30aac5668
fix: make sure jsx fragments are transformed ( #19755 )
...
Fixes : #19142
2022-12-31 11:08:36 -08:00
Andrey Lushnikov
caec93ef42
test: enable ssim-cie94 image comparison algorithm for our tests ( #19313 )
2022-12-29 23:48:28 -08:00
Sander
b363902e1b
feat(ct): https ( #19697 )
2022-12-28 17:04:23 -08:00
Dmitry Gozman
5cdf118a42
fix(reuse): disable trace/video when reusing the context ( #19764 )
...
Previously, we disabled reuse when trace/video was on. Component testing
keeps this behavior.
References #19059 .
2022-12-28 16:58:34 -08:00
Yury Semikhatsky
137070d889
Revert "chore: hide setup, store, TestProject.setupMatch, storageStat… ( #19756 )
...
…eName (#19442 )"
This reverts commit 92dd734e04 .
2022-12-28 15:39:31 -08:00
Yury Semikhatsky
b8f96a9411
fix(generator): FilterOptions in java ( #19741 )
...
Fixes #19448
2022-12-28 09:13:06 -08:00
Dmitry Gozman
0b223b9036
fix(hit target): account for iframes with padding ( #19732 )
...
Padding on iframes moves the `documentElement` inside the iframe, so we
should account for it when converting coordinates between frames.
Fixes #19613 .
2022-12-27 16:59:34 -08:00
Dmitry Gozman
3334d89ad7
fix(socks): support ipv6 ( #19727 )
...
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-12-27 14:45:35 -08:00
Sander
ba393f51a8
feat(ct): before mount hook wrapper ( #18616 )
2022-12-27 14:26:17 -08:00
Dmitry Gozman
c1b9a56079
chore: migrate waitForSelector to not use rerunnable task ( #19715 )
2022-12-27 13:39:35 -08:00
Dmitry Gozman
24f2ccb4ca
feat(getByLabel): support aria-label ( #19726 )
...
References #19284 .
2022-12-27 12:43:55 -08:00
Dmitry Gozman
3ad65e7ce8
fix(launchServer): disable socks by default ( #19723 )
...
Socks does not support ipV6 yet.
References #19661 .
2022-12-27 10:43:36 -08:00
Dmitry Gozman
1bb019ac81
chore: migrate most of rerunnable tasks to element callback ( #19713 )
2022-12-27 09:22:22 -08:00
Sander
c5d9b8d0fb
chore: update to vite 4 ( #19690 )
2022-12-27 09:14:39 -08:00
Dmitry Gozman
0087bfac23
fix(role): update allowsNameFromContent to closer align with blink/gecko ( #19692 )
2022-12-27 09:06:46 -08:00
Pavel Feldman
7f5cd0aa8b
test(events): ensure events are dispatched in individual tasks ( #19687 )
...
Test for https://github.com/microsoft/playwright/issues/19685
2022-12-27 08:59:03 -08:00
Dmitry Gozman
cce29215f9
chore: make input actions not use rerunnable task ( #19638 )
2022-12-24 10:40:36 -08:00
Pavel Feldman
e61a8c6592
fix(generator): penalize for the selector length ( #19672 )
2022-12-22 20:54:04 -08:00
Pavel Feldman
233664bd30
chore: report more fatal errors via reporter ( #19640 )
2022-12-22 17:31:02 -08:00
Pavel Feldman
8b80e22a03
fix(har): recalculate receive time after response ended ( #19646 )
...
Fixes https://github.com/microsoft/playwright/issues/19327
2022-12-22 17:30:32 -08:00
Pavel Feldman
fe989d95eb
chore(electron): move loader to be preload ( #19650 )
...
Fixes https://github.com/microsoft/playwright/issues/19648
2022-12-22 17:28:08 -08:00
Dmitry Gozman
83418aa8ab
fix(socks): cleanup event listeners upon disconnect ( #19671 )
...
References #19661 .
2022-12-22 17:15:51 -08:00
Ross Wollman
06c7f1fb6c
fix(html): test and fix reporter timing display ( #19670 )
...
#19576 introduced a regression where the CLI reporters displayed some
times with way too many decimals. e.g. 7.123456789ms.
Prior to #19576 , there were two monotonicTime implementations; that PR
updated the reporters to use the common definition that had existed in
utils.ts. However, that introduced a regression in the base.ts reporters
which used the ms duration humanizing package which did not account for
the more precise decimals used by the shared monotonicTime function.
This fix removes the dependency on the third-party ms package and now
consistently uses Pavel's humanize function which the HTML reporter had
been using and proved to have better defaults for decimals.
Additionally, we add more test coverage to limit future regressions
since this was caught in passing.
Closes #19556 .
Relates #19576 .
2022-12-22 15:57:55 -08:00
Dmitry Gozman
b8848fb499
fix(test runner): make sure undefined options in config result in default values ( #19632 )
...
Note: this keeps existing behavior of `undefined` in `test.use()`
reverting to the config value and not to the original default value.
References #19615 .
2022-12-21 14:34:43 -08:00
Dmitry Gozman
eaae8ebbf3
chore: throw InvalidSelectorError from selector parser, add some tests ( #19636 )
2022-12-21 14:27:35 -08:00
Dmitry Gozman
d12bc0be9a
fix(screenshot): account for screenshot === undefined ( #19627 )
2022-12-21 10:16:36 -08:00
Pavel Feldman
675f0eb4a0
chore: report error location for fatal errors ( #19610 )
2022-12-21 09:36:59 -08:00
Ross Wollman
0844394270
feat(html): display overall duration ( #19576 )
...
<img width="1390" alt="Screenshot 2022-12-19 at 4 15 33 PM"
src="https://user-images.githubusercontent.com/11915034/208552484-c0127615-d2c6-414f-ae3b-e7836553d890.png ">
* Adds duration (time ellapsed from `onBegin` to `onEnd`); roughly
equivalent to `time npx playwright test …`.
* Removes cumulative per-file time
Resolves #19566 .
2022-12-20 14:13:10 -08:00
Pavel Feldman
95cc5c2a2e
fix(electron): fix the directory app path ( #19601 )
2022-12-20 12:50:53 -08:00
Pavel Feldman
971e30482a
fix(electron): allow using pre-ready apis ( #19599 )
2022-12-20 10:40:48 -08:00
Andrey Lushnikov
d7e7cab44a
fix: properly handle negated timed-out toPass matcher ( #19580 )
2022-12-20 08:41:32 -08:00
Dmitry Gozman
412c11db20
fix(reuse): make sure all dispose and close sequences are executed ( #19572 )
...
- When disposing recursively, only the root dispatcher received
`_dispose()` call, while some dispatchers need `_onDispose()` to clean
things up.
- When reusing the context, pages should be notified with `_onClose()`
so that all client-side waiting promises could reject.
Fixes #19216 .
2022-12-19 15:54:53 -08:00
Sander
600d6bc635
test(ct): svelte router ( #18749 )
2022-12-19 15:34:45 -08:00
Sander
f540ce08f2
feat(ct): vue2 plugins ( #18596 )
2022-12-19 15:33:50 -08:00
Han Yeong-woo
00ffd74727
fix(runner): import export assignment from ts ( #19559 )
2022-12-19 14:41:29 -08:00
Vladimir Semenov
467d9f37fc
feat(reporter): Add parallelIndex field to TestResult ( #19570 )
2022-12-19 14:37:04 -08:00
Dmitry Gozman
1263bc3edd
feat(console api): first/last/nth ( #19485 )
2022-12-15 11:17:59 -08:00
Pavel Feldman
3afd83c8cc
chore: withdraw locator.enumerate ( #19484 )
2022-12-15 10:13:56 -08:00
Playwright Service
091234e57f
feat(firefox-beta): roll to r1372 ( #19466 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-12-15 09:00:50 -08:00
Max Schmitt
1dcb8f643d
chore: fix Android tests ( #19426 )
2022-12-15 07:56:57 +01:00
Pavel Feldman
0e2732decf
feat(api): introduce expect().toPass ( #19463 )
2022-12-14 19:23:13 -08:00
Pavel Feldman
17a0074459
feat(api): introduce Locator.all, enumerate ( #19461 )
2022-12-14 16:42:50 -08:00
Ross Wollman
a1bb1dd94f
test: fix flaky cookie roundtrip test ( #19459 )
...
<img width="1676" alt="Screenshot 2022-12-14 at 2 05 29 PM"
src="https://user-images.githubusercontent.com/11915034/207726274-167d9ee7-c01b-4379-aff1-37dad979d23b.png ">
Flakiness dashboard reveals on Window's variants of Chromium, the
decimal for actual vs. expected was slightly off (e.g. 1705568002.677066
vs. 1705568002.674173).
This test fix assumes it's acceptable to suppress the roundtrip floating
point difference (which appears to be constrained to Windows).
Signed-off-by: Ross Wollman <rwoll@users.noreply.github.com>
2022-12-14 15:24:54 -08:00
Dmitry Gozman
a27f1f744f
feat(getByLabel): support aria-labelledby ( #19456 )
...
Testing library also treats them equally.
Fixes #19284 .
2022-12-14 13:51:05 -08:00
Andrey Lushnikov
8167f8bf54
chore: hide "comparator" option from documentation and types ( #19441 )
2022-12-14 09:58:19 -08:00
Max Schmitt
d418539309
test: make webview2 green
2022-12-14 09:47:42 +01:00
Yury Semikhatsky
92dd734e04
chore: hide setup, store, TestProject.setupMatch, storageStateName ( #19442 )
2022-12-13 22:48:38 -08:00
Dmitry Gozman
ab9602bebf
chore: remove unused PW_TEST_OUT_OF_PROCESS_DRIVER ( #19434 )
2022-12-13 16:04:44 -08:00
Dmitry Gozman
b97900b925
tests: use run-server for mode=service tests, restrict to page tests only ( #19435 )
2022-12-13 16:03:53 -08:00
Pavel Feldman
d1559a0fcc
chore: route.fetch(postData) ( #19436 )
2022-12-13 14:01:39 -08:00
Andrey Lushnikov
87141f6856
chore: add metadata for 'chromium page tests' project ( #19431 )
2022-12-13 13:12:07 -08:00
Pavel Feldman
6cadc56ea3
feat(api): allow getByTestId(regex) ( #19419 )
2022-12-13 08:43:13 -08:00
Max Schmitt
7b4ae20305
test: make webview2 green ( #19429 )
2022-12-13 08:39:16 -08:00
Dmitry Gozman
539893402e
feat(socks): support pattern similar to proxy bypass rules ( #19387 )
...
- `<loopback>` for local interfaces;
- `123.123.123.123` for IPv4;
- `[1:2:3:4:5:6:7:8]` for IPv6;
- `*.example.com` and `.example.com` for subdomains;
- `example.com` for domains;
- `anything:3000` for port matching.
2022-12-12 12:27:34 -08:00
Pranav Jain
59118b83f9
feat(android): add support for passing CR args & proxy when launching browser ( #19212 )
...
Fixes https://github.com/microsoft/playwright/issues/19211
2022-12-12 16:15:19 +01:00
Dmitry Gozman
3c17a2603a
feat(console api): support locator.filter ( #19389 )
2022-12-09 15:25:12 -08:00
Dmitry Gozman
256e9fd443
feat(connect): allow exposing local network to the remote browser (experimental) ( #19372 )
...
`connectOptions: { _exposeNetwork: '*' | 'localhost' }`
References #19287 .
2022-12-09 11:16:29 -08:00
Andrey Lushnikov
858c2453b3
feat(containers): implement reverse proxy for novnc and server ( #18569 )
...
This patch adds a reverse proxy in front of novnc and playwright
server inside the container.
As a result:
- container exposes a single HTTP port to the host
- all Playwright clients can connect using this exposed port, e.g.
`http://127.0.0.1:5400 `
- navigating to the exposed port in the browser lands on a nice HTML
page
with a link to view container screen
- users can also manually navigate to `http://127.0.0.1:5400/screen ` to
view screen
2022-12-08 17:17:18 -08:00
Andrey Lushnikov
526bc3f252
fix(ssim-cie94): further tune SSIM-CIE94 to fight wk artifacts ( #19370 )
...
This patch adds a grid border around the image so that the SSIM
resolution doesn't drop for the border pixels.
We also add a test with WebKit rendering artifacts to make sure
new approach helps to fight this.
2022-12-08 16:08:41 -08:00
Andrey Lushnikov
6139b432fd
fix(ssim-cie94): increase SSIM window radius ( #19343 )
...
While migrating Playwright tests from pixelmatch comparator to the
ssim-cie94 comparator, we noticed a rendering artifact that happens
on playwright screenshot tests on WebKit Linux.
This PR adds a set of cropped-down examples and tunes the ssim-cie94
comparator to accept these rendering artifacts.
2022-12-07 16:25:16 -08:00
Dmitry Gozman
622c1a8da6
tests: run browserType.connect tests against launchServer and run-server ( #19340 )
2022-12-07 14:36:32 -08:00
Pavel Feldman
7aa3935dcc
chore: match selected options by both value and label ( #19316 )
2022-12-07 09:04:32 -08:00
Dmitry Gozman
fd22d8bde1
feat(tether): support hostname pattern in socks proxy ( #19302 )
...
For now, only '*' and 'localhost' are supported.
References #19287 .
2022-12-07 08:46:35 -08:00
Fernando Garcia Llorente
cd4ccdfa29
feat: allow options in automatic screenshots ( #19143 )
...
Closes #9983
Allowing Automatic Screenshots in `PlaywrightTestConfig` to have
`fullPage` & `omitBackground` as optional parameters.
2022-12-07 08:45:33 -08:00
Dmitry Gozman
d294c5da33
chore: roll stable-test-runner to 1.28.1 ( #19310 )
...
This required `allowJs: false` in our `tsconfig.json` due to the
following error:
```
Error: Cannot find module './utilsBundleImpl'
Require stack:
- <playwright>/packages/playwright-core/src/utilsBundle.ts
- <playwright>/packages/playwright-test/lib/reporters/html.js
- <playwright>/tests/playwright-test/reporter-html.spec.ts
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/loader.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/runner.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/lib/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/playwright-core/lib/cli/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/playwright-core/cli.js
- <playwright>/tests/playwright-test/stable-test-runner/node_modules/@playwright/test/cli.js
at ../../packages/playwright-core/src/utilsBundle.ts:20
18 | import path from 'path';
19 |
> 20 | export const colors: typeof import('../bundles/utils/node_modules/colors/safe') = require('./utilsBundleImpl').colors;
| ^
21 | export const debug: typeof import('../bundles/utils/node_modules/@types/debug') = require('./utilsBundleImpl').debug;
22 | export const getProxyForUrl: typeof import('../bundles/utils/node_modules/@types/proxy-from-env').getProxyForUrl = require('./utilsBundleImpl').getProxyForUrl;
23 | export const HttpsProxyAgent: typeof import('../bundles/utils/node_modules/https-proxy-agent').HttpsProxyAgent = require('./utilsBundleImpl').HttpsProxyAgent;
at Object.<anonymous> (<playwright>/packages/playwright-core/src/utilsBundle.ts:20:83)
at Object.<anonymous> (<playwright>/packages/playwright-test/src/reporters/html.ts:17:1)
```
2022-12-06 15:46:19 -08:00
Yury Semikhatsky
beb15bb504
chore: rename setup => setupMatch ( #19309 )
2022-12-06 14:55:22 -08:00
Yury Semikhatsky
1b3e53697b
chore: TestStorage => TestStore ( #19308 )
2022-12-06 13:33:43 -08:00
Dmitry Gozman
4784dae10f
fix(role): accessibleName computation should walk the flat dom tree ( #19301 )
...
- When visiting `<slot>` element, descend into assigned nodes.
- When node has `assignedSlot`, skip it during regular traversal.
Fixes #18989 .
2022-12-06 09:31:26 -08:00
Yury Semikhatsky
3c1b26b9f1
feat: make storage a global variable ( #19283 )
2022-12-05 21:37:37 -08:00
Yury Semikhatsky
f9ef18912d
feat: use setup() instead of test() for project setup ( #19281 )
2022-12-05 18:15:01 -08:00
Dmitry Gozman
81c8620bfe
chore: upgrade internal types to support TypeScript 4.9.3 ( #19280 )
...
Fixes https://github.com/microsoft/TypeScript/issues/51619
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-05 17:22:25 -08:00
Playwright Service
84a0aaaaff
feat(chromium-tip-of-tree): roll to r1065 ( #19239 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-05 11:22:03 -08:00
Dmitry Gozman
0be4fa768a
fix(codegen): do not generate Promise.all ( #19182 )
...
Drive-by: fix `download`, `dialog` and `popup` signals to use different
variable names in all languages.
2022-12-02 17:33:01 -08:00
Dmitry Gozman
c547416e24
test: unflake "should highlight locators with custom testId" ( #19236 )
2022-12-02 17:32:29 -08:00
Andrey Lushnikov
6d82460a02
feat: implement a new image comparison function ( #19166 )
...
This patch implements a new image comparison function, codenamed
"ssim-cie94". The goal of the new comparison function is to cancel out
browser non-determenistic rendering.
To use the new comparison function:
```ts
await expect(page).toHaveScreenshot({
comparator: 'ssim-cie94',
});
```
As of Nov 30, 2022, we identified the following sources of
non-determenistic rendering for Chromium:
- Anti-aliasing for certain shapes might be different due to the
way skia rasterizes certain shapes.
- Color blending might be different on `x86` and `aarch64`
architectures.
The new function employs a few heuristics to fight these
differences.
Consider two non-equal image pixels `(r1, g1, b1)` and `(r2, g2, b2)`:
1. If the [CIE94] metric is less then 1.0, then we consider these pixels
**EQUAL**. (The value `1.0` is the [just-noticeable difference] for
[CIE94].). Otherwise, proceed to next step.
1. If all the 8 neighbors of the first pixel match its color, or
if the 8 neighbors of the second pixel match its color, then these
pixels are **DIFFERENT**. (In case of anti-aliasing, some of the
direct neighbors have to be blended up or down.) Otherwise, proceed
to next step.
1. If SSIM in some locality around the different pixels is more than
0.99, then consider this pixels to be **EQUAL**. Otherwise, mark them
as **DIFFERENT**. (Local SSIM for anti-aliased pixels turns out to be
very close to 1.0).
[CIE94]: https://en.wikipedia.org/wiki/Color_difference#CIE94
[just-noticeable difference]:
https://en.wikipedia.org/wiki/Just-noticeable_difference
2022-12-02 15:22:05 -08:00
Dmitry Gozman
6471e8536e
feat(test runner): support jsconfig.json's baseUrl+paths ( #19219 )
...
Fixes #19129 .
2022-12-01 16:42:25 -08:00
Max Schmitt
3565d97a36
feat(recorder): make it work with [contenteditable] ( #19066 )
...
https://github.com/microsoft/playwright/issues/19029
2022-12-01 12:41:03 -08:00
Playwright Service
dbe4362b9c
feat(firefox): roll to r1366 ( #19185 )
...
Fixes https://github.com/microsoft/playwright/issues/18307 .
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-11-30 19:13:11 -08:00
Pavel Feldman
f0e8d8f074
feat(api): introduce route.fetch and route.fulfill(json) ( #19184 )
2022-11-30 17:26:19 -08:00
Playwright Service
f952e1147b
feat(chromium-tip-of-tree): roll to r1063 ( #19070 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-11-30 11:11:54 -08:00
Dmitry Gozman
307a0b6ea7
fix(dotnet): codegen/docs use Name instead of NameString ( #19156 )
2022-11-29 20:56:18 -08:00
Pavel Feldman
5ac426b3d5
chore: expose utility script to inner evaluates ( #19147 )
2022-11-29 16:57:11 -08:00
Dmitry Gozman
b1b21bdac5
fix(shards): zero-sized shard should not include all tests ( #19148 )
...
Fixes #19073 .
2022-11-29 16:02:11 -08:00
Zihua Li
0c6a0f40c6
feat(keyboard): support simple cut-pasting using meta+x/v ( #18756 )
2022-11-29 12:58:14 -08:00
Dmitry Gozman
23e02dd006
test: unflake some timeout-dependent tests ( #19139 )
2022-11-29 12:54:53 -08:00
Shubham Kanodia
3d804ff7cd
chore: rewrite error message for missing snapshot ( #19104 )
2022-11-29 12:51:15 -08:00
Dmitry Gozman
43a6bf4d45
fix(inspector): support custom test id attribute ( #18996 )
...
Fixes #18959 .
2022-11-29 11:43:47 -08:00
Dmitry Gozman
4f72a895e9
fix(inspector): render expect.not correctly ( #19125 )
...
Also fixes the same in expect logs.
References #19083 .
2022-11-28 20:50:16 -08:00
Max Schmitt
dd18792087
test: navigator.webdriver is set to true ( #19065 )
...
https://github.com/microsoft/playwright/issues/18307
2022-11-28 20:03:49 -08:00
Pavel Feldman
85467d1b7d
chore: generate get by title ( #19119 )
2022-11-28 19:55:34 -08:00
Max Schmitt
b84a7a9e57
test: fix WebKit socks proxy tests ( #19035 )
...
Fixes https://github.com/microsoft/playwright/issues/18301
2022-11-23 13:03:38 -10:00
Yury Semikhatsky
d3f41eaa47
fix(fetch): cookie with domain=localhost ( #18998 )
...
Fixes https://github.com/microsoft/playwright/issues/18362
2022-11-23 09:22:49 -08:00
Yury Semikhatsky
31d45ad4dc
chore(runner): add all setup files in separate pass ( #18978 )
2022-11-22 16:22:48 -08:00
Dmitry Gozman
503f8f51dc
fix(reuse): stop pending operations upon reuse/disconnect ( #18997 )
2022-11-22 15:21:20 -08:00
Dmitry Gozman
190ed9465f
fix(chromium): detach from shared workers ( #18976 )
...
This prevents shared workers from stalling upon restart.
We receive `Inspector.targetCrashed` and
`Inspector.targetReloadedAfterCrash` events that assume
`Runtime.runIfWaitingForDebugger` from any attached client. It is easier
and more stable to just detach from shared workers, because we do not
inspect them.
For service workers, we should actually issue
`Runtime.runIfWaitingForDebugger` in such cases, because we attach to
them.
Fixes #18932 .
2022-11-22 15:20:42 -08:00
Pavel Feldman
73e7c0ed3d
fix(electron): tolerate connection closed during quit ( #18993 )
2022-11-22 11:50:35 -08:00
Pavel Feldman
a0ea9b5fba
chore: simplify slowmo implementation ( #18990 )
2022-11-22 11:06:45 -08:00
Pavel Feldman
228f78c89d
chore: render browser window in trace ( #18870 )
2022-11-22 08:41:52 -08:00
Yury Semikhatsky
2dc51f6c46
fix(runner): run all setup files when there is test.only ( #18967 )
2022-11-21 16:33:23 -08:00
Pavel Feldman
b5d756686d
fix(electron): consistently emit ready event after app is loaded ( #18972 )
...
Fixes: https://github.com/microsoft/playwright/issues/18928
2022-11-21 15:13:53 -08:00
Dmitry Gozman
8ad3bc7ff3
fix(role selector): expanded=false does not match elements without aria-expanded ( #18929 )
...
Fixes #18920 .
2022-11-21 14:13:51 -08:00
Yury Semikhatsky
e1189a96b6
feat(runner): run all setup files if none matched the filter ( #18922 )
...
The behavior regarding filters (both in config, command line and .only)
is the following:
- if some of tests match and none of setup match then we'll run all
setup files and all matching tests
- otherwise the filters apply to setup files the same way as to regular
tests
2022-11-21 09:23:28 -08:00
Dmitry Gozman
941090f0c4
fix(click): account for transformed iframes ( #18926 )
...
- Properly convert coordinates for iframes with non-zero borders.
- IFrames that have `transform` anywhere in the ancestors skip
`hitPoint`-based check because we cannot reliably translate the viewport
point into frame document's coordinates.
Fixes #18245 .
2022-11-18 16:51:39 -08:00
Max Schmitt
b1e2b8b629
test: fix electron tests on windows ( #18927 )
2022-11-18 13:44:42 -10:00
Yury Semikhatsky
c0d0f54a12
feat(runner): allow filtering setup and tests ( #18900 )
...
Running `npx playwright test file:123` will have the following behavior
- if only test files match then only matching subset of tests will run
but all setup files will run as well
- if only setup files match the filter then only those setup tests will
run
- if both setup and test files match an error will be thrown
2022-11-18 11:35:29 -08:00
Diego Pino
b6ececf6e5
test: check channel is not null ( #18908 )
2022-11-18 06:12:55 -10:00
Dmitry Gozman
1ec0bb277d
feat(expect): ensure at least one expectation check, no matter the timeout ( #18895 )
...
References #18859 .
2022-11-17 19:43:10 -08:00
Yury Semikhatsky
0f4b67bc6d
test(cli): setup files are in list-files and test --list output ( #18890 )
2022-11-17 16:31:04 -08:00
Pavel Feldman
b1acc0d0ea
chore: render user-friendly intermediate match values ( #18867 )
2022-11-16 18:05:36 -08:00
Pavel Feldman
4e58b0c2ea
chore: render timed out error message when expect timeouts ( #18863 )
...
Fixes https://github.com/microsoft/playwright/issues/18859
2022-11-16 17:00:42 -08:00
Yury Semikhatsky
05fb3e6de8
Revert "chore: hide TestProject.setup and TestInfo.storage ( #18800 )" ( #18836 )
...
Now that the patch has been cherry-picked to the release branch
reverting it on main.
This reverts commit 6deba5dc21 .
2022-11-16 11:23:10 -08:00
Pavel Feldman
705df52500
test: skip a couple of a11y tests on Edge temporarily ( #18824 )
2022-11-15 10:02:06 -10:00
Dmitry Gozman
f5b4e499fb
fix(locators): frameLocator().nth serialized correctly ( #18819 )
...
Fixes #18798 .
2022-11-15 10:50:46 -08:00
Pavel Feldman
5c530154f9
chore(electron): filter test args out ( #18822 )
2022-11-15 10:48:24 -08:00
Max Schmitt
4b352acdce
test: fix webview2 & msedge tests ( #18823 )
2022-11-15 08:44:26 -10:00
Pavel Feldman
98513c3737
test: fix video channel tests ( #18807 )
2022-11-14 22:20:00 -08:00
Pavel Feldman
dbf3fc5089
fix(electron): stall node while browser is starting ( #18804 )
...
Fixes https://github.com/microsoft/playwright/issues/17765
2022-11-14 22:01:54 -08:00
Yury Semikhatsky
6deba5dc21
chore: hide TestProject.setup and TestInfo.storage ( #18800 )
2022-11-14 17:03:01 -08:00
Pavel Feldman
59418aa6f3
chore: ignore untrusted clicks when recording ( #18796 )
...
Fixes https://github.com/microsoft/playwright/issues/18776
2022-11-14 15:16:25 -08:00
Dmitry Gozman
a7b2b04588
fix(getByRole): name and exact ( #18719 )
...
Following the `getByText()` and other methods:
- By default, matching is substring and case-insensitive. Before, it was
only case-insensitive, but not substring.
- With new option `exact: true`, matching is full string and
case-sensitive.
- Matching always normalizes whitespace.
- Codegen generates `exact: false` by default.
- `internal:role` treats `[name="foo"i]` as non-exact match.
Various fixes:
- Updated `getByRole` docs to match the reality.
- Locator generator edge cases.
2022-11-11 15:58:36 -08:00
Pavel Feldman
2841b0b3dc
fix: address ff test failure with new event mode
2022-11-10 17:31:43 -08:00
Andrey Lushnikov
f3a99fdd69
chore: address API review comments for the snapshotPathTemplate ( #18716 )
...
This patch:
- updates documentation to lead users from `TestConfig.snapshotDir` and
`testInfo.snapshotSuffix` to `TestConfig.snapshotPathTemplate` as a
better and more flexible alternative.
- drops `{snapshotSuffix}` from documentation
- stops using `snapshotSuffix = ''` in our own tests and switches us
to the `snapshotPathTemplate`.
- adds `{testName}` token.
2022-11-10 17:23:57 -08:00
Andrey Lushnikov
db826c9c8c
chore: drive-by fixes for the snapshotPathTemplate ( #18715 )
...
- Use `snapshotPathTemplate` for docker screenshots in html-reporter
- Mark the snapshot path template test as slow since it re-spawns
worker for each project.
- Fix docker smoke tests
2022-11-10 15:50:13 -08:00
Max Schmitt
56d7d47d43
fix(codegen): make select work with size attribute ( #18712 )
...
Fixes https://github.com/microsoft/playwright/issues/18711
2022-11-10 15:06:53 -08:00
Dmitry Gozman
194abc35cd
Revert #18561 "feat(test runner): test.reset() to reset options to default/config value" ( #18704 )
...
This reverts commit 6fef227f43 .
Not shipping in 1.28.
2022-11-10 14:45:05 -08:00
Dmitry Gozman
7c80b77c57
feat(clear): remove clear() methods from all classes except Locator ( #18703 )
...
The preferred way is to use the locator, so we should not encourage the
use of `ElementHandle` or `Page` in the new APIs.
2022-11-10 12:29:14 -08:00
Pavel Feldman
ca2e7ef199
chore: report paused signal to the debug controller clients ( #18701 )
2022-11-10 12:15:29 -08:00
Pavel Feldman
c25e67a0e7
chore: conditionally dispatch network events ( #18687 )
2022-11-09 21:10:57 -08:00
Dmitry Gozman
cafa558845
fix(codegen): update priorites in selector generator ( #18688 )
...
- prefer `role=checkbox` over `input[type=checkbox]`
- prefer `#id` over `input[type=checkbox]` and `role=checkbox`
- prefer `text=foo` over `internal:has-text=foo`
- ignore `none` and `presentation` roles
- remove non-strict support
2022-11-09 17:22:13 -08:00
Andrey Lushnikov
6d491f928d
feat(playwright-test): introduce snapshotPathTemplate configuration ( #18568 )
...
This configuration option allows to set a string with template
values for precise control over snapshot path location.
An example of `snapshotPathTemplate` usage:
```ts
// playwright.config.ts
// Notice the `testDir` configuration!
export default {
testDir: './tests',
snapshotPathTemplate: './__screenshots__/{platform}/{projectName}/{testFilePath}/{arg}{ext}',
}
```
Currently supported "magic tokens" inside the `snapshotPathTemplate`
are:
- `{testDir}` - project's `testDir`
- `{snapshotDir}` - project's `snapshotDir`
- `{platform}` - `process.platform`
- `{projectName}` - Project's sanitized name
- `{testFileDir}` - Directories in relative path from `testDir` to test
file path (e.g. `page/` in the example below)
- `{testFileName}` - Test file name (with extension) (e.g.
`page-click.spec.ts` in the example below)
- `{testFilePath}` - Relative path from `testDir` to test file path
(e.g. `page/page-click.spec.ts` in the example below)
- `{ext}` - snapshot extension (with dots)
- `{arg}` - joined snapshot name parts, without extension (e.g.
`foo/bar/baz` in the example below)
- `{snapshotSuffix}` - `testInfo.snapshotSuffix` value.
Consider the following file structure:
```
playwright.config.ts
tests/
└── page/
└── page-click.spec.ts
```
The following `page-click.spec.ts`:
```ts
// page-click.spec.ts
import { test, expect } from '@playwright/test';
test('should work', async ({ page }) => {
await expect(page).toHaveScreenshot(['foo', 'bar', 'baz.png']);
});
```
Fixes #7792
2022-11-09 15:29:07 -08:00
Andrey Lushnikov
9bcb28f25a
Revert "feat: send SIGTERM to webserver before SIGKILL'ing it. ( #18220 )" ( #18661 )
...
This reverts commit c63a0b536d .
Reason: https://github.com/microsoft/playwright/pull/18564
2022-11-09 09:18:33 -08:00
Dmitry Gozman
a7f1c8cb65
fix(codegen): fix csharp options syntax ( #18662 )
2022-11-08 21:48:01 -08:00
Dmitry Gozman
ef1b68a998
feat(locators): support frame locators in asLocator ( #18653 )
...
Drive-by: change `true` to `True` in python.
References #18524 .
2022-11-08 17:08:08 -08:00
Pavel Feldman
0355d8618f
chore: use provided value for the generated test id ( #18631 )
2022-11-08 12:04:43 -08:00
Dmitry Gozman
05b623e6b0
feat(locators): asLocator supports internal:has= ( #18625 )
...
The following snippet:
```js
rowLocator
.filter({ hasText: 'John' })
.filter({ has: page.getByRole('button', { name: 'Say hello' }) })
```
is shown in the logs:
```log
pw:api waiting for getByRole('listitem').filter({ hasText: 'John' }).filter({ has: getByRole('button', { name: 'Say hello' }) })
```
2022-11-08 08:47:02 -08:00
sand4rt
712ce0dce9
test(ct): vue cli router ( #18603 )
2022-11-08 08:40:29 -08:00
sand4rt
ccf9c8d487
test(ct): react router ( #18602 )
2022-11-08 08:40:06 -08:00
sand4rt
84529595cc
test(ct): react vite router ( #18601 )
2022-11-08 08:39:48 -08:00
Yury Semikhatsky
d5494edf71
feat(runner): TestOptions.storageStateName ( #18587 )
2022-11-07 16:27:38 -08:00
Dmitry Gozman
28d3f48a65
test: gardening ( #18623 )
...
- Separate worker for some Android tests.
- Use png comparator for some screenshots tests instead of buffer
equality.
- Skip drag&drop tests on Android.
- Various timeout fixes.
2022-11-07 15:35:21 -08:00
Dmitry Gozman
9172a2ca5a
test: use strict png comparator in tests ( #18622 )
2022-11-07 13:32:46 -08:00
Dmitry Gozman
6a65a43e9a
chore: use consistent asLocator() in all logs ( #18586 )
...
References #18524 .
2022-11-04 15:19:16 -07:00
Yury Semikhatsky
25dc0bfacb
feat(runner): change storage fixture to TestInfo.storage() ( #18584 )
2022-11-04 14:28:25 -07:00
Yury Semikhatsky
a9c15a25f8
test: storageState from config key ( #18581 )
2022-11-04 13:10:33 -07:00
Dmitry Gozman
3a24e88e61
test: enable "should not crash when force-clicking hidden input" on chromium ( #18576 )
...
Fixed by the latest roll.
2022-11-04 10:39:51 -07:00
Dmitry Gozman
6fef227f43
feat(test runner): test.reset() to reset options to default/config value ( #18561 )
2022-11-04 09:03:29 -07:00
Dmitry Gozman
227f47effb
feat(firefox): roll to 1364 and 1367, rebase page-drag.spec ( #18559 )
2022-11-04 08:53:50 -07:00
Pavel Feldman
3bc9e07daf
chore: parse locators strictly ( #18553 )
2022-11-03 15:17:08 -07:00
Yury Semikhatsky
c8cd07594c
feat(runner): initialize context.storageState from storage entry ( #18549 )
2022-11-03 14:20:39 -07:00
Xiaoxing Ye
9338355e47
feat(testinfo): add name to attachment output name ( #18440 )
...
Per discussion in #12950 , adding sanitized name to the output filename
prefix. This can make debugging easier, and the filename structure more
human friendly.
2022-11-03 13:54:51 -07:00
Andrey Lushnikov
8538f61a72
feat(containers): implement global network tethering for playwright server ( #17719 )
...
This patch implements a new mode of network tethering for Playwright
server & its clients.
With this patch:
- playwright server could be launched with the
`--browser-proxy-mode=tether` flag to engage in the new mode
- a new type of client, "Network Tethering Client" can connect to the
server to provide network traffic to the browsers
- all clients that connect to the server with the `x-playwright-proxy:
*` header will get traffic from the "Network Tethering Client"
This patch also adds an environment variable
`PW_OWNED_BY_TETHER_CLIENT`. With this env, playwright server will
auto-close when the network tethering client disconnects. It will also
auto-close if the network client does not connect to the server in the
first 10 seconds of the server existence. This way we can ensure that
`npx playwright docker start` blocks terminal & controls the lifetime of
the started container.
2022-11-03 13:47:51 -07:00
Pavel Feldman
17c8554255
chore(recorder): explore using codemirror ( #18529 )
2022-11-03 09:55:23 -07:00
Yury Semikhatsky
45aa82242d
feat(runner): storage fixture ( #18522 )
2022-11-02 20:22:35 -07:00
Dmitry Gozman
20f2e0049c
test: unflake codegen tests waiting for highlight ( #18518 )
...
Clear existing highlights to avoid resolving with the old highlight
value.
2022-11-02 17:00:33 -07:00
Yury Semikhatsky
1d2fc1e963
feat(runner): project.setup ( #18486 )
2022-11-01 23:44:30 -07:00
Pavel Feldman
67c9624924
chore: send structured codegen info to the debug controller ( #18491 )
2022-11-01 18:02:14 -07:00
Pavel Feldman
2183d9e9a2
chore: use codemirror for editor ( #18482 )
2022-11-01 15:04:30 -07:00
sand4rt
4896b22616
chore(ct): bump vue to v2.7.13 ( #18428 )
2022-11-01 14:17:43 -07:00
Max Schmitt
57c2ed91d9
chore: fix language binding based install message ( #18480 )
2022-11-01 13:46:17 -07:00
Yury Semikhatsky
7337dd4e28
chore: revert project.{stage,run} ( #18462 )
2022-10-31 14:04:24 -07:00
sand4rt
fbfec18678
fix(ct): vite base url ( #17767 )
2022-10-31 12:58:07 -07:00
Pavel Feldman
2c3fa1b1ff
chore: add explore locator parser ( #18429 )
2022-10-31 12:55:35 -07:00
Playwright Service
2d07c10888
feat(webkit): roll to r1735 ( #18419 )
2022-10-31 12:54:12 -07:00
Dmitry Gozman
e725293586
test: print stdout/stderr in signals.spec ( #18456 )
2022-10-31 12:45:18 -07:00
Pavel Feldman
a7f5f2d7a1
chore: allow not overriding media when creating context ( #18413 )
2022-10-31 09:09:52 -07:00
sand4rt
fabe42dc28
chore(ct): bump vite to v3.2.1 ( #18427 )
2022-10-31 08:58:11 -07:00
sand4rt
afca134c9f
feat(ct): vue3 ts api component as slot ( #18425 )
2022-10-31 08:57:21 -07:00
sand4rt
01d0ff7316
core(ct): rename tests from rerender to update ( #18374 )
2022-10-31 08:55:29 -07:00
Dmitry Gozman
e37757b44b
test: unflake some wheel tests ( #18412 )
2022-10-28 13:35:09 -07:00
Dmitry Gozman
90cf2b87b4
test: clicking hidden input should not crash/timeout ( #18410 )
...
References #18183 .
2022-10-28 11:13:24 -07:00
Dmitry Gozman
2d3b2a0768
feat(test runner): test.describe.configure({ retries, timeout }) ( #18388 )
...
References #10825 .
2022-10-27 15:53:27 -07:00
Pavel Feldman
3e112193a6
test: fix debug controller tests on firefox ( #18361 )
2022-10-27 09:19:55 -07:00
Yury Semikhatsky
12fdd3336e
test: navigator.storage.getDirectory() across browsers ( #18305 )
2022-10-26 15:41:36 -07:00
Pavel Feldman
db456a020c
chore: do not point to node_modules in code frames ( #18358 )
...
Fixes https://github.com/microsoft/playwright/issues/18330
2022-10-26 15:18:31 -07:00
Pavel Feldman
1505a952fe
chore: make handle beforeunload when reusing the context ( #18357 )
...
Fixes: https://github.com/microsoft/playwright/issues/17903
2022-10-26 15:17:40 -07:00
Max Schmitt
e25537f941
feat(android): add AndroidDevice.close event ( #18306 )
2022-10-25 18:18:14 -07:00
Max Schmitt
ffc47271f2
fix(junit): escape null control character ( #18325 )
...
Fixes https://github.com/microsoft/playwright/issues/18322
2022-10-25 14:39:16 -07:00
Dmitry Gozman
0653692a5b
fix(selectors): :scope combined with other css should work ( #18324 )
...
Previously, we considered root when selector has `:scope` modifier, but
did not actually match it with other css specifiers, like in
`:scope.selected`.
Fixes #17824 .
2022-10-25 14:31:39 -07:00
Max Schmitt
721ae2b3ed
fix: make reoccurring networkidle work ( #18323 )
...
Fixes https://github.com/microsoft/playwright/issues/18283
Signed-off-by: Max Schmitt <max@schmitt.mx>
2022-10-25 13:35:18 -07:00
Jean-François Greffier
0fe1998c72
feat(api): add clear() ( #18296 )
...
Add `clear()` method as a convenience shortcut for `fill('')`.
Implemented for AndroidDevice, ElementHandle, Frame, Locator and Page.
Fixes https://github.com/microsoft/playwright/issues/14041
2022-10-25 12:56:11 -07:00
Dmitry Gozman
caa9c6a597
fix(test runner): make sure soft expect error does not mask a timeout flag ( #18321 )
...
We have to reliably know whether test timed out or not, and soft expect
error could have marked it with `status=failed` but it would still time
out. Now we have a separate `_didTimeout` flag for this.
Fixes #18023 .
2022-10-25 12:34:15 -07:00
Pavel Feldman
37250cde17
chore: switch to the new debug controller harness ( #18308 )
2022-10-25 09:55:20 -07:00
Pavel Feldman
d819f97f40
test: clean up connect options set for debug controller ( #18317 )
2022-10-25 09:03:04 -07:00
Pavel Feldman
d8ec7cba47
chore: don't generate new lines in codegen ( #18309 )
2022-10-25 09:02:06 -07:00
Dmitry Gozman
3cd64e1449
fix(check): support all ARIA roles that could be aria-checked ( #18304 )
...
Fixes #18193 .
2022-10-25 06:11:11 -07:00
Dmitry Gozman
329b3eadb4
feat: locator.blur() ( #18303 )
...
Note this is only available on Locator. Fixes #10724 .
2022-10-25 06:10:40 -07:00
Max Schmitt
805312b722
feat(android): add Android.{launchServer,connect} ( #18263 )
...
Fixes https://github.com/microsoft/playwright/issues/17538
2022-10-24 17:23:11 -07:00
Pavel Feldman
d3948d1308
chore: enable debug controller testing ( #18270 )
2022-10-24 16:19:58 -07:00
Dmitry Gozman
9a684d39ab
feat(firefox): prepare to fission roll ( #18302 )
...
- Handle `Runtime.executionContextsCleared` event.
- Skip one auto-waiting test, because navigations now happen
asynchronously.
2022-10-24 16:03:56 -07:00
Pavel Feldman
ab78865a8d
chore: render steps in list reporter ( #18269 )
2022-10-24 15:54:53 -07:00
Pavel Feldman
3f850d27e9
fix(highlight): fix the testing harness to be real ( #18294 )
2022-10-24 15:01:48 -07:00
Max Schmitt
be67189a54
fix(fetch): throw on unexpected end of file brotli requests ( #18223 )
...
https://github.com/microsoft/playwright/issues/18190
2022-10-24 12:51:45 -07:00
sand4rt
3460f01b47
test(ct): component as slot ( #18090 )
2022-10-24 12:31:35 -07:00
Dmitry Gozman
48c44f2c78
fix(selectors): hasText and getByText exact match should consider full text ( #18260 )
...
Fixes #18259 .
2022-10-21 16:29:45 -07:00
Andrey Lushnikov
c63a0b536d
feat: send SIGTERM to webserver before SIGKILL'ing it. ( #18220 )
...
We now will send `SIGTERM` to the webserver and wait for the `timeout`
before sending `SIGKILL` to it.
Fixes #18209
2022-10-21 08:55:06 -07:00
sand4rt
951cba8142
chore(ct): type check ( #18208 )
2022-10-20 13:33:25 -07:00
Pavel Feldman
fb9555fb5d
fix(ts): resolve .js to .ts in non-ESM mode too ( #18219 )
...
Fixes https://github.com/microsoft/playwright/issues/18077
2022-10-20 12:21:22 -07:00
Dmitry Gozman
5ed552838e
test: skip "should not include buffers in the trace" on non-default mode ( #18215 )
2022-10-20 10:19:42 -07:00
sand4rt
4ed2a01d9c
core(ct): import paths ( #18131 )
2022-10-19 19:41:21 -07:00
sand4rt
d8b037c559
feat(ct): solid update ( #18074 )
...
closes: https://github.com/microsoft/playwright/issues/15057
closes: https://github.com/microsoft/playwright/issues/15919
Signed-off-by: sand4rt <info@mesander.com>
2022-10-19 19:39:50 -07:00
Pavel Feldman
84daeafb3a
chore: use internal locator for role ( #18187 )
2022-10-19 19:38:47 -07:00
Pavel Feldman
ad9729f246
chore: respect tsconfig paths in js files ( #18191 )
...
Fixes: https://github.com/microsoft/playwright/issues/17804
2022-10-19 19:38:14 -07:00
Max Schmitt
af38449f42
fix(pwtest): fix focused line with dirname specified ( #18189 )
2022-10-19 15:05:59 -07:00
Dmitry Gozman
852a5c234b
feat(install): connection timeout ( #18161 )
...
- `PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT` for custom timeout.
- Bumped default timeout from 10s to 30s.
- Inlined `download.ts` to avoid extra plumbing.
- Removed optional arguments - we always pass them.
- Updated installation docs.
Fixes #18156 .
2022-10-19 13:06:35 -07:00
Dmitry Gozman
9fe72a1da8
fix(test runner): remove unused type imports during transform ( #18157 )
...
Fixes #18117 .
2022-10-19 13:06:11 -07:00
Yury Semikhatsky
69092b153a
chore(codegen): do not generate waitForURL ( #18167 )
...
Fixes https://github.com/microsoft/playwright/issues/17179
2022-10-19 11:26:19 -07:00
Pavel Feldman
1b541c9932
chore: render typed locators in the trace viewer ( #18166 )
2022-10-18 19:23:40 -07:00
Yury Semikhatsky
11eb719d13
feat(runner): project run: "always" ( #18160 )
...
Projects marked with `run: 'always'` are non shard-able and run after
failures.
2022-10-18 17:18:45 -07:00
Pavel Feldman
7910f8a165
Revert "chore(ct): type checking" ( #18165 )
...
Reverts microsoft/playwright#17931
type checking fails on the bots
2022-10-18 17:00:17 -07:00
Pavel Feldman
739b64a09a
chore: render typed locators in the recorder ( #18162 )
2022-10-18 16:39:58 -07:00
Pavel Feldman
304a4ee8ec
chore: migrate to the internal:text selector ( #18135 )
2022-10-18 13:09:54 -07:00
sand4rt
e76adafc5b
feat(ct): vue3 html as slot ( #18007 )
2022-10-18 13:06:36 -07:00
sand4rt
49901c8ed7
feat(ct): typed hooks config ( #18003 )
2022-10-18 13:04:54 -07:00
sand4rt
ced3efb688
fix(ct): render attributes ( #17991 )
2022-10-18 13:02:53 -07:00
sand4rt
689c3eb5fe
chore(ct): type checking ( #17931 )
2022-10-18 13:00:37 -07:00
Pavel Feldman
7ab4c17519
chore: support jsx/tsx syntax in test files ( #18123 )
...
Fixes https://github.com/microsoft/playwright/issues/17964
2022-10-18 12:45:33 -07:00
Dmitry Gozman
6d363888f2
fix(tracing): do not serialize buffers into the trace file ( #18132 )
...
Fixes #18126 .
2022-10-17 16:17:25 -07:00
Yury Semikhatsky
7219a68b12
fix: exception in exposeFunction when oopif detaches ( #18078 )
...
The test is racy but it was reliably failing several times in 100
iterations.
Fixes https://github.com/microsoft/playwright/issues/18067
2022-10-14 08:37:42 -07:00
Max Schmitt
1c1060e85b
test: electron firstWindow() does not work with delayed navigation ( #18093 )
2022-10-14 08:36:37 -07:00
Max Schmitt
a60073d664
fix(generator): .NET getByRole w/ name ( #18060 )
2022-10-13 08:23:43 -07:00
Yury Semikhatsky
08a3a269cd
feat(runner): project.canShard ( #18037 )
2022-10-12 14:34:22 -07:00
Barbara Lócsi
347544db09
fix: override cookie even if new is expired ( #17998 )
2022-10-11 23:06:16 -07:00
Pavel Feldman
ec1f8d17f0
fix(generator): generate nice locators for arbitrary selectors ( #18010 )
2022-10-11 17:50:41 -07:00
Yury Semikhatsky
3b8f63d703
feat(runner): project.stopOnFailure ( #18009 )
2022-10-11 17:04:01 -07:00
sand4rt
1a43af3fb6
feat(ct): rerender to update ( #17972 )
2022-10-10 19:56:33 -07:00
Yury Semikhatsky
3592269caf
feat(runner): project.stage ( #17971 )
2022-10-10 17:56:18 -07:00
Yury Semikhatsky
2d72d0ba03
chore: remove config.groups ( #17974 )
2022-10-10 16:42:48 -07:00
sand4rt
da9276bd03
feat(ct): vue2 rerender complete ( #17929 )
...
Partial fix for https://github.com/microsoft/playwright/issues/15919
2022-10-10 12:49:52 -07:00
sand4rt
3a281364d8
feat(ct): svelte rerender ( #17940 )
2022-10-10 12:45:48 -07:00
sand4rt
0f820aa7f3
test(ct): svelte named slots ( #17943 )
2022-10-10 12:43:30 -07:00
Pavel Feldman
35a5e805b3
fix(codegen): use constants when generating C# and Java roles ( #17961 )
...
Fixes #[17960](https://github.com/microsoft/playwright/issues/17960 )
2022-10-10 12:25:56 -07:00
Max Schmitt
70258d9c49
test: add 'getByTestId with custom testId should work' ( #17966 )
2022-10-10 22:17:38 +03:00
Yury Semikhatsky
639b28db3b
fix: noWaitAfter option for hover ( #17856 )
...
Fixes https://github.com/microsoft/playwright/issues/17833
2022-10-07 12:43:48 -07:00
Yury Semikhatsky
1b5c2f9aba
fix(trace): show waitForLoadState when event has already fired ( #17826 )
...
Fixes https://github.com/microsoft/playwright/issues/17807
2022-10-07 11:27:56 -07:00
Dmitry Gozman
b64457d8ce
fix(locators): make regex escape work when multiple spaces are present ( #17893 )
2022-10-06 16:23:40 -07:00
sand4rt
c889b2ad26
feat(ct): vue3 rerender complete ( #17069 )
2022-10-06 15:07:32 -07:00
Pavel Feldman
8b018f6b41
chore: make role name case-insensitive ( #17888 )
2022-10-06 14:35:10 -07:00
Dmitry Gozman
2f918852da
test: rebaseline requestStorageAccess test for firefox-beta ( #17879 )
2022-10-06 10:11:59 -07:00
Dmitry Gozman
a23ee6f14d
test: fix "getByText should work" with tracing enabled, docker smoke tests ( #17864 )
2022-10-05 21:31:25 -07:00
Pavel Feldman
c0e4caa604
fix(esm+tsconfig): allow mapped ts files in esm mode ( #17862 )
...
Fixes https://github.com/microsoft/playwright/issues/17840
2022-10-05 18:00:49 -07:00
Pavel Feldman
f2685cab95
chore: use api selectors in codegen hover ( #17855 )
2022-10-05 17:59:34 -07:00
Pavel Feldman
c168f5494f
chore: generate getByLabel for inputs ( #17845 )
2022-10-05 12:02:15 -07:00
Dmitry Gozman
2bcd9ce9ae
chore: internal selectors ( #17827 )
...
- Rename internal selectors `has`, `control` and `attr` to
`internal:has`, `internal:control` and `internal:attr`.
- Fix `getByLabel()` to respect strictness, by introducing
`internal:label` selector.
- Move tests essential for ports to `selectors-by.spec`.
2022-10-05 08:45:10 -07:00
Yury Semikhatsky
f64dbe9ece
test: :scope.class should narrow down locator ( #17829 )
2022-10-04 18:05:43 -07:00
Dmitry Gozman
a9c02b9753
fix(locators): properly escape various locator methods ( #17798 )
...
References #17604 .
2022-10-04 13:21:38 -07:00
Pavel Feldman
8810b55504
feat(api): shorted getByLabel, getByPlaceholder ( #17816 )
2022-10-04 10:29:26 -07:00
Yury Semikhatsky
a9ef95f31e
test: update expectations of requestStorageAccess ( #17780 )
...
Fixes https://github.com/microsoft/playwright/issues/17285
2022-10-03 20:46:47 -07:00
Yury Semikhatsky
cb6b824119
test: update SameSite cookie fetch test ( #17797 )
2022-10-03 20:46:25 -07:00
Dmitry Gozman
99266e48ec
test: add a test for bfcache and history navigations ( #17796 )
...
Fixes #17618 .
2022-10-03 19:13:28 -07:00
Pavel Feldman
1311767f87
chore: generate api calls ( #17794 )
2022-10-03 17:14:02 -07:00
Dmitry Gozman
f14f69624f
test: unflake network idle test ( #17784 )
...
Too slow on Firefox to fit 500ms network idle timeout.
2022-10-03 12:28:19 -07:00
Dmitry Gozman
06e0ea5e24
test: unflake page-drag tests ( #17783 )
...
To avoid rounding errors, make coordinates even.
2022-10-03 12:26:36 -07:00
Pavel Feldman
42a4d8a829
chore(codegen): prioritize role selectors ( #17750 )
2022-10-03 08:44:24 -07:00
Yury Semikhatsky
ff6d240e83
test: auto accept requestStorageAccess dialog ( #17752 )
...
Reference https://github.com/microsoft/playwright/issues/17285
2022-09-30 18:56:05 -07:00
Yury Semikhatsky
9b35a8071f
fix(fetch): support SameSite attribute ( #17748 )
...
Fixes https://github.com/microsoft/playwright/issues/17398
2022-09-30 15:01:59 -07:00
Pavel Feldman
5754fb9c6d
chore: do not emit comments from codegen ( #17747 )
2022-09-30 12:36:54 -07:00
Dmitry Gozman
8c416653f9
test: improve drag&drop tests ( #17668 )
...
- Add tests for dragging in iframes.
- Check drag events coordinates.
References #17153 .
2022-09-30 09:29:19 -07:00
Pavel Feldman
5424c8c385
fix(test): unflake workers test ( #17728 )
2022-09-30 08:07:20 -07:00
Pavel Feldman
bfb8a43ece
feat(api): all getByTitle, getByAltText ( #17724 )
2022-09-29 21:45:44 -07:00
Pavel Feldman
083fb4401c
feat(api): add getByPlaceholderText ( #17722 )
2022-09-29 18:12:49 -07:00
Yury Semikhatsky
51966bc045
fix: --grep and --grep-invert should intersect with config ( #17716 )
...
Fixes https://github.com/microsoft/playwright/issues/17405
2022-09-29 16:39:21 -07:00
Pavel Feldman
e09945c637
chore: handle unexpected ws response ( #17714 )
2022-09-29 14:04:19 -07:00
Pavel Feldman
b4ee84fb0c
chore(api): remove locator.get() ( #17709 )
2022-09-29 12:50:52 -07:00
Pavel Feldman
e3a2316013
feat(api): add getByLabelText ( #17684 )
2022-09-29 11:06:58 -07:00
Yury Semikhatsky
9f17ee6871
feat: group filter ( #17646 )
2022-09-28 18:45:01 -07:00
Pavel Feldman
cadd4d1dd0
chore: migrate http server to ts ( #17677 )
2022-09-28 17:01:13 -07:00
Pavel Feldman
6cc33c2d08
fix(trace): fix trace mode tests ( #17667 )
2022-09-28 12:47:08 -07:00
Pavel Feldman
2a85806cc0
chore: follow up to getTestById, escape it ( #17650 )
2022-09-28 09:23:47 -07:00
Playwright Service
7896346810
feat(chromium-tip-of-tree): roll to r1046 ( #17653 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-09-28 12:13:07 +02:00
sand4rt
704ff5fda3
core(ct): align styling ( #17573 )
...
aligned the global styling of the ct test projects and added dark mode
2022-09-28 10:54:24 +02:00
Pavel Feldman
d8f67eb75d
feat(api): introduce getByTestId ( #17645 )
2022-09-27 21:06:07 -07:00
Pavel Feldman
d9a28bd244
feat(api): introduce get/getByText/getByRole ( #17577 )
2022-09-27 16:13:56 -07:00
sand4rt
7be3e5cb82
test(ct): vue unmount ( #17218 )
2022-09-27 22:31:26 +02:00
sand4rt
d27854f1e7
test(ct): svelte render without options ( #17571 )
...
Added missing test
2022-09-27 13:26:48 -07:00
Pavel Feldman
8ad201b802
chore: add snippet to the json report ( #17567 )
2022-09-27 13:23:08 -07:00
Dmitry Gozman
50d4a5844f
test: mark "should cache build" as slow ( #17637 )
...
Frequently timing out on the bots.
2022-09-27 13:09:05 -07:00
Dmitry Gozman
3409a37f77
feat: allow opening multiple html reporters and trace viewers ( #17636 )
...
This makes `HttpServer` accept `preferredPort` option that will first
try to listen on that port, and if that port is already in use, listen
on some available port instead.
Fixes #17201 .
2022-09-27 12:45:42 -07:00
Pavel Feldman
3a13a897b9
Revert "fix(pwt): compatibility in CWD with wrong casing ( #16636 )" ( #17599 )
2022-09-26 18:53:08 -07:00
Yury Semikhatsky
72a24973f3
fix: ignore timing data when request served from memory cache ( #17595 )
...
`Response.timing` contains stale data when the request is served from
memory cache, in that we should ignore it and return -1 where we don't
know the value.
Fixes https://github.com/microsoft/playwright-java/issues/1080
2022-09-26 17:12:47 -07:00
Ross Wollman
e73676d094
fix(reporters): output relative to config ( #17518 )
...
Fixes #17412 .
Supercedes #17413 .
- if configured via playwright.config.ts, relative paths should be
relative to the config.
- if configured via env var, should be relative to `cwd`
2022-09-26 11:01:43 -07:00
Yusuke Iwaki
f5d7089819
fix: accept post data params for request.get and request.head ( #17566 )
2022-09-26 09:28:07 -07:00
Yury Semikhatsky
10d7c60abf
feat(runner): project execution schedule ( #17548 )
2022-09-23 20:01:27 -07:00
Andrey Lushnikov
6b4afbb8df
chore: support http protocol with browserType.connect() ( #17483 )
2022-09-22 11:59:58 -07:00
sand4rt
9564306297
feat(ct): solid render children complete ( #17417 )
2022-09-21 21:16:30 -07:00
Dmitry Gozman
f17d345ac9
fix(ct): support empty fragments ( #17475 )
...
Currently, we ues `#root` vs `#root > *` selector for component roots
depending on the number of root children. This heuristic detects
fragments that render multiple elements inside the root.
However, this does not work with empty fragments that do not render
anything.
The fix is to make the `#root >> control=component` selector that would
dynamically detect the root. This supports empty fragments and also
allows for dynamic updates of the fragments.
2022-09-21 15:12:18 -07:00
Jean-François Greffier
a15fe50e7b
feat(test runner): workers as percentage ( #17400 )
...
Allows to set workers as a percentage of logical CPUs, for example
"50%".
Examples :
```bash
npx playwright test --workers 3
npx playwright test --workers 50%
```
```js
const config: PlaywrightTestConfig = {
// ...
workers: '33%',
}
```
2022-09-21 11:17:36 -07:00
Dmitry Gozman
da7feb9cc6
fix(esm): silence warning when running with experimental loader ( #17493 )
...
Unfortunately, this silences all warnings, not just the experimental
loader warning.
2022-09-21 10:56:17 -07:00
Pavel Feldman
df143031e7
chore: move protocol and trace types into the top-level packages ( #17486 )
2022-09-20 18:41:51 -07:00
Yury Semikhatsky
cd9a5946d2
fix(expect): toHaveAttribute with empty value should not match missing attribute ( #17477 )
...
Reference #16517
2022-09-20 17:11:12 -07:00
Pavel Feldman
3abbe0d850
chore: migrate codegen to controller events ( #17450 )
2022-09-20 14:32:21 -07:00
Ross Wollman
af5e06fbfd
test: repro for spaces in filename for input ( #17452 )
2022-09-20 12:58:26 -07:00
Ross Wollman
8d639ae50e
chore: revert toHaveAttribute type sig and overloads ( #17406 )
...
Relates #16517 .
Revert "docs(python): add missing NotToHaveAttribute overloads (#17371 )"
This reverts commit 2e1ea29614 .
Revert "docs(release-notes): add 1.26 release notes for language ports
(#17345 )"
This reverts commit 4b8a85e69d .
Revert "test: unflake "should support boolean attribute with options"
(#17024 )"
This reverts commit 1dc05bd4c6 .
Revert "fix: support toHaveAttribute(name, options) (#16941 )"
This reverts commit f30ac1d678 .
Revert "feat: expect(locator).toHaveAttribute to assert attribute
presence (#16767 )"
This reverts commit 622c73cc1e .
2022-09-16 11:17:35 -07:00
Pavel Feldman
e92bdce383
chore: remove connect options after testing ( #17380 )
2022-09-15 20:37:21 -07:00
Dmitry Gozman
43304e980d
feat: show browser.close() stack in "Browser has been closed" error ( #17376 )
...
Often times we see "Browser has been closed" error, but it's not
entirely clear why. Showing the close stack might help.
```js
page.goto: Connection closed
==== Closed by ====
at /Users/dgozman/code/playwright/tests/library/browsertype-connect.spec.ts:477:32
```
2022-09-15 17:04:41 -07:00
Andrey Lushnikov
b09ea69024
chore(docker): address docker offline comments ( #17377 )
...
This patch:
- Removes all `process.exit(1)` from `docker.ts` and instead throws
errors.
- Drops the `npx playwright docker test` command. We agreed to
engage docker when `PLAYWRIGHT_DOCKER` environment variable
is set.
- Introduces hidden `npx playwright docker status` command that
dumps a JSON with docker status:
```sh
aslushnikov:~/prog/playwright$ npx playwright docker status
{
"dockerEngineRunning": true,
"imageName": "playwright:local-1.27.0-next-focal",
"imageIsPulled": true,
"containerWSEndpoing":
"ws://127.0.0.1:55077/eafeb84c-571b-4d12-ac51-f6a2b43e9155",
"containerVNCEndpoint":
"http://127.0.0.1:55076/?path=fb6d4add-9adf-4c3c-b335-893bdc235cd7&resize=scale&autoconnect=1 "
}
```
2022-09-15 15:48:12 -07:00
Pavel Feldman
30ff27843a
chore: rebuild components on new vite ( #17367 )
2022-09-15 15:24:01 -07:00
Pavel Feldman
016883602d
chore: roll test runner to tot ( #17351 )
2022-09-14 19:51:22 -07:00
Andrey Lushnikov
8466c436c9
fix(list reporter): properly count new lines for long stdout ( #17339 )
2022-09-14 15:25:24 -07:00
Andrey Lushnikov
a12112c24d
devops(docker): add docker integration smoke tests ( #17267 )
2022-09-14 15:05:18 -07:00
Max Schmitt
59c32bf2c6
Revert "chore(generator): use new .NET test attributes ( #17172 )" ( #17344 )
...
This reverts commit 15add13a6a .
2022-09-14 22:44:38 +02:00
Andrey Lushnikov
4f11a4d5e7
feat(docker): use the __screenshots__ dir for snapshots by default ( #17311 )
...
This patch opts into the `__screnshots__` folder snapshot management
for docker.
With this patch, docker-originating snapshots will be stored in the
following folder:
```
{testDir}/__screenshots__/{projectName}/{testFilePath}/{snapshotName}
```
Where `{testFilePath}` is a test file path relative to `testDir`
Drive-by: introduce and document the `PLAYWRIGHT_DOCKER` environment
variable that enables docker integration.
2022-09-13 15:49:04 -07:00
Dmitry Gozman
68072a5d5c
test: improve debugability of installation tests ( #17277 )
...
Put more details into the error message. This way it is immediately seen
on the bots.
2022-09-13 14:43:11 -07:00
Max Schmitt
00a3b1b0a2
fix: make evaluate work with overridden Window/Document/Node ( #17288 )
...
Fixes https://github.com/microsoft/playwright/issues/17287
2022-09-13 18:21:07 +02:00
Dmitry Gozman
48ac918cec
test: unflake "should load web server w/o esm loader in ems module" ( #17269 )
2022-09-12 11:42:04 -07:00
sand4rt
344077b04e
feat(ct): svelte mount type ( #17228 )
2022-09-12 09:30:04 -07:00
sand4rt
72a18754ef
core(ct): rename tests ( #17216 )
2022-09-12 09:27:53 -07:00
Andrey Lushnikov
af042beb13
feat: introduce docker integration ( #16382 )
...
This patch introduces the following commands:
- `npx playwright docker build` that builds a VRT docker image
locally that is based off the `mcr.microsoft.com/playwright:jammy`
- `npx playwright docker start` that launches a docker container with
browsers.
- `npx playwright docker stop` that stops given docker container.
- `npx playwright docker test` that runs all the tests inside a
launched docker container.
2022-09-09 15:25:42 -07:00
Yury Semikhatsky
24ee456d43
chore: make maxRedirects available in java, improve docs. tests ( #17227 )
2022-09-09 13:25:36 -07:00
Vincenzo Gasparo
17b203affb
feat: added follow and redirect arguments to fetch ( #17033 )
2022-09-09 12:14:42 -07:00
Dmitry Gozman
bca13bc35a
feat(assertions): support toBeVisible({ visible }) ( #17207 )
2022-09-09 08:33:23 -07:00
Dmitry Gozman
cbc8d1a19f
test: tracing works with waitForResponse ( #17176 )
2022-09-08 11:31:02 -07:00
Andrey Lushnikov
ea7ef328e7
fix: inject caret-hiding style in every shadow tree ( #16907 )
...
Style inheritance disregards selector specificity, so we can't
dominate local shadow dom styles.
To mitigate this, we inject the style tag with caret-hiding
style in every shadowDom tree.
Fixes #16732
2022-09-08 09:50:08 -07:00
sand4rt
098fbf0e2c
fix(ct): vue import errors ( #17066 )
2022-09-08 08:37:38 -07:00
Max Schmitt
1e517731ef
chore: have a socket timeout when downloading browsers ( #17187 )
2022-09-08 14:40:41 +02:00
Max Schmitt
22c092db10
test: fix Electron tests ( #17180 )
2022-09-08 09:11:47 +02:00
Pavel Feldman
80e9c5dc55
fix(reuse): restore storage state ( #17175 )
2022-09-07 19:15:04 -07:00
Max Schmitt
15add13a6a
chore(generator): use new .NET test attributes ( #17172 )
2022-09-08 01:44:58 +02:00
Pavel Feldman
c91df61ca3
chore: optionally connect instead of launching ( #17174 )
2022-09-07 15:57:20 -07:00
Max Schmitt
14ec71b905
chore: roll stable test-runner to 1.26.0-alpha-sep-7-2022 ( #17166 )
2022-09-07 20:11:09 +02:00
Max Schmitt
904801a5eb
test: add initial webview2 tests ( #16827 )
2022-09-07 20:09:22 +02:00
Dmitry Gozman
6e1c94b5fe
fix(click): allow clicking inside closed shadow root ( #16900 )
...
Although Playwright selectors do not pierce closed shadow roots,
one can still obtain a reference to an element inside a closed shadow root:
- through `page.evaluate()`;
- through `handle.$()` where `handle` is inside the shadow root;
- through `frame.locator()` by choosing an iframe that belongs
to a closed shadow root.
In this case, `click()` action fails during the hit check test,
but it's possible to make it work by going bottom up from the target
rather than top down from the document.
2022-09-06 17:55:15 -07:00
Yury Semikhatsky
fbf9ca5316
fix: avoid using builtins in injected script bundles ( #17145 )
2022-09-06 17:25:02 -07:00
Pavel Feldman
8d25f2ef59
fix(selectors): allow custom engines in out-of-process ( #17139 )
2022-09-06 14:15:53 -07:00
Dmitry Gozman
f0c5810609
feat(assertions): support toBeEditable({ editable }) ( #17065 )
2022-09-06 12:50:45 -07:00
Dmitry Gozman
306ab34aa3
feat(assertions): support toBeEnabled({ enabled }) ( #17058 )
2022-09-06 11:40:34 -07:00
Dmitry Gozman
b734f36f8b
fix(frameElement): should work for frames inside closed shadow root ( #17055 )
2022-09-06 08:52:25 -07:00
Pavel Feldman
f4b90e5cc8
chore: reparent network back to context ( #17023 )
2022-09-05 10:19:44 +02:00
Yury Semikhatsky
01d83f1d5e
fix(har): record request overrides to har ( #17027 )
2022-09-04 10:52:20 -07:00
Dmitry Gozman
54e7f44974
fix(firefox): disable cookie partitioning ( #17051 )
2022-09-02 15:46:03 -07:00
Dmitry Gozman
1b59abb5e1
chore: fix lint in page-goto.spec ( #17052 )
2022-09-02 15:45:01 -07:00
Yury Semikhatsky
10b22aca88
test: third party cookies via an iframe on wk mac ( #17050 )
2022-09-02 15:03:39 -07:00
Max Schmitt
8f1f4946bf
test: send cookies via an embedded iframe ( #17036 )
2022-09-02 11:00:55 -07:00
Dmitry Gozman
3548f3f898
feat(firefox): roll ff to 1350, beta to 1353 ( #17006 )
2022-09-02 08:35:29 -07:00
Yury Semikhatsky
da19219323
fix: throw clear message when requested screenshot is too large ( #17025 )
2022-09-01 18:15:49 -07:00
Dmitry Gozman
1dc05bd4c6
test: unflake "should support boolean attribute with options" ( #17024 )
...
Timeout 100ms is too small.
2022-09-01 17:04:54 -07:00
Yury Semikhatsky
27ffdcc944
fix: accept post data for GET and HEAD http methods ( #17008 )
2022-09-01 08:36:08 -07:00
Andrey Lushnikov
fafd9837ba
feat: introduce the --ignore-snapshots option ( #17004 )
...
This patch introduces `--ignore-snapshots` Playwright Test CLI option,
and `ignoreSnapshots` configuration argument.
2022-09-01 05:34:36 -07:00
Yury Semikhatsky
5d6253f743
fix: stop har recording when APIRequestContext is disposed ( #17007 )
2022-08-31 21:51:38 -07:00
Yury Semikhatsky
aaa28394cd
feat(trace): include url into route.fulfill call params ( #16934 )
2022-08-31 12:37:49 -07:00
nate-ro
409bab59ea
chore: added starting time of test to the base json reporter ( #16885 )
2022-08-30 20:03:21 -07:00
Yury Semikhatsky
f30ac1d678
fix: support toHaveAttribute(name, options) ( #16941 )
2022-08-30 17:53:00 -07:00
Yury Semikhatsky
990167124f
test: enable link preload interception test ( #16935 )
2022-08-30 17:30:01 -07:00
Yury Semikhatsky
077b8a9289
test: link preload interception ( #16908 )
2022-08-30 10:35:55 -07:00
Yury Semikhatsky
11dfd31dd9
feat: --pass-with-no-tests option ( #16902 )
2022-08-29 15:46:34 -07:00
sand4rt
84888737e2
fix(ct): react build errors ( #16882 )
2022-08-29 09:17:01 -07:00
sand4rt
f68f464f56
chore(ct): react removed unused packages ( #16878 )
2022-08-29 09:16:38 -07:00
sand4rt
3af548604e
feat(ct): svelte default slot ( #16869 )
2022-08-29 09:11:51 -07:00
Yury Semikhatsky
1dcd756996
test: proper escaping for exact text match ( #16866 )
2022-08-26 22:16:04 -07:00
Yury Semikhatsky
67d5c13d65
test: text selector with double quotes ( #16865 )
2022-08-26 17:39:33 -07:00
sand4rt
849da28dc4
test(ct): solid hooks ( #16864 )
2022-08-26 15:48:41 -07:00
sand4rt
996468d4b7
feat(ct): solid default child ( #16839 )
2022-08-26 15:48:05 -07:00
sand4rt
c3f39faefc
test(ct): vue2 cli ( #16693 )
2022-08-26 15:47:28 -07:00
Dmitry Gozman
fea8772d95
fix: emit load/domcontentloaded events as reported by the browser ( #16861 )
...
Instead of requiring all frames in the subtree to receive a particular
event, we rely on the browser's definition of load and DOMContentLoaded.
This changes logic in a few edge cases:
- Some browsers do not emit load event upon window.stop() at all.
- DOMContentLoaded does not wait for subframes, so they might not be
ready when passing `{ waitUntil: 'domcontentloaded' }`.
`networkidle` preserves the old logic.
2022-08-26 13:48:05 -07:00
Yury Semikhatsky
0e95d66878
test: screenshot hides caret in shadow dom ( #16849 )
2022-08-26 12:33:07 -07:00
sand4rt
0972f1469a
feat(ct): solid unmount ( #16838 )
2022-08-26 11:51:36 -07:00
Dmitry Gozman
aac9df0542
test: update "page.goBack should work for file urls" to match status quo ( #16810 )
...
Chromium works correctly, WebKit mac has a security error, Firefox fails to go back.
2022-08-26 08:56:31 -07:00
sand4rt
a0f19a4f2d
test(ct): solid callbacks ( #16837 )
2022-08-25 13:02:55 -07:00
Pavel Feldman
a07a4a25a2
chore: make parent scope explicit ( #16819 )
2022-08-25 11:58:41 -07:00
sand4rt
8d4a94bfd3
feat(ct): solid set props ( #16813 )
2022-08-25 08:40:14 -07:00
Andrey Lushnikov
622c73cc1e
feat: expect(locator).toHaveAttribute to assert attribute presence ( #16767 )
...
This patch changes `expect(locator).toHaveAttribute()` so that the
`value` argument can be omitted. When done so, the method will
assert attribute existance.
Fixes #16517
2022-08-25 05:28:34 -07:00
Max Schmitt
74ab343e2b
feat(codegen): add NUnit/MSTest ( #16803 )
2022-08-25 11:58:58 +02:00
Max Schmitt
553ecce4f9
test: add test for PDF download per navigation ( #16687 )
...
* test: add test for PDF download per click
* Update download.spec.ts
2022-08-24 17:45:15 +02:00
sand4rt
ad46e980bc
feat(ct): initial solid ( #16703 )
2022-08-23 14:08:53 -07:00
Ross Wollman
f91e41ef40
test: cannot override cookie header in continue ( #16774 )
...
Repro for #16773 .
2022-08-23 14:06:25 -07:00
sand4rt
e194b2ae6b
feat(ct): vue2 rerender ( #16734 )
2022-08-23 11:37:55 -07:00
sand4rt
31a47d4273
test(ct): vue cli ( #16694 )
2022-08-23 11:35:43 -07:00
sand4rt
6d1a7f3315
test(ct): svelte ( #16761 )
2022-08-23 11:34:20 -07:00
sand4rt
d5c9774293
test(ct): svelte vite ( #16766 )
2022-08-23 11:33:31 -07:00
Dmitry Gozman
42491ecc08
test: unflake "should work with newBrowserCDPSession" ( #16765 )
...
There could be no targets in a freshly created browser.
2022-08-23 10:25:28 -07:00
Pavel Feldman
4d892475da
chore: do not use experimental loader for web server ( #16733 )
2022-08-23 10:22:05 -07:00
Pavel Feldman
d7be1fcca8
fix(esm): allow importing ts from esm ( #16735 )
2022-08-23 10:20:56 -07:00
Yury Semikhatsky
ff46d8ce8a
test: postBody content-type is inherited from original request ( #16738 )
2022-08-23 08:28:35 -07:00
Max Schmitt
26df4cc00e
test: skip tests for Electron / Android ( #16731 )
2022-08-22 22:20:45 +02:00
Max Schmitt
e344fe60e7
fix(pwt): compatibility in CWD with wrong casing ( #16636 )
2022-08-22 21:45:59 +02:00
Pavel Feldman
2142fde460
test(isVisible): add a couple of basic tests ( #16697 )
2022-08-19 17:40:13 -07:00
Sergio Freire
abe7cf23a7
fix(junit reporter): remove source location from classname attribute ( #16499 )
2022-08-19 16:42:21 -07:00
Max Schmitt
be33ec817b
feat(webkit): add forced colors media query override ( #16654 )
2022-08-19 14:19:54 +02:00
Playwright Service
1154fffd8b
feat(webkit): roll to r1707 ( #16668 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-19 11:09:39 +02:00
Yury Semikhatsky
52eca0550d
test: page.reload() works with cross-origin redirect ( #16655 )
2022-08-18 17:35:02 -07:00
Max Schmitt
7e2aec7454
chore: align more ESLint rules with VSCode formatting ( #16647 )
2022-08-18 20:12:33 +02:00
Andrey Lushnikov
59562de0ec
fix(pipe): do not store accumulated message as string ( #16641 )
...
Accumulated message must be stored raw; otherwise, unicode encoding
will break while trying to decode them.
Fixes #16367
2022-08-18 07:53:56 -07:00
Playwright Service
3843a15d5f
feat(webkit): roll to r1704 ( #16628 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-18 10:55:11 +02:00
Playwright Service
94c9db299d
feat(webkit): roll to r1703 ( #16604 )
2022-08-17 17:13:00 -07:00
Yury Semikhatsky
94c99314c6
test: mouse drag ( #16623 )
2022-08-17 15:36:14 -07:00
sand4rt
007e197e3d
test(ct): react rerender ( #16597 )
2022-08-16 22:01:37 -07:00
Yury Semikhatsky
8ebf9d7699
test: disable page/page-set-content.spec.ts:126 in webkit ( #16596 )
...
The test started failing on WebKit after WebKit/WebKit@7de67f9 The cause is the same as in other browsers - missing utility context. Disabling the test in WebKit similar to the other browsers in order to prepare for the next webkit roll.
Related: #16536
2022-08-16 15:31:30 -07:00
sand4rt
e6994b5dc1
chore(ct): react tests ( #16584 )
2022-08-16 11:25:55 -07:00
Pavel Feldman
93b4fa3537
chore(ct): svelte-kit is being a moving target, remove tests for now ( #16589 )
2022-08-16 11:13:27 -07:00
sand4rt
3785298ddf
fix(ct): react favicon path ( #16572 )
2022-08-16 10:48:41 -07:00
sand4rt
d9850e0e86
feat(ct): react rerender ( #16560 )
2022-08-16 10:47:33 -07:00
sand4rt
b41da08c1e
chore(ct): react vite tests ( #16525 )
2022-08-15 13:17:56 -07:00
Pavel Feldman
e64b09cc28
Revert "feat(ct): react rerender ( #16549 )"
...
This reverts commit a62accf8ae .
I'll reapply them in order.
2022-08-15 13:17:15 -07:00
sand4rt
a62accf8ae
feat(ct): react rerender ( #16549 )
2022-08-15 13:10:38 -07:00
Max Schmitt
13596b7be3
chore: language specific dropdowns in codegen ( #16452 )
2022-08-15 19:44:46 +02:00
Pavel Feldman
bd06d1604f
chore: render original exception location in error frame ( #16515 )
2022-08-15 09:28:55 -07:00
Dmitry Gozman
0d3b3d08ab
test: add more tests for retarget behavior ( #16513 )
2022-08-12 16:29:13 -07:00
Dmitry Gozman
3ae50861a3
fix(reload): make sure reload() does not pick same-document navigaiton ( #16504 )
...
We lack `documentId` when doing a reload over browser protocols, so
`reload()` waits for the next navigation to finish. Sometimes, the page
might issue a same-document navigation while reload is in progress,
which confuses the reload command.
To fix the issue, just ignore same-document navigations for reload,
because it is always a new document.
2022-08-12 13:48:47 -07:00
Dmitry Gozman
0ff00e5978
test: put existing retarget tests to a separate file ( #16510 )
2022-08-12 12:40:40 -07:00
Pavel Feldman
e1d3246d1c
fix(ct): pass local config to preview ( #16481 )
2022-08-12 10:37:35 -07:00
Dmitry Gozman
3dc1920ce8
feat(expect): toHaveText/toContainText work with text in shadow dom ( #16433 )
2022-08-11 14:10:12 -07:00
Max Schmitt
e911eead9b
test: unflake 'should fill japanese text' ( #16431 )
2022-08-11 08:48:55 +02:00
Ross Wollman
a3836de182
chore: relax npm version constraint in installation tests ( #16427 )
...
Resolves #16281 .
2022-08-10 15:33:47 -07:00
Dmitry Gozman
7acbd052e4
test: migrate some expect() tests to be more readable ( #16394 )
...
This moves some expect() matchers tests from test runner tests to page tests,
because these are implemented through a library call anyway.
Makes tests more readbable, faster and easier to test specific details.
2022-08-10 15:10:25 -07:00
Johannes Loher
3e67a7c836
feat(plugins): send accept header in webServer url checking ( #16251 )
2022-08-10 12:48:37 -07:00
Andrey Lushnikov
4cbb95e06d
test: fix firefox-beta tests ( #16278 )
2022-08-10 11:00:59 +02:00
Max Schmitt
699a52ec74
fix(codegen): make sure input recording with japanese IME Work ( #16400 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 09:46:30 +02:00
Ross Wollman
e20baacc9c
test: fix large string expectations ( #16388 )
2022-08-09 21:39:13 -07:00
Dmitry Gozman
baa2ef2700
fix(test runner): show interrupted as yellow ( #16396 )
...
Drive-by: fix unreadable character in "duplicate titles" error.
2022-08-09 21:17:30 -07:00
Dmitry Gozman
f58c376443
fix(test runner): do not resolve relative imports through baseUrl ( #16395 )
2022-08-09 21:16:27 -07:00
Yury Semikhatsky
11391910e7
Revert "fix(codegen): make sure input recording with japanese IME Wor… ( #16393 )
...
Revert "fix(codegen): make sure input recording with japanese IME Work (#16210 )"
This reverts commit 925de8da2b .
2022-08-09 16:47:32 -07:00
Denis Sokolov
92aacb9345
test: another test for baseUrl/relative imports ( #16338 )
...
#15891
2022-08-10 01:05:48 +02:00
YA2KM
925de8da2b
fix(codegen): make sure input recording with japanese IME Work ( #16210 )
...
Co-authored-by: kawasaki.taiga <kigtaiga@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-08-10 01:02:42 +02:00
Ross Wollman
a3d99f1b4a
chore: trace viewer fallback error ( #16365 )
...
Fixes #16349 .
2022-08-09 15:53:11 -07:00
Max Schmitt
ff5f241b84
chore: set --allow-pre-commit-input flag on Android/Electron ( #16383 )
2022-08-09 23:18:15 +02:00
Max Schmitt
e725b5f8a9
fix(esm): fix TS type check with NodeNext mode ( #16340 )
2022-08-09 20:06:06 +02:00
Ross Wollman
5dea817355
test: corrupted large string repro ( #16369 )
...
Repro for #16367 .
2022-08-09 10:44:52 -07:00
Dmitry Gozman
0fa20d5d1e
fix(click): make it work for display:contents elements ( #16356 )
...
After protocol fixes in all browsers, we can now scroll and click display:contents elements.
The only problem is that `elementsFromPoint()` misbehaves in Chromium and Firefox, so we
need a workaround. Hopefully, it will be fixed upstream - shadow dom spec folks think
"it becomes a real compatibility concern".
This needs Chromium 105 roll.
2022-08-08 16:05:09 -07:00
Ross Wollman
36b92d8847
fix: toBeFocused should match shadow elements ( #16362 )
...
Fixes #16268 .
2022-08-08 15:34:58 -07:00
Max Schmitt
1ca6635bb8
fix(cli): store trace/storage/har on SIGINT ( #16339 )
2022-08-09 00:13:38 +02:00
Dmitry Gozman
f6d94f0ac9
chore: update "X fatal errors" message ( #16325 )
...
Also, exlude certain errors from triggering this message:
- `no tests found`
- `duplicate test titles are not allowed`
- `--forbid-only found a focused test`
- `Timed out waiting 3600s for the entire test run`
2022-08-05 21:21:43 -07:00
Pavel Feldman
8ed238843b
chore: allow inspecting element from server ( #16324 )
2022-08-05 19:34:57 -07:00
Dmitry Gozman
7a86e140f5
chore: remove TestProject.projectSetup ( #16321 )
...
There are better ideas to address this issue in more general manner.
2022-08-05 15:24:30 -07:00
Dmitry Gozman
cb30cb4eb7
feat(test runner): add --trace cli option ( #16277 )
2022-08-05 09:20:39 -07:00
Dmitry Gozman
919b1cbb22
fix(test runner): do not swallow afterEach errors after skipped tests ( #16276 )
...
Drive-by: add more test runner logging.
2022-08-04 18:49:23 -07:00
Pavel Feldman
97fa2518e9
fix(reuse): clear storage after stopping all scripts ( #16275 )
2022-08-04 16:39:18 -07:00
Pavel Feldman
3aa5710b49
feat(reuse): retain different browser types when reusing ( #16269 )
2022-08-04 15:04:00 -07:00
Pavel Feldman
b3d30a808f
fix(reuse): reset sw, db, storages ( #16265 )
2022-08-04 15:01:34 -07:00
sand4rt
bd5eddd62e
fix(ct): multi root vue components ( #16211 )
2022-08-04 10:43:43 -07:00
Dmitry Gozman
2fa48483af
test: unflake "should retain traces for interrupted tests" ( #16235 )
...
Ensure both tests start before one of them finishes.
2022-08-04 09:18:18 -07:00
sand4rt
e5cc78af67
chore(ct): change setProps to rerender ( #16204 )
2022-08-03 18:14:00 -07:00
Yury Semikhatsky
e4efc300c7
test: unskip passing firefox tests ( #16233 )
2022-08-03 17:43:00 -07:00
Andrey Lushnikov
fb76d62a2b
feat(firefox): roll Firefox stable to 103 ( #16224 )
2022-08-03 16:55:19 -07:00
Pavel Feldman
74f7005c02
chore: preserve window while reusing window ( #16225 )
2022-08-03 16:14:28 -07:00
Dmitry Gozman
03fe75251b
fix(test runner): show tests as interrupted when maxFailures stops them ( #16178 )
...
Previously, we marked these tests as skipped, and it was sometimes
confusing, because they did actually run and produce some output/artifacts.
2022-08-03 15:25:25 -07:00
Yury Semikhatsky
165ab9bfa9
test: update macos 12 test expectations ( #16223 )
2022-08-03 14:51:11 -07:00
Max Schmitt
9795a4ba60
test: mark again some Android tests as fixme
2022-08-03 10:51:45 +02:00
Yury Semikhatsky
bdba9dbaf9
test: skip should capture canvas changes on macos <= 11 ( #16182 )
2022-08-02 17:49:19 -07:00
Yury Semikhatsky
0bab5c60c4
test: content-length is recomputed for postBody override ( #16169 )
2022-08-02 13:55:52 -07:00
Max Schmitt
a2fc636f8e
test: unskip working Android tests ( #16171 )
2022-08-02 22:51:10 +02:00
Dmitry Gozman
445fe032f5
feat(test runner): separate interrupted status from skipped ( #16124 )
2022-08-02 12:55:43 -07:00
Max Schmitt
153670978d
chore: fix Android 13 compatibility ( #16139 )
2022-08-02 18:22:27 +02:00
Dmitry Gozman
3112edb4ca
feat(test runner): TestProject.projectSetup ( #16063 )
...
`projectSetup` is a project-scoped alternative to `globalSetup`.
It is only executed if at least one test from the project is scheduled to run.
2022-08-01 09:01:23 -07:00
sand4rt
8027bd375e
chore(ct): removed unused createApp function ( #16079 )
2022-07-31 14:35:05 -07:00
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection ( #16065 )
2022-07-31 14:31:17 -07:00
sand4rt
557db4c35e
chore(ct): mount result refactor ( #16067 )
2022-07-29 20:07:23 -07:00
Yury Semikhatsky
d05044f366
test: console messages are dispatched when page has workers ( #16066 )
2022-07-29 16:58:25 -07:00
Yury Semikhatsky
7d306bbc66
feat: return value from step ( #16060 )
2022-07-29 15:16:07 -07:00
Dmitry Gozman
e830fe821d
feat(test runner): introduce test.describe.fixme ( #16059 )
2022-07-29 12:44:22 -07:00
Dmitry Gozman
809002df60
fix(events): avoid firing lifecycle events twice ( #16055 )
...
Previously, when some iframe started/finished a new navigation, we
could have removed and then re-addded load/domcontentloaded on the
main frame.
Drive-by: unflake wheel test in Firefox.
2022-07-29 12:44:04 -07:00
Yury Semikhatsky
af8e3e7afa
feat: print response text when toBeOK fails ( #16040 )
2022-07-29 11:46:48 -07:00
sand4rt
4a47e275c8
feat(ct): vue set props ( #16058 )
2022-07-29 11:45:06 -07:00
Dmitry Gozman
62e4e80599
feat(test runner): show the number of fatal errors at the end ( #15975 )
2022-07-28 14:46:21 -07:00
Dmitry Gozman
829a1b8444
fix(isVisible): make sure isVisible check is atomic ( #16004 )
2022-07-28 14:09:36 -07:00
Max Schmitt
a089bf3df5
chore(test-runner): better error message if page gets used inside beforeAll ( #16012 )
2022-07-28 23:07:28 +02:00
Dmitry Gozman
3d89506704
fix(fixtures): make undefined option mean "default value" ( #16026 )
...
In the following example, `locale` inside the `describe`
would be reverted to the default value:
```js
test.use({ locale: 'en-GB' });
test.decsribe(() => {
test.use({ locale: undefined });
});
```
2022-07-28 12:57:05 -07:00
Max Schmitt
6482ff7a7f
chore: roll Electron to 16.2.8 ( #16017 )
2022-07-28 15:41:32 +02:00
Pavel Feldman
8c190c3e09
feat(testId): expose persistent test id ( #16003 )
2022-07-27 20:17:19 -07:00
Yury Semikhatsky
a128dda84e
feat(webkit): roll to r1691 ( #16000 )
2022-07-27 16:39:01 -07:00
Pavel Feldman
2eff208e54
feat(ct): allow unmounting components ( #15974 )
2022-07-27 15:12:36 -07:00
Dmitry Gozman
607910f6aa
fix(isVisible): do not retarget visibility checks ( #16002 )
...
We used to go to the enclosing button (inherited from click logic), which is unexpected.
2022-07-27 14:02:35 -07:00
Yury Semikhatsky
93b255ce90
test: unflake wheel test ( #16001 )
2022-07-27 13:27:46 -07:00
Eran Rom
68d558f896
chore(default context): Apply context workaround only when browser and scenario match ( #15904 )
2022-07-27 12:23:22 -07:00
Dmitry Gozman
a94fe361a2
test: unflake a few tests ( #15959 )
2022-07-27 11:27:53 -07:00
Dmitry Gozman
6009804e0e
Revert "fix(test runner): ignore undefined values in fixtures definit…ions ( #15119 )" ( #15979 )
...
Revert "fix(test runner): ignore undefined values in fixtures definitions (#15119 )"
Revert commit d7b63fa0b4 .
Add a test for the broken behavior.
2022-07-27 08:51:45 -07:00
Yury Semikhatsky
24ed337e1e
test: wheel event is dispatched to svg element ( #15967 )
2022-07-26 14:21:36 -07:00
Dmitry Gozman
cd9dccbe27
fix(test runner): serial suites inside parallel suite should run in parallel ( #15769 )
2022-07-26 13:38:25 -07:00
Dmitry Gozman
c0d78c5642
fix(runner): friendly error message instead of "digests do not match" ( #15939 )
2022-07-26 08:53:32 -07:00
Pavel Feldman
9a00c7319b
test: add a passing test for issue ( #15928 )
2022-07-25 15:31:00 -07:00
Pavel Feldman
6fcc916f00
test: passing test for issue 15891 ( #15930 )
2022-07-25 15:28:14 -07:00
Dmitry Gozman
9ce727c936
feat(list reporter): number test runs to see testing progress ( #15693 )
...
Drive-by: replace a few colors.gray with colors.dim for better contrast.
2022-07-25 13:22:25 -07:00
Max Schmitt
004cd9273c
fix(test-runner): multiple webServer types ( #15901 )
2022-07-25 10:39:06 +02:00
Dmitry Gozman
4bec6309df
fix(lifecycle): recalculate lifecycle on iframe detach ( #15812 )
...
It could be that iframe was blocking some event, like load or networkidle,
and we never updated the lifecycle after the iframe was detached. This
lead to goto and other navigation commands to never resolve.
2022-07-22 19:44:02 -07:00
Dmitry Gozman
f22d611ec5
test: rebaseline page-event-crash test ( #15817 )
2022-07-20 16:12:54 -07:00
Dmitry Gozman
ba3c8ffa5c
test: make sure browser crashes in CLI tests are marked as such ( #15821 )
2022-07-20 15:32:57 -07:00
Dmitry Gozman
f954891491
fix(runner): globalTeardown without globalSetup should work ( #15814 )
2022-07-20 12:41:35 -07:00
Max Schmitt
501b24a078
test: android test enhancements ( #15797 )
2022-07-20 18:27:08 +02:00
Playwright Service
919bf1f805
feat(chromium-tip-of-tree): roll to r1026 ( #15795 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-19 23:20:37 +02:00
Dmitry Gozman
6a60de1b2f
test: add failing test for traces after interruption ( #15796 )
2022-07-19 13:50:52 -07:00
Dmitry Gozman
7396a20277
test: display:contents should be scrollable into view ( #15765 )
2022-07-18 13:36:45 -07:00
Max Schmitt
c3af05eb26
test: enhance tracing tests to cover edge cases ( #15709 )
2022-07-15 13:31:58 -07:00
Dmitry Gozman
b637ce1250
test: skip tests that modify env in non-default mode ( #15725 )
2022-07-15 13:06:19 -07:00
Dmitry Gozman
a56d801352
fix(test runner): show fixture name when worker times out ( #15724 )
2022-07-15 13:05:48 -07:00
Pavel Feldman
a198b6d753
chore: reparent context objects into the object ( #15689 )
2022-07-15 08:56:47 -07:00
Ross Wollman
732b8f4760
chore: PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS and doc clarifications ( #15688 )
2022-07-14 17:40:22 -07:00
Max Schmitt
4bba41ab8f
Revert "feat(matchers): add toContainClass ( #15491 )" ( #15670 )
...
This reverts commit e4debd0bf6 .
2022-07-14 22:03:37 +02:00
Yury Semikhatsky
cb81d23ad6
fix(selectors): max hasText regex against nested nodes ( #15638 )
2022-07-14 08:23:11 -07:00
Ross Wollman
9387327a97
docs: Service Worker examples and explanations ( #15595 )
...
Resolves #15582 .
2022-07-13 16:42:46 -07:00
Pavel Feldman
d02914fa3a
chore: relax transpilation criteria to allow ems imports of .vue files ( #15592 )
2022-07-13 16:11:38 -07:00
Dmitry Gozman
22ead7b5ab
Revert "fix(test runner): handle istty in line reporter ( #15455 )" ( #15633 )
...
This reverts commit 767babc3a2 .
2022-07-13 15:11:56 -07:00
Dmitry Gozman
51c3ea55ed
Revert "feat(line reporter): show testing progress ( #15547 )" ( #15631 )
...
This reverts commit e76d9b3b28 .
2022-07-13 13:54:26 -07:00
Pavel Feldman
5a0adbdbbc
chore: bump vite-svelte ( #15628 )
2022-07-13 12:57:29 -07:00
Yury Semikhatsky
3436e64b75
feat: dispatch wheel event ( #15593 )
2022-07-12 17:17:45 -07:00
Pavel Feldman
00848b1bcf
fix(ct): restore public folder deployment ( #15594 )
2022-07-12 16:14:48 -07:00
Yury Semikhatsky
a6daf600a9
fix: support hasColors and getColorDepth in worker ( #15590 )
2022-07-12 14:47:14 -07:00
Pavel Feldman
3939b9f36e
chore: migrate component testing to server-side page reuse ( #15477 )
2022-07-12 14:30:24 -07:00
Max Schmitt
e4debd0bf6
feat(matchers): add toContainClass ( #15491 )
2022-07-12 23:17:10 +02:00
Yury Semikhatsky
008a85b143
feat(webkit): roll to r1681 ( #15577 )
2022-07-12 14:07:56 -07:00
Ross Wollman
8858162692
fix: Service Workers+Interception: missing page-level Network events ( #15549 )
...
Fixes #15474 .
Notes:
* page-level requests that are also handled by a SW's fetch handler, should not be interceptable at the page-level
* `Network.requestWillBeSent` does not provide enough metadata for Playwright to fire the `request` event at that time, so it does it as soon as it gets to the end of the request lifecycle
2022-07-12 13:23:35 -07:00
Max Schmitt
7e1801bd30
fix(matchers): repeating values lead to no error ( #15559 )
2022-07-12 20:03:27 +02:00
Pavel Feldman
f3d3231b29
feat(ct): allow configuring apps per test ( #15551 )
2022-07-12 09:37:33 -07:00
Dmitry Gozman
64353c4b96
fix(test runner): make sure worker cleans up if last test was skipped ( #15552 )
2022-07-11 21:33:56 -07:00
Dmitry Gozman
e76d9b3b28
feat(line reporter): show testing progress ( #15547 )
...
Line reporter now shows stats in addition to the test name:
```
[chromium] › page/page-click-react.spec.ts:108:1 › should not retarget when element changes on hover
[21/93] Passed: 17 Flaky: 0 Failed: 0 Skipped: 4 (7s)
```
2022-07-11 20:44:50 -07:00
Ross Wollman
60b34e9091
test: page-level request/response events with SW fetch handlers and interception ( #15544 )
...
Relates #15474 .
2022-07-11 16:32:42 -07:00
Yury Semikhatsky
87531289e2
test: case insensitive regex in hasText ( #15540 )
2022-07-11 14:24:08 -07:00
Ross Wollman
6219e945d5
test: cover Service Worker update ( #15537 )
2022-07-11 13:57:41 -07:00
Ross Wollman
2ee235ff1b
test: fix flaky SW tests ( #15536 )
...
The Service Worker tests had some races in them that only were apparent
on the bots. To repro, I ran the tests with:
```
xvfb-run taskset -c 0 npm run ctest -- chromium.spec.ts --headed --reporter=line --repeat-each 10 --workers=1
```
Just because Playwright has a SW, does not mean the worker has fully loaded
it's main/import scripts.
2022-07-11 13:56:38 -07:00
Pavel Feldman
3a9b29f46c
feat(ct-vue): allow configuring apps per test ( #15538 )
2022-07-11 13:54:05 -07:00
Pavel Feldman
5fc637e44a
chore: experimental resetForReuse ( #15432 )
2022-07-11 13:10:08 -07:00
Meir Blachman
a5571c9981
test: service worker main request/response should be marked correctly ( #15482 )
2022-07-11 12:29:49 -07:00
Max Schmitt
98ea418124
fix(expect): expect.not types ( #15487 )
2022-07-11 18:31:53 +02:00
Pavel Feldman
dd0eb5fb1d
fix(ct): support components w/o mount options ( #15501 )
2022-07-09 11:22:49 -07:00
Yury Semikhatsky
2850aae924
fix(webkit): use new protocol methods for bindings ( #15503 )
2022-07-08 15:11:29 -07:00
Dmitry Gozman
6dc4a51c92
fix(test runner): more friendly test duration ( #15476 )
...
fix(test runner): more firendly test duration
Reported test duration now does not include time spent in
`beforeAll`, `afterAll` and fixtures that have a separate timeout.
This is to avoid different reported test execution time,
depending on the test execution order.
2022-07-08 11:45:44 -07:00
Dmitry Gozman
894ead5198
fix(test runner): mention fixture in worker teardown timeout error message ( #15499 )
2022-07-08 11:44:37 -07:00
Yury Semikhatsky
5f42725358
feat(webkit): roll to r1674 ( #15384 )
...
Also reverted screenshot test changes from 4de14e7 as the breaking change was reverted upstream in Revert [251706@main] getComputedStyle(img).height returns string of a rounded int not a float WebKit/WebKit#1902
2022-07-08 11:07:06 -07:00
Yury Semikhatsky
51aa5fea78
fix: colors in console output from worker ( #15421 )
...
Color highlights regressed in #14455
Fixes #15366
2022-07-07 17:56:41 -07:00
Ross Wollman
799d4703bc
feature(test-runner): multiple web servers ( #15388 )
...
Fixes #8206 .
Since #8206 is a long-awaited (~ 1 year old), popular (~ 45 reactions, frequently requested in community channels, etc.), this PR aims to unblock folks.
Notably, we do not innovate on the `webServer` API, despite knowing we're not in love with it. We'll save the innovation for either Plugins or a new `LaunchConfigs` option. (We haven't yet arrived at a Plugin API we like, and instead of launching a new option guessing what the "better" launchConfig API would be, let's wait and see how folks use this new Array-variant of `webServer` which—despite its name—can be used for non-Web Server launches!
2022-07-07 15:27:21 -07:00
Max Schmitt
86a65a03e4
chore: add CI to default user agent ( #15450 )
2022-07-07 21:43:47 +02:00
jfgreffier
efec0261a1
feat(inspector): add keyboard shortcuts ( #12014 ) ( #15326 )
2022-07-07 11:25:48 -07:00
Playwright Service
adf03eaa4c
feat(chromium-tip-of-tree): roll to r1023 ( #15447 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-07-07 19:21:58 +02:00
Dmitry Gozman
767babc3a2
fix(test runner): handle istty in line reporter ( #15455 )
...
When running without tty, line reporter outputs a line for each
percent of the tests, thus limiting the output to ~100 lines.
In addition, reporters now support PLAYWRIGHT_LIVE_TERMINAL
env variable to force tty mode.
2022-07-07 09:55:12 -07:00
Andrey Lushnikov
ddad16faf8
test: enable test for page unhandled error in ff ( #15451 )
...
Fixes #14165
2022-07-07 08:17:57 -07:00
Playwright Service
72c3574943
feat(firefox-beta): roll to r1335 ( #15433 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-07-07 05:49:40 -07:00
Dmitry Gozman
89c16cbc8b
feat(runner): anonymous describes ( #15424 )
...
Useful to set some options without coming up with an artificial name.
```js
test.describe(() => {
test.use({ colorScheme: 'dark' });
test('my test', () => {});
})
```
2022-07-06 13:54:11 -07:00
Dmitry Gozman
c02d83fb11
fix(runner): filter only after duplicate titles check ( #15401 )
2022-07-06 12:51:26 -07:00
Dmitry Gozman
0142bdce76
test: mark driver mode as remote ( #15402 )
...
Otherwise we are passing buffers as objects, not as base64.
2022-07-06 09:20:07 -07:00
Yury Semikhatsky
00d5d26f3b
test: relax expectation to work for webkit ( #15397 )
2022-07-05 22:15:40 -07:00
Dmitry Gozman
ee82837fb5
fix(fixtures): do not run user function when required fixture has failed ( #15385 )
...
Currently, it is possible to run a function, e.g. a second `beforeEach` hook,
that will receive `null` for the fixture that has already failed before.
This PR skips running any user function that uses a fixture that has already
failed, just like if the fixture would be initialized again and failing for
the second time.
2022-07-05 17:15:28 -07:00
Andrey Lushnikov
3b269d0ed7
browser(ff-beta): roll Firefox-Beta to 103.0b5 ( #15394 )
2022-07-05 15:47:35 -07:00
Andrey Lushnikov
530867e8ab
browser(firefox): report unhandled rejections for Firefox ( #15391 )
...
References #14165
2022-07-05 15:46:28 -07:00
Dmitry Gozman
d60b8aba23
fix(codegen): handle more context options ( #15319 )
...
The following options now work across languages:
- `recordHar`
- `serviceWorkers`
In addition, object properties are now sorted alphabetically.
Drive-by: fixed `--target` help message to include all available targets.
2022-07-05 13:30:46 -07:00
Ross Wollman
8cdc4513f1
test: repro for load event fired too often ( #15320 )
...
Repro derived from #15086 . This does not look like a recent regression (if any at all) as it reproduces in both 1.22 and 1.23.
2022-07-05 11:09:36 -07:00
Ross Wollman
981f5ab8c1
fix(test-runner): apply fixme v. skip annotations ( #15277 )
...
Currently, if `text.fixme()` or `test.skip()` is used within a test, we
add a `fixme` or `skip` annotation. However, if the wrapper style is
used:
```
test.fixme('should work', () => {…})
```
the annotations were missing. This change adds annotations for the
above.
These annotations are important for reporting purposes and knowing
exactly what flavor of "skipped" was used.
Fixes #15239 .
2022-07-05 10:46:30 -07:00
Dmitry Gozman
2a805c1f1c
fix(line reporter): print currently running test ( #15339 )
2022-07-05 09:07:55 -07:00
Sean Doyle
ef5a56ce18
feat(evaluate): serialized URL instances ( #15023 )
...
Add support for returning [URL][] instances from `page.evaluate` calls.
Follow the patterns established by `Date` and `RegExp` serialization.
[URL]: https://developer.mozilla.org/en-US/docs/Web/API/URL
2022-07-05 17:53:02 +02:00
Dmitry Gozman
71dcad3b2e
test: fix some flaky failures ( #15314 )
...
- Never use open shadow root for highlight. This messes up
our selectors that accidentally match internal preview elements.
- Remove failing electron test that we do not care about.
- Skip `channels.spec.ts` in non-default mode.
2022-07-01 13:57:33 -07:00
Ross Wollman
6cb3236acd
feat(chromium): Service Worker Network Instrumentation and Inspection ( #14716 )
...
Adds Chromium support for Service Worker Networking (interception/routing, Request/Response events, and HAR).
Resolves #1090 .
Depends on #14714 and #14714 .
Supercedes #14321 .
Follow up #14711 .
Landed upstream patches:
- https://chromium-review.googlesource.com/c/chromium/src/+/3510917
- https://chromium-review.googlesource.com/c/chromium/src/+/3526571
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3566669
- https://chromium-review.googlesource.com/c/chromium/src/+/3544685
- https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3610924
- https://chromium-review.googlesource.com/c/chromium/src/+/3689949
2022-07-01 12:49:43 -07:00
Pavel Feldman
295ea7a3cb
fix(config): fall back to context options ( #15309 )
2022-07-01 10:20:13 -07:00
Dmitry Gozman
82032be368
chore(server): validate/convert protocol both ways ( #14811 )
...
Previously, we only validated/converted on the way to the server,
but not from the server.
Validating both ways catches issues earlier, and allows us to
perform automatic conversions, for example only converting
buffers to base64 when sending over wire.
2022-07-01 09:58:07 -07:00
Pavel Feldman
c4d2342339
fix(config): fall back to launch options ( #15293 )
2022-07-01 08:12:57 -07:00
Dmitry Gozman
5083da9d98
test: unflake "should truncate long test names" ( #15286 )
2022-06-30 20:24:00 -07:00
Dmitry Gozman
b86926e691
fix(test runner): update timeout error messages ( #15117 )
...
Some of the current timeout error messages are confusing, because they do not suggest that the issue is most likely a slow test. This PR updates timeout messages as follows:
- Test timeout of 30000ms exceeded.
- Test timeout of 30000ms exceeded while setting up "browser".
- Test timeout of 30000ms exceeded while tearing down "context".
- Test timeout of 30000ms exceeded while setting up "playwright configuration".
- Test timeout of 30000ms exceeded while running "beforeEach" hook.
- Test timeout of 30000ms exceeded while running "afterEach" hook.
- "beforeAll" hook timeout of 30000ms exceeded.
- "afterAll" hook timeout of 30000ms exceeded.
- Worker teardown timeout of 30000ms exceeded.
- "skip" modifier timeout of 30000ms exceeded.
- Fixture "myCustomFixture" timeout of 5000ms exceeded.
2022-06-30 17:05:08 -07:00
Dmitry Gozman
dc1d8dc3da
test: improve a few test runner tests that time out ( #15287 )
2022-06-30 17:03:01 -07:00
Max Schmitt
3d1d723c56
fix(esm): show codeframe when errors get reported ( #15262 )
2022-06-30 21:17:08 +02:00
Yury Semikhatsky
4de14e7d2c
feat(webkit): roll to r1673 ( #15276 )
2022-06-30 12:07:33 -07:00
Dmitry Gozman
f0b3b280a5
test: increase small timeouts to accomodate two workers ( #15257 )
2022-06-30 09:05:39 -07:00
Max Schmitt
71fc53bbf8
fix(matchers): toHaveClass on SVG elements ( #15267 )
...
Fixes #15260
2022-06-30 07:01:26 -07:00
Max Schmitt
b0bb99f413
test: unflake React.js and Vue tests ( #15264 )
...
React takes time to render on overbooked machines. Let's use web-first assertions to test that they work as expected.
Error: expect(received).toBe(expected) // Object.is equality
Expected: 1
Received: 0
at /home/runner/work/playwright/playwright/tests/page/selectors-react.spec.ts:34:71
<img width="887" alt="image" src="https://user-images.githubusercontent.com/17984549/176618419-7653e5d8-4853-4618-af3b-2698827879d2.png ">
2022-06-30 07:00:05 -07:00
Max Schmitt
f2ccd45cfd
test: unskip viewport size test ( #15268 )
2022-06-30 15:58:11 +02:00
Dmitry Gozman
da9d68265b
test: disable network sizes tests on old electron ( #15252 )
2022-06-29 17:50:42 -07:00
Ross Wollman
9fb80c905b
test: match more of output to ensure source map support is good ( #15206 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-06-29 22:26:48 +02:00
Max Schmitt
b3c31f5b13
fix: do not throw on removeListener without listener ( #15224 )
...
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-29 13:53:13 +02:00
Dmitry Gozman
8220ab1379
feat(firefox): roll ff 1328 and ff-beta 1330 ( #15185 )
2022-06-29 03:04:46 -07:00
Max Schmitt
e34fa4feeb
fix(evaluate): fallback to toJSON if it exists when serializing ( #15188 )
...
* fix(evaluate): fallback to toJSON if it exists when serializing
* fix test in ff
* window.performance test
2022-06-29 08:07:32 +02:00
Pavel Feldman
6a8d835145
chore: allow updating har while routing ( #15197 )
2022-06-28 15:09:36 -07:00
Yury Semikhatsky
bcb013d240
test: goForward is flaky in firefox ( #15182 )
2022-06-28 09:15:54 -07:00
Dmitry Gozman
79163e802a
fix(test runner): screenshot immediately after failure ( #15159 )
...
Previously, screenshot was taken after hooks and fixtures teardown.
However, hooks can easily modify the state of the page, and
screenshot would not reflect the moment of failure.
Instead, we take screenshots immediately after the test function
finishes with an error.
2022-06-27 17:46:39 -07:00
Dmitry Gozman
d7b63fa0b4
fix(test runner): ignore undefined values in fixtures definitions ( #15119 )
...
These mean "I don't want to specify this fixture/option"
instead of "I want the value of undefined", aligned with how TypeScript works.
We already do similar things in the config.
2022-06-27 11:31:41 -07:00
Dmitry Gozman
a93db3cf11
fix(reporter): line reporter should not swallow half-line stdout ( #15114 )
2022-06-27 11:25:42 -07:00
Playwright Service
fab12c70f7
feat(chromium): roll to r1012 ( #15111 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-06-27 10:01:10 +02:00
Yury Semikhatsky
53404ad167
test: request method is overridden ( #15089 )
2022-06-24 16:26:12 -07:00
Dmitry Gozman
660516d22a
fix(network): make allHeaders wait until all headers are available ( #15094 )
...
fix(network): make allHeaders wait until all header are available
Before, calling `allHeaders()` from `page.on('request')` would yield
provisional headers instead.
With these changes:
- In Firefox, all headers are available immediately.
- In Chromium, all headers are available upon requestWillBeSentExtraInfo.
- In WebKit, all headers are available upon responseReceived.
- In all browsers, intercepted requests use "provisional" headers
as all headers, since there is no network stack to change the headers.
Drive-by: migrated Chromium to `hasExtraInfo` flags that simplifies
the logic quite a bit.
2022-06-24 13:51:09 -07:00
Dmitry Gozman
2f11807552
fix(click): no element should intercept events over the target frame ( #15043 )
...
When target element is inside a non-main frame, there could be an
overlay in some of the parent frames that intercepts pointer events.
However, we never detected this case.
2022-06-24 13:17:25 -07:00
Pavel Feldman
ae6f48c4b8
fix(route): match against updated url while chaining ( #15112 )
2022-06-24 10:48:16 -07:00
Pavel Feldman
1ce1246a0e
test: stress runners ( #15078 )
2022-06-23 15:55:12 -07:00
Max Schmitt
88695be397
test: unflake launcher CR extensions test ( #15064 )
...
chore: unflake launcher CR extensions test
2022-06-23 09:36:33 +02:00
Dmitry Gozman
a46aaee6e8
fix(reporters): truncate long test titles from the start ( #15052 )
...
Most useful information is at the end - test name, current step, retry.
We truncate the repetitive project + suites at the start.
2022-06-22 17:03:54 -07:00
Pavel Feldman
7bd72716f9
feat(har): introduce the slim mode ( #15053 )
2022-06-22 14:44:12 -07:00
Dmitry Gozman
033c250f6d
fix(har): remove types/har.d.ts, update har.ts per spec ( #15046 )
...
Drive-by: typo fix in `notFound` option name.
2022-06-22 12:16:29 -07:00