Commit Graph

1839 Commits

Author SHA1 Message Date
Pavel Feldman
f724fa570f
docs: make ts snippets esm-friendly (#14451) 2022-05-27 12:36:59 -07:00
Yury Semikhatsky
cac13c248b
docs: fix typo in soft assertions example (#14450) 2022-05-27 10:57:03 -07:00
Yury Semikhatsky
3d83569e5c
docs: update macOS required version (#14410) 2022-05-27 10:18:36 -07:00
Max Schmitt
c35d29d7e5
docs(dotnet): add api-testing doc. (#14449) 2022-05-27 17:35:42 +02:00
Tim Rogowski
3030d97b2b
docs(python): fix missing await in JS evaluation example (#14426) 2022-05-27 12:21:13 +02:00
Yury Semikhatsky
d5c1a5a11f
docs: definition of enabled state (#14409) 2022-05-25 12:05:17 -07:00
Ross Wollman
9b225f2ad4
fix: expect.toHaveScreenshot.animations types (#14387)
This makes the docs/types match the code which has already been
released.

Relevant code to traverse up from:
- 3e084829c0/packages/playwright-core/src/server/screenshotter.ts (L89)
- 3e084829c0/packages/playwright-core/src/server/screenshotter.ts (L118)

Fixes #14385
2022-05-24 11:34:29 -07:00
Andrey Lushnikov
3fd435d1d3
docs: fix docs for toHaveScreenshot (#14280) 2022-05-24 10:54:32 -07:00
Max Schmitt
7f640d8a49
docs(dotnet): add API testing (#13889) 2022-05-23 22:12:57 +03:00
Pavel Feldman
abed166dd4 docs: components known issues 2022-05-21 11:28:37 -07:00
Yury Semikhatsky
3c6146c9ec
docs: give value parameter proper name (#14256) 2022-05-18 09:59:07 -07:00
Max Schmitt
9256de5f48
chore: fix wrong toHaveScreenshot defaults in docs (#14200) 2022-05-16 22:26:23 +03:00
Pavel Feldman
56a5f2c506
fix(types): fix the toHaveScreenshot types (#14174)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-05-16 07:53:46 -07:00
Kathleen Brand
41c676b3dc
docs: fix small typo in 'Migrating from Protractor' (#14178)
Co-authored-by: Kathleen Brand <kathleen.brand@resmed.com.au>
2022-05-15 20:34:37 -07:00
Takuya Matsuda
634ba85c83
docs: fix grep example command (#14138) 2022-05-13 09:25:56 -07:00
Dmitry Gozman
c3beb71b07
fix(test runner): do not run automatic fixtures for beforeAll hooks (#14104)
There are a few issues this covers:
- Some fixtures like `page` and `context` are not allowed in `beforeAll`
  hooks, so using them in automatic fixture makes it throw.
- Running automatic fixture solely for `afterAll` is unexpected.
  This currently happens when `afterAll` is run for cleanup after
  fixture timeout/throw.

For built-in playwright fixture, we keep `'all-hooks-included'` auto mode.

Added a doc explaining the execution order.
2022-05-13 11:17:20 +01:00
Andrey Lushnikov
f7adbd83ee
chore: cut v1.22.0 (#14098) 2022-05-12 11:12:01 -07:00
Andrey Lushnikov
5268dd7196
docs: add release notes for 1.22 (#14100) 2022-05-12 11:07:55 -07:00
Dmitry Gozman
0e2855348c
feat(locators): remove layout locators (#14129) 2022-05-12 18:50:19 +01:00
Pavel Feldman
729e41b3aa docs: component testing npm nit 2022-05-11 12:24:04 -07:00
Max Schmitt
2844623109
docs: add route class -> networking guide reference (#14092) 2022-05-11 16:07:00 +01:00
Andrey Lushnikov
7ec1e59e3d
docs: move vrt docs to use toHaveScreenshot (#14059) 2022-05-10 07:43:03 -07:00
Pavel Feldman
e9378ba5fc
chore: hide plugins again (#14038) 2022-05-09 10:06:13 -07:00
Yury Semikhatsky
3dc5a7c05a
docs: fix method name in java example (#14036) 2022-05-09 09:18:19 -07:00
Andrey Lushnikov
5aa82dc5e4
chore: un-experiment expect(pageOrLocator).toHaveScreenshot() (#14033)
This patch un-experiments `expect(pageOrLocator).toHaveScreenshot()`
method.

Fixes #13526
2022-05-09 08:34:03 -07:00
Dmitry Gozman
6931d89eaf
feat(locators): rename locator.that to locator.filter (#14025) 2022-05-08 21:59:40 +01:00
Dmitry Gozman
c3cf7ee4a7
feat(layout locators): remove maxDistance option (#14013) 2022-05-08 07:18:16 +01:00
Pavel Feldman
5c9e7f48e0
fix(debug): do not pause on internal calls, update ct docs (#14018) 2022-05-07 19:56:25 -07:00
Andrey Lushnikov
5a5bb36d28
chore: nuke "fonts" screenshot option (#14004)
It was never released since it wasn't working as expected on WebKit WPE.

Fixes #12839
2022-05-06 17:54:17 -07:00
Pavel Feldman
1bbefce9af
Revert "chore: use plugins for component testing again (#13977)" (#13998)
This reverts commit a2f9f15e3e.
2022-05-06 12:02:07 -07:00
Pavel Feldman
2e96c7eeb3
chore: update ct how-to (#13981) 2022-05-05 17:59:37 -07:00
Pavel Feldman
a2f9f15e3e
chore: use plugins for component testing again (#13977) 2022-05-05 14:26:56 -07:00
hirohe
3ab0ecf143
docs: update Worker-scoped fixtures code example (#13951) 2022-05-05 11:27:53 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation (#13950) 2022-05-05 10:14:00 -07:00
Nav-2d
831b9e1d6d
docs(components): update docs (#13953) 2022-05-05 07:35:01 -07:00
Pavel Feldman
cfde11b6e2
docs: add a brief components doc (#13944) 2022-05-04 16:01:48 -07:00
Ross Wollman
95f7acf1e4
chore: widen Metadata type (#13942) 2022-05-04 13:16:11 -07:00
Pavel Feldman
29fd1d86df
chore: hide plugins for now (#13908) 2022-05-03 14:25:56 -07:00
Dmitry Gozman
54dd6d01e5
feat(locator): layout options (leftOf, rightOf, above, below, near) (#13821)
This also includes corresponding selector engines `left-of` and others,
modeled after existing `has` selector engine.
2022-05-03 10:33:33 +01:00
Ross Wollman
3b3cad7d69
feat: rewrite gitCommitInfo plugin, drop GlobalInfo & attachments (#13837) 2022-05-02 16:28:14 -07:00
Andrey Lushnikov
bd2a2873b7
chore: unexperiment role selectors (#13858) 2022-05-02 09:32:50 -07:00
Dmitry Gozman
dc3f2d26c4
docs: add details to the element screenshot methods (#13847) 2022-04-29 17:36:09 +01:00
Ross Wollman
45972a0b6a
feat: add name for plugins (#13826)
Useful for debugging and eventually for reporters to give status updates on which phase of which plugin they are currently running.
2022-04-28 11:43:39 -07:00
Pavel Feldman
e756528ad2
feat(plugins): expose suite to plugin setup (#13807) 2022-04-28 08:16:17 -07:00
Ajeet Dhaliwal
5208f96d7f
docs: add Tesults reporter to test-reporters & showcase (#12720) 2022-04-27 19:37:59 +01:00
Dmitry Gozman
3aba94dbef
chore: remove unnecessary types from overrides-test (#13794) 2022-04-27 16:14:37 +01:00
Max Schmitt
a0c24c01c8
chore: fix docs links for .NET roll (#13787) 2022-04-27 16:06:30 +02:00
Max Schmitt
992b47910f
docs(ci): remove providers which don't support GHA on deployment event (#13786)
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2022-04-27 16:06:19 +02:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval (#13776) 2022-04-26 21:32:38 -07:00
Ari
f989e86538
docs(docker.md): add a note clarifying Docker vs. Playwright image (#13768)
Addresses feedback from #12772
2022-04-26 12:04:45 -07:00
Max Schmitt
37bee74ae5
chore: set minimum version to Node.js 14 (#13469) 2022-04-26 17:52:32 +02:00
Dmitry Gozman
00b4fb8bad
docs: describe layout selectors sorting logic (#13753) 2022-04-26 15:02:01 +01:00
Dmitry Gozman
416b56a0c8
fix: await expect.poll in docs (#13743) 2022-04-25 20:22:53 +01: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
Pavel Feldman
5e51c17d41
chore: use plugin story for components (#13717) 2022-04-25 10:40:58 -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
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
Andreas Opferkuch
c7212e6d56
docs(extensions): list all extension requirements (#13688) 2022-04-22 13:44:18 +02:00
Max Schmitt
4a3180aca9
chore: make Android host option configurable (#13685) 2022-04-21 22:16:42 +02:00
Sean Perkins
8c4fc62e8f
docs(test-annotations): add isMobile to typescript snippet (#13686) 2022-04-21 20:58:40 +02:00
Guriy Samarin
cde7c5df44
docs(dotnet): migrate to top-level style code snippets (#13559) 2022-04-19 20:23:26 +02:00
Yury Semikhatsky
0a401b2d86
docs: clarify semantics of redirected response (#13636) 2022-04-19 09:36:38 -07:00
Mahesh Sundaram
05527bf110
docs: add example for global setup process.env (#13397)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-19 17:44:30 +02: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
Yury Semikhatsky
ed0dcdabc9
docs: clarify toBeDisabled behavior (#13616) 2022-04-18 17:06:01 -07:00
Meir Blachman
48a8b3fddd
fix(docs): fix typo in network (#13613) 2022-04-18 12:29:16 -07:00
Dmitry Gozman
02aa4fe617
chore: generate types for TestProject/TestConfig (#13574) 2022-04-15 10:27:38 -07:00
spaniardmaximus
05f67d27cc
docs(selectors.md): fix typo (#13569) 2022-04-14 17:36:26 -07:00
Dmitry Gozman
634f40e850
docs: expand TypeScript doc with modules and path mappings (#13567) 2022-04-14 15:02:36 -07:00
azad-derakhshani-GS
562fd989df
docs(input.md): add Locator API references (#13562)
Resolves #13561
2022-04-14 13:24:06 -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
Max Schmitt
02a5417746
docs(docker): some enhancements (#13558) 2022-04-14 17:12:21 +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
Andrey Lushnikov
52e326abd1
docs: release notes for 1.21 (#13491) 2022-04-11 16:53:57 -07:00
Dmitry Gozman
1e1df6395f
chore: generate expect types (#13439) 2022-04-11 10:42:19 -07:00
Yury Semikhatsky
1ee42a366d
docs: mark fetch params as optional again (#13479) 2022-04-11 10:01:32 -07:00
Ross Wollman
962361abd7
docs: fix test.step return type (#13464)
Fixes #13463.
2022-04-11 09:40:46 -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
kaivean
d65263f151
feat(android): allow getting webviews by socket name (#13248) 2022-04-08 20:52:16 +02:00
Yury Semikhatsky
10b8a8b199
docs(java): clarify source list format (#13431) 2022-04-08 10:44:48 -07:00
Dmitry Gozman
cef476b89f
docs: support optional methods (#13415)
So far, these are used in `Reporter`.
2022-04-07 18:51:05 -07:00
Andrey Lushnikov
91333daf09
chore: cut v1.21.0 (#13405) 2022-04-07 18:16:22 -07:00
Max Schmitt
5536e64538
feat(test-runner): support filtering by columns (#13401) 2022-04-07 22:45:45 +02:00
Steve Zhang
de518338ce
docs: fix class-coverage snippet for v8toIstanbul (#13371)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-07 18:34:45 +02:00
Dmitry Gozman
c68f57d2d0
docs: mark optional properties/arguments explicitly with "?" (#13369)
Previously, we were guessing whether something is optional from the
comment (looking for stuff like "defaults to" or "optional").

To remove this error-prone technique, every optional property or
argument (but not option) is explicitly marked with "?".
2022-04-06 19:02:10 -07:00
Dmitry Gozman
4123a55be5
chore: generate more types (#13358)
As a result, fix documentation issues:
- Removed `TestStep.data` that is not a thing.
- Added `TestConfig.name` documentation.
- Refined a lot of optional types in the documentation.
- Aligned `test.fail()` and `test.slow()` docs with `test.skip()`.
- Strict set of docs vs types inconsistensies in the generator
2022-04-06 13:36:20 -07:00
Akul Srivastava
d9d826b7f6
docs: fixes typo (#13094)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-04-06 12:00:51 +02:00
Dmitry Gozman
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
Josep Vidal
c69c74caba
docs: fix wrong input field name on GitHub auth (#13315) 2022-04-05 13:13:02 -07:00
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir (#13304) 2022-04-05 08:34:51 -07:00
Max Schmitt
cb4fba5e56
docs: fix toMatchSnapshot optional name usage (#13321) 2022-04-05 15:34:04 +02:00
Dmitry Gozman
a09b8dfa36
chore: unrelease 'fonts' screenshot option (#13300) 2022-04-04 14:51:11 -07:00
Dmitry Gozman
4e1fb1728f
docs: small clarifications to hasText and has-text (#13298) 2022-04-04 13:18:03 -07:00
Pavel Feldman
8232497c88
feat(electron): expose app process(), detach on exit (#13280) 2022-04-04 11:50:46 -07:00
Ben Hammond
66a95c6897
docs(ci): fix typo (#13276) 2022-04-03 18:01:02 -07:00
kaivean
5d2e8918d8
feat(android): add androidDevice.options.omitDriverInstall (#13249) 2022-04-02 16:00:38 -07:00
Dmitry Gozman
bba36dcae4
docs: add locator options to selectors doc (#13263) 2022-04-01 20:58:48 -07:00
Dmitry Gozman
f9ae423eab
docs: attempt to fix rendering of test-timeouts page (#13256) 2022-04-01 15:06:26 -07:00
Ross Wollman
16efbdef98
chore: remove/rename FullConfig._attachments (#13233)
This was originally introduced in #12734.

It will be replaced with GlobalInfo (#13083), but not before the 1.21
release.
2022-04-01 12:36:05 -07:00
Dmitry Gozman
a200fe3528
feat(screenshot): rename "size" option to "scale" (#13254)
Drive-by: fix `caret` handling in `toHaveScreenshot`.
2022-04-01 12:28:40 -07:00
Yury Semikhatsky
7d7fe3c618
fix(route): remove cors option, compare origin (#13231) 2022-03-31 19:21:21 -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
Marcus Felling
705a994f18
docs: add VS Code extension (#12372) 2022-03-30 09:31:35 -07:00
Jim Fisher
7d734802fc
docs: explain why video has gray borders 2022-03-30 09:19:05 -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
Dmitry Gozman
eb09306db2
feat(connect): add connectOptions.timeout (#13163) 2022-03-29 15:03:43 -07:00
Ross Wollman
bb90ab1471
docs: use case-sensitive keyword (#13136) 2022-03-28 14:16:33 -07:00
Yury Semikhatsky
5734c18ef8
feat(route): add cors header in route.fulfill (#12943) 2022-03-25 14:56:57 -07:00
Max Schmitt
c8cc62a2e6
chore: add link validation for docs (#13047) 2022-03-25 19:30:45 +01:00
Andrey Lushnikov
0243bb4920
docs: refresh CI docs (#13020)
- Travis CI docs are badly rotten. I recall there was a need to
  list all the custom apt packages in the `travis.yml`, and it's a
  hassle to maintain this list for us. I remove the whole section for now
  since we don't see lots of Travis CI usage among our clients.
- Refresh other bits

Fixes #12855
2022-03-24 14:08:32 -07:00
Max Schmitt
1797c5c249
chore(test-runner): support self signed certificate in webServer (#13032) 2022-03-24 17:30:52 +01:00
Max Schmitt
434a729396
docs(dotnet): add missing Docker image (#13043) 2022-03-24 16:58:21 +01:00
Max Schmitt
81050c406e
chore: fix snippets in release-notes (#13033) 2022-03-24 07:52:04 -07:00
Dmitry Gozman
418dc9ea5d
docs(parallel): tell about fully parallel mode (#13013) 2022-03-23 16:43:46 -07:00
Dmitry Gozman
03b08c1ff9
docs(webServer): prefer url over port (#13008) 2022-03-23 16:07:30 -07:00
Andrey Lushnikov
e1700bd167
feat: use package.json directory as a default for outputDir (#12942)
This patch:
- starts using directory of `package.json` to resolve default
  output directory path
- starts using either `package.json` directory or configuration
  directory to resolve all relative paths

References #12970
2022-03-23 16:05:49 -07:00
Andrew Hayward
ab39cfcb18
docs: fixing example code in accessibility API docs (#12664)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2022-03-23 11:50:35 +01:00
Dmitry Gozman
722302799e
feat(selectors): support regular expressions in attribute selectors (#12960)
Supports inline regex in addition to string: `_react=BookItem[author = /Ann?a/i]`.
This is similar to `text=` selector, but applies to `_react` and `_vue`
selectors. In the future, will also apply to `role=` selector.
2022-03-22 17:00:56 -07:00
Ross Wollman
541fb39a51
feat(html-reporter): add report context header (#12734)
Resolves #11318.

* Adds `TestConfig.attachments` public API. (We opted to not implement an analog to the async `TestInfo.attach(…)` API.)
* Adds `TestConfig.attachments` to common reporters.
* Dogfoods some git and CI-info inference to generate useful atttachments
* Updates HTML Reporter to include a side bar to present a pre-defined set of attachments (a.k.a git/commit context sidebar)

Here's what it looks like:

<img width="1738" alt="Screen Shot 2022-03-21 at 3 23 28 PM" src="https://user-images.githubusercontent.com/11915034/159373291-8b937d30-fba3-472a-853a-766018f6b3e2.png">

See `tests/playwright-test/reporter-html.spec.ts` for an example of usage (for dogfood-ing only). In the future, if this becomes user-facing, there the Global Setup bit would likely become unnecessary (as would interaction with attachments array); there would likely just be a nice top-level config and/or CLI flag to enable collecting of info.
2022-03-22 16:28:04 -07:00
Max Schmitt
4aa7677f98
docs(dotnet): fix EvalueHandleAsync typo (#12920) 2022-03-22 16:36:21 +01:00
Yury Semikhatsky
0adf5536af
docs(fetch): clarify cookie handling (#12892) 2022-03-21 13:20:17 -07:00
Andrey Lushnikov
cfe92e1608
feat(test-runner): implement expect.poll (#12815)
This patch implements `expect.poll()` method that polls given
predicate until a given synchronous predicate completes.

Usage:

```js
// wait until page gets 3 frames.
await expect.poll(() => page.frames().length, {
  timeout: 1000,
  message: 'custom error message',
}).toBe(3);
```

Fixes #10235
2022-03-18 16:31:26 -07:00
Dmitry Gozman
209bde5000
feat(test runner): descrbe.skip (#12865)
`describe.skip` declares a test group that is skipped.
2022-03-18 16:07:11 -07:00
Dmitry Gozman
25483452c0
feat(fixtures): per-fixture timeout (#12751)
By default, fixtures share timeout with the test they are instantiated for.
However, for more heavy fixtures, especially worker-scoped ones, it makes
sense to have a separate timeout.

This introduces `{ timeout: number }` option to the list of fixture options
that opts the fixture into a dedicated timeout rather than sharing it
with the test.
2022-03-17 09:36:03 -07:00
Andrey Lushnikov
fa81561073
docs: remove ---disable-dev-shm-usage recommendation from docs (#12811)
We now pass this flag to chromium unconditionally.
2022-03-16 15:44:31 -07:00
Andrey Lushnikov
e16f3c46b4
docs: always keep docker references up-to-date in documentation (#12795)
References #12796
2022-03-16 13:51:39 -07:00
o.mingaleev
9fc9aeeb23
docs: fixed wrong types for WebServerConfig.cwd (#12817)
Co-authored-by: Oleg Mingaleev <oleg.m@profi.io>
2022-03-16 12:14:12 +01:00
Ross Wollman
964eeba0dc
docs: remove mis-placed command (#12787) 2022-03-15 17:38:36 -07:00
Pavel Feldman
9ff9a9711d
docs: fix grep release notes (#12801) 2022-03-15 17:28:25 -07:00
Max Schmitt
61c66bb82b
docs(docker): stop advertising :focal tag (#12791)
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2022-03-15 19:28:19 +01:00
Max Schmitt
01beb6310a
docs: mention locator.nth is zero based (#12750)
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2022-03-14 21:06:44 +01:00
Max Schmitt
fff4681c6c
docs: fix broken release-notes links (#12747) 2022-03-14 12:25:26 -07:00
Andrey Lushnikov
cd81fc9945
docs(release-notes): fix release notes for .net (#12743) 2022-03-14 11:04:59 -07:00
Andrey Lushnikov
b7e92a44cb
docs: add release notes for all other languages (#12596)
Drive-by:
- backport removal of toHaveScreenshot from release 1.20
- change webkit 10.15 announcement
2022-03-14 10:52:52 -07:00
Yury Semikhatsky
19de9cacc3
docs: delete verification guide (#12698) 2022-03-12 09:32:54 -08:00
Max Schmitt
d15910b450
docs(test-runner): add note about custom annotations (#12681)
o-authored-by: Dmitry Gozman <dgozman@gmail.com>
2022-03-11 19:09:23 +01:00
Andrey Lushnikov
e3ab6388a9
feat(toHaveScreenshot): enable sensible defaults (#12675)
This patch:
- Enables configuration of certain defaults for some options of `expect.toHaveScreenshot` method via `TestProject.expect.toHaveScreenshot` property
- Sets sensible defaults for these options:
  * `fonts: "ready"`
  * `animations: "disabled"`
  * `size: "css"`
2022-03-11 08:45:36 -08:00
Yury Semikhatsky
9d4f330411
docs: fix python link to test-assertions (#12665) 2022-03-11 08:28:06 -08:00
Andrey Lushnikov
b51157bdea
feat: bring back maxDiffPixels in toMatchSnapshot (#12627)
This patch reverts 2 commits that removed the feature from the method:
- "fix: explicitly ignore maxDiffPixels in toMatchSnapshot (#12570)"
  commit b8af8458d6.
- "chore: remove `maxDiffPixels` from toMatchSnapshot (#12539)"
  commit a3dff45974.
2022-03-10 18:41:16 -08:00
Andrey Lushnikov
42765804bc
chore: add "allow" as a default value for animations. (#12663) 2022-03-10 17:15:36 -08:00
Andrey Lushnikov
49e66c7f08
feat(screenshot): introduce new "fonts" option for screenshots (#12661)
This option will wait for webfonts to load before taking screenshots.
2022-03-10 16:54:36 -08:00
Andrey Lushnikov
12d8a262be
feat: support screenshotsDir option (#12642)
The `screenshotsDir` option controls the expectation storage
for `toHaveScreenshot()` function.

The new expectation management for screenshots has the following
key properties:
- All screenshots are stored in a single folder called `screenshotsDir`.
- Screenshot names **do not** respect `snapshotDir` and `snapshotSuffix`
  configurations.
- `screenshotsDir` is configurable per project. This way a "smoke tests"
  project can re-use screenshots from "all tests" project.
- Host platform is a top-level folder.

For example, given the following config:

```js
// playwright.config.ts
module.exports = {
  projects: [
    { name: 'Mobile Safari' },
    { name: 'Desktop Chrome' },
  ],
};
```

And the following test structure:

```
smoke-tests/
└── basic.spec.ts
```

Will result in the following screenshots folder structure by default:

```
__screenshots__/
└── darwin/
    ├── Mobile Safari/
    │   └── smoke-tests/
    │       └── basic.spec.ts/
    │           └── screenshot-expectation.png
    └── Desktop Chrome/
        └── smoke-tests/
            └── basic.spec.ts/
                └── screenshot-expectation.png
```
2022-03-10 16:50:26 -08:00
Yury Semikhatsky
10bf5f3e49
docs: update links to assertions docs (#12662) 2022-03-10 15:45:18 -08:00
Yury Semikhatsky
cf643ff04c
docs: remove unsupported permission "push" from docs (#12654) 2022-03-10 14:00:25 -08:00
Max Schmitt
324e3ff3ae
docs: add .NET as a new Docker image (#12659) 2022-03-10 22:20:04 +01:00
Dmitry Gozman
a388bb2302
feat(screenshot): size:'css'|'device' option (#12634)
With this experimental option, screenshot dimensions are in CSS pixels,
not physical device pixels, effectively ignoring the device scale factor.
2022-03-10 13:07:10 -08:00
Max Schmitt
49fd77d9af
docs: reference to external allure reporter (#12646) 2022-03-10 09:01:42 -08:00
Yury Semikhatsky
e270adf437
docs: fix broken link (#12638) 2022-03-09 22:00:16 -08:00
Yury Semikhatsky
5f1188d195
docs: fix js example formatting (#12635) 2022-03-09 17:10:37 -08:00
Yury Semikhatsky
176846672f
docs: clarify multiple before/after hooks execution order (#12606) 2022-03-08 17:42:50 -08:00
Yury Semikhatsky
79c8746fd2
docs: add name for screenshot animations option (#12601) 2022-03-08 16:02:31 -08:00
Yury Semikhatsky
03150265db
docs: update POM guide (#12598) 2022-03-08 14:01:50 -08:00
Meir Blachman
7e53facf1e
docs: Update pom.md to use locators (#12592) 2022-03-08 21:39:40 +01:00
Max Schmitt
30c954a3ba
docs: add Docker image for Python (#12595) 2022-03-08 21:21:46 +01:00
Andrey Lushnikov
422df4cbbe
docs: add js release notes for 1.20 (#12575) 2022-03-08 12:15:55 -08:00
Yury Semikhatsky
e3e29e25be
docs: update links to assertions class (#12562) 2022-03-07 10:37:36 -08:00
Max Schmitt
5ca7858ace
docs: use npm init @latest (#12561) 2022-03-07 19:30:03 +01:00
Andrey Lushnikov
a3dff45974
chore: remove maxDiffPixels from toMatchSnapshot (#12539)
References #12441
2022-03-04 18:27:04 -08:00
Andrey Lushnikov
4953fc4845
chore: introduce toHaveScreenshot configuration options (#12507)
References https://github.com/microsoft/playwright/issues/12441
2022-03-04 17:30:43 -08:00
Karan Shah
fd1a1a2b1c
feat(android): Adding custom port parameter to connect to different adb server port (#12220) 2022-03-04 20:27:25 +01:00
Matt Butler
4d34815c36
docs(test-auth-js.md): remove unnecessary export (#12520) 2022-03-04 11:09:41 -08:00
Andrey Lushnikov
b45c788a33
fix(disable-animations): rename boolean to enum (#12503)
Enums are more flexible in the long run since they let us easily
extend API.

References #12441
2022-03-04 11:02:59 -08:00
Andrey Lushnikov
279e579097
chore: address pixelCount and pixelRatio review comments (#12501)
- documentation fixes
- rename pixelCount to maxDiffPixels
- rename pixelRatio to maxDiffPixelRatio
2022-03-03 23:17:31 -08:00
Max Schmitt
fc32ec9944
docs: fix wrong nesting level in test-parameterize.md (#12499) 2022-03-04 00:07:59 +01:00
Max Schmitt
42b9fc1cd9
docs(dotnet): move Expect to method on harness (#12498) 2022-03-03 23:05:13 +01:00
Max Schmitt
96a6cbbe58
docs: update verification.md web-first-assertions redirect warning (#12495)
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2022-03-03 22:39:30 +01:00
Yury Semikhatsky
b96bbc6ad7
docs: simplify test-assertions.md, avoid duplication (#12475) 2022-03-03 10:06:14 -08:00
Max Schmitt
c2b6614e41
docs: add CSV guide for the test-runner (#12488) 2022-03-03 18:36:12 +01:00
Yury Semikhatsky
5db93e6ddf
docs: asertions.not is a property (#12474) 2022-03-02 15:03:33 -08:00
Pavel Feldman
34bf0d4b87
feat(test-runner): allow grepping in project (#12469) 2022-03-02 15:02:35 -08:00
Max Schmitt
77db87b6f5
docs: fix empty Docker images on languages (#12473) 2022-03-02 23:43:22 +01:00
Yury Semikhatsky
a413c0f94c
docs: restore assertions timeout option in js (#12467) 2022-03-02 12:43:16 -08:00
Pavel Feldman
4b19d59ec5
feat(test): introduce fully parallel mode (#12446) 2022-03-01 18:12:21 -08:00
Pavel Feldman
61a6cdde70
feat(api): expose locator.highlight (#12420) 2022-03-01 13:56:21 -08:00
Andrey Lushnikov
396d920145
feat(test-runner): implement expect(pageOrLocator).toHaveScreenshot (#12242)
Fixes #9938
2022-02-28 12:25:59 -08:00
Max Schmitt
b8728248fa
docs: merge assertions with verification doc (#12361) 2022-02-25 22:58:41 +01:00
Max Schmitt
2f0183dd1d
docs(cli): add --width-deps to the docs (#12362) 2022-02-25 19:26:32 +01:00
Max Schmitt
c1a1eaec34
docs(trace-viewer): viewing remote traces on trace.playwright.dev (#12363) 2022-02-25 19:23:39 +01:00
Max Schmitt
5be9f68446
docs: fix broken docs by wrong snippet lang (#12306) 2022-02-23 14:35:40 +01:00
Dmitry Gozman
26d6537119
docs: document environment variables usage (#12294) 2022-02-22 15:24:35 -08:00
Max Schmitt
b08000e7c2
docs: advertise how to enable sources with tracing (#12273) 2022-02-22 20:16:05 +01:00
Max Schmitt
52932172e7
docs(python): fix set_viewport_size in emulation.md (#12271) 2022-02-22 20:15:46 +01:00
Max Schmitt
17a922cf5e
docs: fix expect custom matcher global.d.ts (#12268) 2022-02-22 11:09:52 -08:00
Max Schmitt
768242db12
docs(dotnet): enable web-first assertions (#12113) 2022-02-21 14:01:53 +01:00
Yury Semikhatsky
a16eaf584a
docs: mock guide (#12241) 2022-02-18 18:28:03 -08:00
Dmitry Gozman
a7ef1da5e9
fix(selenium): support MicrosoftEdge (#12235) 2022-02-18 14:44:15 -08:00
Rebely22
7696fec1fa
docs: selectors.md fix code parentheses misplaced (#12210) 2022-02-18 10:33:24 +01:00
Andrey Lushnikov
a98babec69
feat(test-runner): introduce pixelCount and pixelRatio options (#12169)
This patch adds additional options to `toMatchSnapshot` method:
- `pixelCount` - acceptable number of pixels that differ to still
  consider images equal. Unset by default.
- `pixelRatio` - acceptable ratio of all image pixels (from 0 to 1) that differ to still
  consider images equal. Unset by default.

Fixes #12167, #10219
2022-02-17 15:44:03 -08:00
Andrey Lushnikov
086333cd60
feat(test-runner): support unnamed snapshots (#12161)
Fixes #9007
2022-02-16 14:22:01 -08:00
Andrey Lushnikov
363b8a6970
feat: support mask option in screenshot methods (#12072)
Fixes https://github.com/microsoft/playwright/issues/10162
2022-02-15 07:05:05 -08:00
Max Schmitt
7e7996a7b7
chore(dotnet): do not use global CLI and use ps1 instead (#12025)
Fixes https://github.com/microsoft/playwright-dotnet/issues/2005
2022-02-11 11:26:16 -08:00
Andrey Lushnikov
619d1d8617
docs: add release notes for all the languages (#12045) 2022-02-11 11:24:14 -08:00
Andrey Lushnikov
46b89f109a
docs: fix release notes headers (#12036) 2022-02-11 09:13:55 -08:00
Andrey Lushnikov
979fa2b2f0
docs: add release notes for 1.19 (#12019) 2022-02-11 08:23:59 -08:00
Max Schmitt
2815180162 docs(python): enable Route.fulfill.response 2022-02-11 15:26:02 +01:00
Andrey Lushnikov
3c88d4126c
docs: move common screenshot options to params.md (#12008) 2022-02-10 12:31:17 -08:00
Ross Wollman
00e8a6440d
docs(selectors.md): React selector nit (#12010)
See https://github.com/microsoft/playwright/pull/11970#discussion_r803212908.

In the future, I'd like to think through some more extensive examples to make React selector best practices more explicit in the docs.
2022-02-10 12:27:37 -08:00
Erik Ejlskov Jensen
1df07aa2cf
docs: avoid .net version ambiguity (#12003) 2022-02-10 09:30:44 -08:00
Andrey Lushnikov
6f87955243
feat: introduce disableAnimations option for screenshots (#11870)
This option stops all kinds of CSS animations while doing screenshot:
- CSS animations
- CSS transitions
- Web Animations

Animations get different treatment depending on animation duration:
- finite animations are fast-forwarded to its end, issuing the
  `transitionend` event.
- Infinite animations are resetted to its beginning, and then
  resumed after the screenshot.

References #9938, fixes #11912
2022-02-09 12:52:11 -08:00
Darío Kondratiuk
48cc41f3e7
feat: add key support on react engine (#11970)
I've got [this question](https://stackoverflow.com/questions/71050193/react-locator-example/71052432#71052432) on StackOverflow. And although, in that case, the `key` was part of the `props` attributes. That might not always be true.

I am bringing this to the tell to see what you think about this.
I'm also fixing a typo :)
2022-02-09 11:33:15 -08:00
Max Schmitt
460d51284c
docs: missing $ in PowerShell shell command (#11966) 2022-02-09 08:58:21 -08:00
Dmitry Gozman
19368e93af
feat(test runner): support connectOptions (#11919)
This allows to specify `connectOptions` in the config that
switch built-in `browser` to be remotely connected.
2022-02-08 20:45:42 -08:00
Dmitry Gozman
e92caf01b3
fix(webServer): do not set baseURL equal to webServer.url (#11951) 2022-02-08 15:57:36 -08:00
Andrey Lushnikov
6d7321e211
docs: update docs on expects (#11949) 2022-02-08 14:44:44 -08:00
Pavel Feldman
4bcca2c87e
chore: add a parallel mode note (#11943) 2022-02-08 14:36:14 -08:00
Dmitry Gozman
9e08b97b69
docs: restore expect docs in the guide (#11946) 2022-02-08 13:15:17 -08:00
Pavel Feldman
3a898c285e docs: fix python snippet 2022-02-08 08:02:28 -08:00
Yury Semikhatsky
46dfa45b4e
docs: fix parallel test docs build (#11877) 2022-02-04 16:44:04 -08:00
Yury Semikhatsky
afc4b505aa
docs: fix duplicate sections (#11874) 2022-02-04 13:50:46 -08:00
Aarni Koskela
6881db6817
docs: fix typo in Python APIRequestContext example (#11861)
`playwright.chromium` should be `p.chromium`, etc.
2022-02-04 16:36:30 +01:00
Pavel Feldman
fdda759a9d
feat(parallel): allow setting enclosing scope parallel mode (#11822) 2022-02-02 20:44:11 -08:00
Andrey Lushnikov
ba0c7e679b
feat(test-runner): support expect.soft (#11800)
Soft expects will still fail the test, but will not abort it's execution. As a consequence of this:
-  `TestResult` now might have multiple errors, which is reflected with a new `testResult.erros: TestError[]` field.
- `TestInfo` now might have multiple errors as well, which is reflected with a new `testInfo.errors: TestError[]` field.

Fixes #7819
2022-02-02 18:33:51 -08:00
Dmitry Gozman
f587a43932
feat(locator): "has" option (#11411)
This introduces `locator('div', { has: locator })` syntax that matches elements containing other elements.
Can be used together with `hasText`.

Internally, has selector engine takes an inner selector escaped with double-quotes:
`div >> has="li >> span >> text=Foo" >> span`.
2022-02-02 16:55:50 -08:00
Leonardo Henrique Tsuda
de8f22a8ff
docs(selectors.md): fix fill and FillAsync examples (#11790) 2022-02-02 12:10:34 -08:00
Sanghyeon Lee
731931ae58
docs(test-timeouts-js.md): fix inconsistent style of 'override' (#11766) 2022-02-01 15:59:30 -08:00
Pavel Feldman
6e2fcc4700
chore: do not expose suite load error (#11797) 2022-02-01 15:34:16 -08:00
Yury Semikhatsky
e7bd62f202
docs(electron): minimal version (#11792) 2022-02-01 14:45:30 -08:00
Dmitry Gozman
4a52bc9465
docs: add option fixtures section to release notes (#11794) 2022-02-01 14:34:47 -08:00
Max Schmitt
e7120d2ca2
docs(python): add API testing guide (#11775) 2022-02-01 21:44:43 +01:00
Caio Agiani
b6b60decdf
fix: typos (#11789) 2022-02-01 11:09:41 -08:00
Andrey Lushnikov
2336692e8a
feat: support clarification message for expect (#11735)
The clarification message is displayed in the HTML report as the name of the step:

![image](https://user-images.githubusercontent.com/746130/151852652-48194140-5ea4-439d-afee-12583a8caf71.png)

It is also shown in terminal output:

![image](https://user-images.githubusercontent.com/746130/151852666-5c956ef1-6e94-4bc2-8e55-b58688dfc7e0.png)

Fixes #7816
2022-01-31 17:14:59 -08:00
Pavel Feldman
2b55adaafa
feat(breaking): always report onBegin/onEnd, report file errors (#11758) 2022-01-31 17:09:04 -08:00
Yury Semikhatsky
129d9d3643
docs(tracing): clarify capture semantics (#11756) 2022-01-31 11:44:10 -08:00
William Bergeron-Drouin
5a14aad368
docs: fix instructions for custom matchers type declarations (#11483)
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-01-31 18:58:45 +01:00
Leonardo Henrique Tsuda
7dc2dce709
fix response status assertion on python example (#11723) 2022-01-28 11:50:14 -08:00
Meir Blachman
5cbedf8823
docs: fix frame locator docs for python sync (#11689) 2022-01-28 16:41:13 +01:00
Yury Semikhatsky
b436fbbbf4
docs(java): route.fulfill with APIResponse (#11711) 2022-01-27 15:43:38 -08:00
campersau
791860f31c
Update auth.md (#11700) 2022-01-27 22:07:47 +01:00
Feng Yu
0698254253
docs: fix broken link (#11687)
fix #11680
2022-01-27 13:00:09 -08:00
Dmitry Gozman
d4360cf7c0
chore: fix docs generator (#11665) 2022-01-26 16:46:16 -08:00
Andrey Lushnikov
45fc509c6a
docs: fix missing fence close (#11664)
Follow-up to 0e7e63f09f
2022-01-26 16:39:36 -08:00
divdavem
512a245f13
feat(test-runner): wait for a url before starting tests (#10138)
The webServer configuration in @playwright/test now accepts a url as an
alternative to a port number to wait for a url to return a 2xx status code.
2022-01-26 16:32:58 -08:00
Andrey Lushnikov
d68f2f4990
docs: fix intro example (#11658)
Fixes #11652
2022-01-26 13:31:48 -08:00
Max Schmitt
0e7e63f09f
docs(dotnet): bundle driver for different platforms (#11643) 2022-01-26 21:26:51 +01:00
Max Schmitt
97b975b5ec
docs(dotnet): add API to run CLI commands (#11641) 2022-01-26 20:43:44 +01:00
Max Schmitt
5a061c528c
docs(network): fix typo quests -> requests (#11651)
Fixes #11650
2022-01-26 09:54:01 -08:00
Dmitry Gozman
687a16b848
feat(locator): introduce locator.page() getter (#11630) 2022-01-26 07:58:58 -08:00
Max Schmitt
a13f71d328
docs(python): enable Python response assertions (#11609) 2022-01-25 18:53:49 +01:00
Max Schmitt
431b57eb50
docs(java): fix broken link in release notes (#11511) 2022-01-20 14:31:54 +01:00
olexandr13
92e990bc6a
docs: fix typo chome > chrome (#11512) 2022-01-20 14:14:25 +01:00
Max Schmitt
94495c3253
docs(python): fix typo in release notes (#11507) 2022-01-20 04:36:41 -08:00
Andrey Lushnikov
7d924470d3
docs: drop cookbook reference from notes (#11488)
It's not yet ready for the prime time.
2022-01-19 10:46:59 -08:00
Andrey Lushnikov
82c8baf9f6
docs: add Java 1.18 release notes (#11477) 2022-01-19 09:25:52 -08:00
Andrey Lushnikov
7f4ad31627
docs: add .NET 1.18 release notes (#11479) 2022-01-19 07:30:49 -08:00
Andrey Lushnikov
7b7d63ab64
docs: add Python 1.18 release notes (#11478) 2022-01-19 07:30:03 -08:00
Max Schmitt
4fa7aa0ff7
docs(python): enable tracing sources collection (#11453) 2022-01-18 13:05:59 +01:00
David Seow
59b677139e
docs(selectors): gramamatical tweaks (#11433) 2022-01-17 18:44:45 -08:00