Commit graph

1632 commits

Author SHA1 Message Date
Pavel Feldman 5761a62b1c
docs: clarify the null value for the viewport (#20333)
Fixes https://github.com/microsoft/playwright/issues/20284
2023-01-25 17:48:18 -08:00
Pavel Feldman fe1dd7818d
chore: extract task runner for global setup (#20345) 2023-01-25 15:38:23 -08:00
chamu228 112c7bda45
docs(java): fix Java doc of playwright create method (#20356) 2023-01-25 09:51:16 +01:00
Pavel Feldman 147bb6b292
chore: run global setup before onBegin (#20285) 2023-01-23 17:44:23 -08:00
Rob Donnelly ba0189f8d7
docs(test-parameterize): fix typos (#20178) 2023-01-23 09:28:22 -08:00
Harikrishna 953f96b493
docs: fix the typo error for 'Dragging manually' Java example (#20275) 2023-01-23 10:55:00 +01:00
Dmitry Gozman 0cc0d168cd
chore: mark 1.31-next (#20268) 2023-01-20 19:29:14 -08:00
Dmitry Gozman 8d646d1adb
chore: release notes for 1.30 (#20264) 2023-01-20 12:56:48 -08:00
Dmitry Gozman d950f5b6ee
chore: remove toIntersectViewport for the next release (#20232)
Mostly reverts #19901.
2023-01-19 15:04:09 -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
Max Schmitt bddc120bd2
docs: delete showcase.md (#20222)
It was never linked from the sidebar and contains a lot of unmaintained
projects.
2023-01-19 14:09:32 +01:00
Pavel Feldman e08168e16e
chore: temporarily remove project and global setup, store (#20181) 2023-01-18 12:56:03 -08:00
Yury Semikhatsky 0facbe001d
docs: java release notes snippet (#20200) 2023-01-18 12:23:36 -08:00
Debbie O'Brien 17e76db136
docs: update auth examples (#20144)
remove unnecessary step of clicking login
change get by text to button role
change all username and password to strings for consistency
2023-01-18 11:20:22 -08:00
Yury Semikhatsky c36827433d
docs: fix java console message snippet (#20171)
Fixes https://github.com/microsoft/playwright-java/issues/1168
2023-01-17 11:04:43 -08:00
Max Schmitt 341b50fd25
chore: return Promise<any> in {page,context}.unroute (#20135) 2023-01-17 19:14:47 +01:00
Debbie O'Brien 700145e627
docs: improve intro screenshots (#20148) 2023-01-17 13:06:19 +01:00
Debbie O'Brien 57210147f3
docs: improve trace viewer screens (#20147) 2023-01-17 12:42:50 +01:00
Debbie O'Brien ddbd76307d
docs: improve screenshots vscode (#20146) 2023-01-17 12:42:20 +01:00
Simon Siefke 23948c53b7
docs(writing-tests): fix syntax error (#20123)
fixes #20122
2023-01-16 11:16:37 +01:00
Debbie O'Brien e780a5c1ac
docs: improve best practices (#20106) 2023-01-16 10:52:36 +01: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
Debbie O'Brien fa49803ca0
docs: Best practices (#19634) 2023-01-12 12:45:57 +01:00
Yevhen Laichenkov ed1c4b582f
docs: add missed request fixture in the pre-defined list (#20038) 2023-01-11 14:07:57 -08:00
Yury Semikhatsky 0206d5fb18
docs: update route.fetch example to use new api (#20040) 2023-01-11 09:15:21 -08:00
Mithun Shanbhag 2394debce5
docs(ci): docker container specs go inside jobs (#20020)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-01-11 10:44:27 +01:00
Max Schmitt 0fe327c21b
chore: return Promise<any> in {page,context}.route (#20005)
Fixes https://github.com/microsoft/playwright/issues/19855
Closes https://github.com/microsoft/playwright/pull/19856
2023-01-10 18:07:17 +01:00
Pavel Feldman 6022a4098f
chore: deprecate page.waitForNavigation, locator.elementHandle (#19977) 2023-01-09 20:04:04 -08:00
Dmitry Gozman 7d2cc06355
docs: add usage sections to Locator methods (#19968) 2023-01-09 13:06:25 -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
Max Schmitt e3d615e9f2
docs: add Electron troubleshooting note (#19954)
Fixes https://github.com/microsoft/playwright/issues/19854

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2023-01-09 18:39:54 +01:00
Vincent G bb275cccb6
docs(test-cli): typo for tests at a specific line (#19908) 2023-01-09 09:14:31 -08:00
Niklas Haag 87b14ea737
docs(writing-tests-js) Fix grammar mistake (#19958) 2023-01-09 17:18:54 +01: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
Dmitry Gozman b376110b77
docs: add proper usage for some test apis (#19925) 2023-01-06 10:26:23 -08:00
Tommaso A 6d64edc090
docs(reporter): added types to Reporter TypeScript example (#19917) 2023-01-06 13:39:17 +01:00
Max Schmitt 2f4b5ea371
docs(java): fix intro examples (#19896)
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-01-05 20:25:33 +01:00
Boris Osipov 90af7a7ee0
docs(chrome-extensions-js-python.md) add headless testing docs (#19812)
See https://github.com/microsoft/playwright/issues/19233
2023-01-05 11:08:16 -08:00
Emerson Castaneda 9f7b0e4e01
Update writing-tests-java.md sample code (#19894)
Fix code compilation issues reported in
https://github.com/microsoft/playwright-java/issues/1158
2023-01-05 11:05:16 -08:00
Max Schmitt ef877dadfe
docs(test-advanced): add missing browser.close() (#19884)
https://github.com/microsoft/playwright/issues/19822
2023-01-05 11:00:27 -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
Ori Livni 655d788c8e
docs(ci): fix wrong CircleCI environment vars (#19887) 2023-01-05 11:10:28 +01:00
Dmitry Gozman 599ae30313
chore: update .net generator with deprecated/discouraged (#19843) 2023-01-03 23:03:38 +01:00
Yury Semikhatsky 54c90576c6
docs: clarify what core features are (#19842) 2023-01-03 11:30:38 -08:00
Yusuke Iwaki b2820fccda
docs(python): fix example code of Route.fetch (#19840) 2023-01-03 11:05:09 -08:00
Tim Deschryver 9f27b300f4
docs(test-runners): update test runners for .NET (#19830) 2023-01-03 10:14:00 +01: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 d912cbf115
docs: add instructions on msedge & chrome installation (#19753)
Fixes #18511
2022-12-28 15:13:45 -08:00
Sang Nguyen f88b22d0c0
docs: fix wrong waitForResponse example in Node.js (#19701) 2022-12-27 09:12:43 -08:00
Dave Guarino cb0688bb52
docs(showcase.md): add links to Ruby port (#19712) 2022-12-27 09:11:08 -08:00
Max Schmitt d5881b8d48
docs: test runner first inside Node.js docs (#19659) 2022-12-23 10:57:29 +01:00
Pavel Feldman a248be86ce
docs: http auth via config (#19643)
Fixes https://github.com/microsoft/playwright/issues/19630
2022-12-21 18:19:02 -08:00
Pavel Feldman 675f0eb4a0
chore: report error location for fatal errors (#19610) 2022-12-21 09:36:59 -08:00
Max Schmitt 3555dbd4b4
docs: add 1.29 language port release notes (#19573)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2022-12-20 20:51:21 +01:00
Max Schmitt bb2a2c7331
fix: render discouraged / deprecated types (#19596)
Fixes https://github.com/microsoft/playwright/issues/19591
2022-12-20 16:19:07 +01:00
Jean-François Greffier 6846765a9c
docs: fix docs links (#19510)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-20 13:17:52 +01:00
Vladimir Semenov 467d9f37fc
feat(reporter): Add parallelIndex field to TestResult (#19570) 2022-12-19 14:37:04 -08:00
Pavel Feldman 41174e74a7
chore: replace worker index w/ parallel index in the docs (#19574) 2022-12-19 13:47:05 -08:00
Chen Chen 53ef0d060c
docs(dotnet): fix the nunit and mstest testing examples in intro (#19557) 2022-12-19 16:28:17 +01:00
Yury Semikhatsky b5f908d31f
docs: remove Serializable from Route.*.postData in java (#19532)
We only support String and byte[] and throw otherwise, align the types
with it.
2022-12-16 11:14:29 -08:00
Yury Semikhatsky d01952576d
docs: route.fetch.postData in java (#19527) 2022-12-16 10:14:02 -08:00
Andrey Lushnikov e99323dd90
chore: release notes 1.29 (#19497)
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-16 09:46:40 -08:00
Max Schmitt 1e31afd9d7
docs: fix locator all since version (#19509)
Also a CP candidate.
2022-12-16 18:02:26 +01:00
Max Schmitt ba8a6c4b08
docs: fix HTML snippets (#19507)
Merging unreviewed to unblock docs build.

Main fix is in line 818, others drive-by.
2022-12-16 12:01:33 +01:00
Andrey Lushnikov 0be1fc8559
chore: cut version 1.29 (#19489) 2022-12-15 11:22:35 -08:00
Pavel Feldman 3afd83c8cc
chore: withdraw locator.enumerate (#19484) 2022-12-15 10:13:56 -08:00
Max Schmitt af6e93dfd6
docs(test-cli): document --trace mode (#19474) 2022-12-15 17:14:21 +01:00
Debbie O'Brien 38b8140aab
docs: improve examples in assertions (#19209) 2022-12-15 10:21:35 +01:00
Debbie O'Brien c1a1090eb3
docs: improve locators in fixtures (#19210) 2022-12-15 10:21:08 +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
Debbie O'Brien e7b8554342
docs: change listItem to article in locators doc (#19060) 2022-12-14 13:42:52 -08:00
Andrey Lushnikov 8167f8bf54
chore: hide "comparator" option from documentation and types (#19441) 2022-12-14 09:58:19 -08:00
Yury Semikhatsky 92dd734e04
chore: hide setup, store, TestProject.setupMatch, storageStateName (#19442) 2022-12-13 22:48:38 -08:00
Andrey Lushnikov 184ab5b49d
docs: up-to-date linux support (#19440) 2022-12-13 16:19:23 -08:00
Pavel Feldman d1559a0fcc
chore: route.fetch(postData) (#19436) 2022-12-13 14:01:39 -08:00
Dmitry Gozman d02ac9f8db
fix(docs): TestOptions.screenshot typo (#19433) 2022-12-13 12:31:52 -08:00
Pavel Feldman 6cadc56ea3
feat(api): allow getByTestId(regex) (#19419) 2022-12-13 08:43:13 -08:00
Yury Semikhatsky 0cb1e97528
docs: strictSelectors does not affect Locators (#19414)
Fixes https://github.com/microsoft/playwright/issues/19398
2022-12-12 15:09:44 -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
Patrick Kerschbaum a2172e1799
docs: fix broken link (#19394) 2022-12-12 14:48:44 +01:00
Pavel Feldman 7aa3935dcc
chore: match selected options by both value and label (#19316) 2022-12-07 09:04:32 -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
Andrey Lushnikov cac67fb94f
chore: do not use "threshold" option for the ssim-cie94 comparator (#19314) 2022-12-06 17:03:13 -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
Yury Semikhatsky 405d6267dc
docs: per worker login with auto fixture (#19307) 2022-12-06 13:06:47 -08:00
Yury Semikhatsky 3c1b26b9f1
feat: make storage a global variable (#19283) 2022-12-05 21:37:37 -08:00
Dmitry Gozman e55a2bdf16
docs: rework Selectors to Other Locators (#19244)
- Replace links to `selectors.md` with `locators.md`.
- Remove sections that are covered by Locators docs.
- Restructure the rest of selectors doc, update them in terms of
locators.

Fixes #18992.
2022-12-02 21:48:37 -08:00
Pavel Feldman 9b35ef3b8d
docs: introduce the concept of details (#19242) 2022-12-02 17:35:21 -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
Yury Semikhatsky e998b6cab9
docs: auth in project setup (#19220) 2022-12-01 16:53:54 -08:00
Max Schmitt 62b28c89b4
docs(assertions): fix wrong toHaveText param description (#19213)
Fixes https://github.com/microsoft/playwright/issues/19202
2022-12-01 09:14:06 -08:00
Pavel d63f2542a2 chore: follow up to mock api doc change 2022-11-30 19:31:30 -08:00
Pavel Feldman 2fd0982372
docs: improve API mocking docs (#19189) 2022-11-30 19:29:14 -08:00
Pavel Feldman f0e8d8f074
feat(api): introduce route.fetch and route.fulfill(json) (#19184) 2022-11-30 17:26:19 -08:00
Max Schmitt 878401ff2b
docs(test-reporters): fix code snippet typos
Fixes #19159
2022-11-30 15:37:31 -08:00
Dmitry Gozman 6721ea4d3a
docs: fix string AriaRole in java/csharp (#19183) 2022-11-30 13:46:33 -08:00