Max Schmitt
a0c24c01c8
chore: fix docs links for .NET roll ( #13787 )
2022-04-27 16:06:30 +02:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval ( #13776 )
2022-04-26 21:32:38 -07:00
Pavel Feldman
2bc36794d1
chore: vite all frameworks ( #13780 )
2022-04-26 16:15:08 -07:00
Ross Wollman
3e84ab4701
test: run installation tests on all major platforms ( #13742 )
2022-04-26 11:09:49 -07:00
Dmitry Gozman
c0f0979055
fix(frames): networkidle for iframes with quirky urls ( #13767 )
2022-04-26 17:13:45 +01:00
Dmitry Gozman
1b159273ea
test: fix "should scroll zero-sized element into view" on headed ( #13766 )
...
Need to force-hide scrollbars.
2022-04-26 16:26:53 +01:00
Dmitry Gozman
39cfa2b6e3
test: switch temp dir tests to use userDataDir ( #13745 )
2022-04-26 09:32:58 +01:00
Ross Wollman
3ccac5b84d
fix: installation tests on Node.js 18 ( #13744 )
2022-04-25 13:24:11 -07:00
Dmitry Gozman
97750ccf9a
feat: locator.that ( #13731 )
...
Filters existing locator by options, currently `has` and `hasText`.
2022-04-25 20:06:18 +01:00
Yury Semikhatsky
aab1a746d3
fix: join individual css selectors by > in cssFallback ( #13712 )
2022-04-25 11:11:24 -07:00
Pavel Feldman
5e51c17d41
chore: use plugin story for components ( #13717 )
2022-04-25 10:40:58 -07:00
Ross Wollman
e69e836c40
chore: port installation tests to @playwright/test ( #13644 )
2022-04-25 09:30:14 -07:00
Yury Semikhatsky
2e6ef8f622
fix(runner): fail if worker cannot find some of the tests ( #13666 )
2022-04-25 09:05:40 -07:00
Dmitry Gozman
8e5854033a
fix: types generation for attach and GlobalInfo ( #13727 )
2022-04-25 13:56:37 +01:00
Dmitry Gozman
d2bdb1d7cf
docs: explain label retargeting in selectors doc and some input actions ( #13725 )
2022-04-25 13:55:41 +01:00
Dmitry Gozman
01a8977b4d
feat: make scrollIntoView work with zero-sized elements ( #13702 )
...
We skip waiting for "visible" state that enforces non-zero size.
Other invisible conditions like "display:none" fail during the
actual "scrolling" step and will retry.
2022-04-23 21:48:36 +01:00
Yury Semikhatsky
0839817ff2
test: delete should not hang in exposeBinding test ( #13705 )
2022-04-22 12:16:12 -07:00
Ross Wollman
3eac9c694c
fix(test-runner): mark attach as async ( #13687 )
...
Also brings back generation of experimental types as part of lint.
2022-04-22 09:27:02 -07:00
Max Schmitt
ca4cfca8ad
chore: make tests pass on Node.js 17+ ( #13678 )
2022-04-22 13:42:52 +02:00
Pavel Feldman
3d4caab153
chore: move playwright gallery into a subfolder ( #13695 )
2022-04-21 21:07:43 -07:00
Yury Semikhatsky
801dbe0699
fix(oopif): dispose child sessions when frame session is disposed ( #13693 )
2022-04-21 18:32:56 -07:00
Pavel Feldman
5990eb6074
chore: use vite plugin for registry ( #13658 )
2022-04-21 17:30:17 -07:00
Pavel Feldman
f3ba9f30fc
chore: follow up to #13626 , fix compilation
2022-04-19 13:33:05 -07:00
Yury Semikhatsky
0a401b2d86
docs: clarify semantics of redirected response ( #13636 )
2022-04-19 09:36:38 -07:00
Andrey Lushnikov
88a9262dbb
fix: resolve WebServer cwd dir wrt configDir ( #13626 )
...
Drive-by: speed-up webserver tests by not waiting 750ms to start it.
Fixes #13115
2022-04-19 07:45:36 -07:00
Andrey Lushnikov
a617604962
test: make sure toHaveScreenshot doesn't tolerate bad option values ( #13627 )
...
Fixes #13495
2022-04-19 07:43:18 -07:00
Andrey Lushnikov
80bc532874
fix: support undo/redo editing commands ( #13606 )
...
Fixes #13601
2022-04-18 22:22:52 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps ( #13621 )
2022-04-18 20:20:49 -07:00
Pavel Feldman
63ea81ec54
chore: make bundles typed ( #13620 )
2022-04-18 17:50:25 -07:00
Yury Semikhatsky
ed0dcdabc9
docs: clarify toBeDisabled behavior ( #13616 )
2022-04-18 17:06:01 -07:00
Pavel Feldman
58d79e5e4d
chore: add core utils bundle ( #13615 )
2022-04-18 13:47:23 -07:00
Pavel Feldman
eafb92f6a3
chore: embed expect types ( #13609 )
2022-04-18 10:54:40 -07:00
Pavel Feldman
5f843c347d
chore: bundle pixelmatch, it has not changed for 2 years ( #13585 )
2022-04-15 16:58:31 -07:00
Yury Semikhatsky
7ffce1da53
chore: remove PlaywrightClient and Docker factory ( #13571 )
2022-04-15 12:11:38 -07:00
Dmitry Gozman
02aa4fe617
chore: generate types for TestProject/TestConfig ( #13574 )
2022-04-15 10:27:38 -07:00
Dmitry Gozman
2f570fa586
test: remove stray logging ( #13572 )
2022-04-14 16:58:09 -07:00
Dmitry Gozman
189a5fa0f8
chore: freez FullProject public type ( #13570 )
...
This is similar to FullConfig.
Properties `expect` and `fullyParallel` are not exposed.
2022-04-14 16:58:01 -07:00
Dmitry Gozman
022f83d3b4
test: run "should remove temp dir on process.exit" on windows ( #13568 )
2022-04-14 16:07:03 -07:00
Yury Semikhatsky
aee6ba299a
chore: remove GridClient, run only page tests in service mode ( #13566 )
2022-04-14 15:30:04 -07:00
Wojciech Jureczka
7ba527c65f
chore: expose JSON Reporter types ( #13241 )
...
Resolves #13208
2022-04-14 13:55:29 -07:00
Dmitry Gozman
c86c2e8762
feat: restore toHaveScreenshot as experimental feature ( #13549 )
...
- Restore docs.
- Make `TestConfig.expect` generated.
- Allow experimental properties with "e" marker: `- foo e<float>`.
2022-04-14 13:22:42 -07:00
Ross Wollman
11179982fc
chore: force localPaths to be resolved ( #13544 )
2022-04-14 11:19:36 -07:00
Max Schmitt
584140f97a
fix: make fetch api work with connectOverCDP ( #13521 )
2022-04-14 12:53:49 +02:00
Dmitry Gozman
20dcc45afa
feat: support experimental doc entries ( #13446 )
...
feat: support experimental doc entries
- Params/options/members are marked as experimental in the docs.
- `experimental.d.ts` is generated that contains all types and
includes experimental features.
- `experimental.d.ts` is references in our tests so that we
can test experimental features.
- `fonts` option is restored as experimental.
2022-04-13 16:13:30 -07:00
Dmitry Gozman
166675b9c1
feat(test): more information about timing out fixtures ( #13546 )
...
- Always show a fixture that was running during timeout.
- Give custom titles to built-in fixtures.
- Specify setup/teardown fixture phase in the message.
- Split connect vs launch browser fixtures for better naming.
Example timeout message:
```log
Timeout of 2000ms exceeded while running fixture "built-in playwright configuration" teardown.
```
2022-04-13 15:13:31 -07:00
Dmitry Gozman
7a5b070e95
fix(type): focus switch between contenteditables in shadow dom ( #13510 )
...
Firefox has a bug: calling `node.focus()` does make the node focused,
but some internal "current contenteditable node" is not changed.
Blurring the previous one and focusing the new one helps.
2022-04-12 16:44:27 -07:00
Dmitry Gozman
2a97ad2487
test: check that we remove temp directories on process exit ( #13494 )
2022-04-12 12:28:33 -07:00
Dmitry Gozman
1e1df6395f
chore: generate expect types ( #13439 )
2022-04-11 10:42:19 -07:00
Yury Semikhatsky
9b07ca5050
test: reenable "should restore state from userDataDir" ( #13475 )
2022-04-11 09:08:40 -07:00
Ross Wollman
cdb68448e1
test: fix broken GlobalInfo.attach Windows test ( #13441 )
2022-04-08 17:48:01 -07:00
Dmitry Gozman
f6ccd4847e
fix(test runner): default workerIndex to -1 ( #13440 )
2022-04-08 15:23:23 -07:00
Ross Wollman
1af32e400f
feat(test-runner): introduce GlobalInfo ( #13083 )
2022-04-08 13:22:14 -07:00
Pavel Feldman
f0156d057e
chore: flatten supplements ( #13437 )
2022-04-08 12:52:40 -07:00
kaivean
d65263f151
feat(android): allow getting webviews by socket name ( #13248 )
2022-04-08 20:52:16 +02:00
github-actions[bot]
d91349f22a
feat(webkit): roll to r1629 ( #13407 )
2022-04-08 11:50:53 -07:00
Pavel Feldman
845e32cbb8
chore: use utils via index export (6) ( #13417 )
2022-04-07 21:48:41 -07:00
Pavel Feldman
e79b90f454
chore: use utils via index export (5) ( #13413 )
2022-04-07 20:18:22 -07:00
Dmitry Gozman
155bb7fcae
fix: wait for cleanup on double SIGINT ( #13411 )
...
This is a speculative fix to leftover tmp directories.
When users issues SIGINT twice, we enter `gracefullyClose()`
twice, and shortcut the second time. It turns out, we do
not wait for directories removal.
Note: it is unknown how often we reach this codepath in practice.
2022-04-07 19:20:54 -07:00
Max Schmitt
eaab6406cd
chore: skip android driver omitDriverInstall test ( #13410 )
2022-04-08 02:14:34 +02:00
Pavel Feldman
a3c02222bf
chore: use utils via index export (4) ( #13404 )
2022-04-07 14:36:13 -07:00
Pavel Feldman
40d5e3a3c9
chore: use utils via index export (3) ( #13403 )
2022-04-07 13:55:44 -07:00
Max Schmitt
5536e64538
feat(test-runner): support filtering by columns ( #13401 )
2022-04-07 22:45:45 +02:00
Dmitry Gozman
1dc2d02d35
chore: roll stable-test-runnner to apr-07 ( #13374 )
2022-04-07 14:58:04 +02:00
Pavel Feldman
bde7bf4ea9
chore: move registry & dispatchers to under server ( #13370 )
2022-04-06 22:21:27 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Ivan Kaliada
424de6c38f
fix: resolve ts compilerOptions.paths with prefixes and suffixes ( #13105 )
2022-04-06 14:14:03 -07:00
Pavel Feldman
f3bd910820
chore(test-runner): rewrite poll, soft, wrap ( #13335 )
2022-04-05 17:47:35 -07:00
Dmitry Gozman
4bb563b015
fix(expect): proper return types ( #13334 )
...
A few changes:
- `Matchers<R, T>` now carries both return and argument type.
- Based on the argument type, we apply playwright-specific Page/Locator matchers.
- Return type is usually void, unless wrapped with `expect.resolves`,
`expect.rejects` or `expect.poll()`.
- To preserve compatibility with any extended types in the wild,
argument type is optional.
2022-04-05 16:11:11 -07:00
Pavel Feldman
6ca58e18cb
fix(electron): better support for custom schemas ( #13329 )
2022-04-05 16:10:12 -07:00
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir ( #13304 )
2022-04-05 08:34:51 -07:00
Pavel Feldman
5c282e50a9
fix(svelte-ct): remove layout reset example ( #13306 )
2022-04-04 17:49:40 -07:00
Dmitry Gozman
a09b8dfa36
chore: unrelease 'fonts' screenshot option ( #13300 )
2022-04-04 14:51:11 -07:00
Ross Wollman
8a6b640fca
test: mark enum babel test as failing ( #13282 )
2022-04-04 12:49:39 -07:00
Pavel Feldman
8232497c88
feat(electron): expose app process(), detach on exit ( #13280 )
2022-04-04 11:50:46 -07:00
Ross Wollman
3636d8548f
chore: fix lint ( #13279 )
2022-04-03 21:22:47 -07:00
Ross Wollman
014deed913
test: repro enums in tsx undefined ( #13272 )
...
The enums imported from the .tsx file are ending up as "undefined";
from the .ts file they are defined.
Repro for #13265 .
2022-04-03 21:12:00 -07:00
Pavel Feldman
b0103566c9
fix(addInitScript): tolerate trailing comments ( #13275 )
2022-04-03 18:47:12 -07:00
kaivean
5d2e8918d8
feat(android): add androidDevice.options.omitDriverInstall ( #13249 )
2022-04-02 16:00:38 -07:00
Pavel Feldman
66cf82766e
test(html-reporter): add image diff tests ( #13262 )
2022-04-01 18:11:15 -07:00
Pavel Feldman
55ee41c848
feat(html): render image diff slider ( #13257 )
2022-04-01 15:27:51 -07:00
Ross Wollman
12abae7f31
feat(test-runner): friendly expect errors for typos ( #13229 )
...
If you typo'd an `expect` property, you got a cryptic error message:
```
Uncaught TypeError: Cannot create proxy with a non-object as target or handler
```
Now we get this nice friendly message:
```
1) a.spec.ts:6:9 › explodes ======================================================================
Error: expect: Property 'toBeLessThen' not found.
Did you mean 'toBeLessThan'?
See https://playwright.dev/docs/test-assertions for available options and documentation.
5 | const { test } = pwt;
6 | test('explodes', () => {
> 7 | expect.soft(1).toBeLessThen();
| ^
8 | });
9 |
```
Fixes #13218
2022-04-01 13:38:22 -07:00
Dmitry Gozman
fee9b6007f
test: fix windows paths in golden.spec ( #13258 )
2022-04-01 13:12:29 -07:00
Ross Wollman
16efbdef98
chore: remove/rename FullConfig._attachments ( #13233 )
...
This was originally introduced in #12734 .
It will be replaced with GlobalInfo (#13083 ), but not before the 1.21
release.
2022-04-01 12:36:05 -07:00
Ross Wollman
e5ba0d6846
test: ensure tests do not run after globalSetup fail ( #13255 )
...
Resolves #13244
2022-04-01 12:35:25 -07:00
Dmitry Gozman
a200fe3528
feat(screenshot): rename "size" option to "scale" ( #13254 )
...
Drive-by: fix `caret` handling in `toHaveScreenshot`.
2022-04-01 12:28:40 -07:00
Dmitry Gozman
356fc35b85
feat(role selector): allow unquoted name attribute ( #13224 )
...
- This supports `role=button[name=Hello]` similarly to CSS selectors.
- Does not change `_react` or `_vue` behavior that insist on quoting the string.
- Uses CSS notion of "identifier" characters.
2022-04-01 10:08:02 -07:00
Yury Semikhatsky
7d7fe3c618
fix(route): remove cors option, compare origin ( #13231 )
2022-03-31 19:21:21 -07:00
Dmitry Gozman
9fc95dda84
fix(screenshot): do not stall on hideHiglight attempt 2 ( #13222 )
...
It turns out that "non stalling evaluate" can stall in Chromium
in some weird conditions, like `document.open` after some weird
`iframe.src` value.
We now only hide highlight in those frames where we did install
highlight in the first place.
2022-03-31 15:33:29 -07:00
Pavel Feldman
6a463195c4
chore: allow multiple image diffs ( #13202 )
2022-03-31 14:11:34 -07:00
Pavel Feldman
0346b5204b
chore: roll test runner to next ( #13220 )
2022-03-31 14:11:11 -07:00
Dmitry Gozman
e5182259b1
feat(role selector): docs and minor fixes ( #13203 )
...
- Added docs to `selectors.md`.
- `[pressed]` and `[checked]` do not match `"mixed"` states.
- Disallow `[name]` shorthand without a value.
- Renamed `includeHidden` to `include-hidden`.
2022-03-31 13:06:39 -07:00
Pavel Feldman
923f74c5a6
chore: allow matchers decorate step title ( #13199 )
2022-03-30 21:52:00 -07:00
Pavel Feldman
42f260c688
chore: prepare image diff for refactornig ( #13197 )
2022-03-30 17:42:08 -07:00
Dmitry Gozman
a8d4a8aa52
fix(text selector): ignore non-leading quote when parsing ( #13170 )
...
Previously, any unpaired quote in the text selector "escaped"
everything till the end of the selector string, and so any
subsequent chained selectors, including ">>" separator were ignored.
An example of misbehaving selector: `text=19" >> nth=1`.
Now, when text selector contains a non-leading quote, selector parser
does not assume it should escape ">>" separator and correctly
tokenizes all selectors from the chain.
Note that this behavior is a workaround for the fact that our
text selectors is somewhat poorly defined in this area. That said,
this workaround seems to be safe enough. It still does not work for
unpaired leading quotes like this: `text="19 >> nth=1`.
2022-03-30 09:33:32 -07:00
Pavel Feldman
81e7c0a77c
chore(html-report): render metainfo as a chip ( #13166 )
2022-03-29 18:13:08 -07:00
Andrey Lushnikov
a9989852d5
feat(vrt): new option "caret" for taking screenshots ( #13164 )
...
This has two values:
- `"hide"` to hide input caret for taking screenshot
- `"initial"` to keep caret behavior unchanged
Defaults to `"hide"`.
Fixes #12643
2022-03-29 17:48:13 -07:00
Pavel Feldman
5e17ed137b
fix(html-report): only invoke git once ( #13165 )
2022-03-29 15:49:58 -07:00
Dmitry Gozman
eb09306db2
feat(connect): add connectOptions.timeout ( #13163 )
2022-03-29 15:03:43 -07:00
Andrey Lushnikov
aa1daeba85
fix(html): put HTML report next to package.json by default ( #13141 )
...
Fixes #12970
2022-03-29 14:19:31 -07:00
Dmitry Gozman
6b48631eed
feat(role): add more tests for accessible name ( #13154 )
2022-03-29 11:59:44 -07:00