50 Commits

Author SHA1 Message Date
Yury Semikhatsky
f7e298fec3
docs: clarify toPass timeout behavior (#28747)
Fixes https://github.com/microsoft/playwright/issues/28744
2023-12-20 15:39:53 -08:00
Dmitry Gozman
c759e6a6f6
docs: move expect.extend docs from "test configuration" to "assertions" (#28039) 2023-11-08 09:29:36 -08:00
Debbie O'Brien
3773f004db
docs: add intros for all pages (#27480) 2023-10-06 15:08:51 +02:00
Jim Hays
dcc8dcca73
Fix various typos (Fixes #27396) (#27391)
Fixes https://github.com/microsoft/playwright/issues/27396
2023-10-04 19:56:42 -07:00
Dmitry Gozman
603861c48d
fix: revert toMatchSnapshot deprecation (#27089)
- This reverts commit
8348f66107
landed in #26718.
- Update docs to point towards `toHaveScreenshot`.
2023-09-14 12:52:41 -07:00
Dmitry Gozman
8348f66107
feat: deprecate toMatchSnapshot for buffers (#26718)
These are usually used for screenshots instead of toHaveScreenshot.
String-based snapshots are left as is.

<img width="836" alt="deprecated"
src="https://github.com/microsoft/playwright/assets/9881434/d02818da-7eea-47fc-8ea8-4104b0dd49b5">

---

Also deemphasized toMatchSnapshot throughout all docs.

Fixes #26612.
2023-08-25 18:20:01 -07:00
Max Schmitt
b0473b71cd
chore: limit docs snippet length to 100 (#24563) 2023-08-02 11:23:47 +02:00
Dmitry Gozman
578e8e01b7
docs: improve auto-retrying vs generic assertions (#24528)
Fixes #24460.
2023-07-31 20:20:27 -07:00
Dmitry Gozman
a74101d98f
docs: document expect's asymmetric matchers (#24498)
References #24460, #24417.
2023-07-28 14:04:01 -07:00
Max Schmitt
9980f054bc
docs: align Node.js code snippets with ESLint (#23916) 2023-06-27 11:53:53 +02:00
Debbie O'Brien
5e0195f7c4
docs: Soft expect example + tobeAttached (#23475) 2023-06-06 20:06:55 +02:00
Andrey Lushnikov
def82d1d27
docs: update release notes (#23165)
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-05-19 10:36:42 -07:00
Pavel Feldman
04070a59e1
chore: remove expect.configure({poll}) (#23060) 2023-05-16 18:45:03 -07:00
Pavel Feldman
a1007bbe2c
chore: introduce expect.configure (#22533) 2023-04-25 10:29:56 -07:00
Andrey Lushnikov
2d1c736091
doc: fix typo in docs (#22314)
Fixes https://github.com/microsoft/playwright/issues/22288
2023-04-10 14:11:19 -07: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 d950f5b6ee3fee4b825831983d5af5b197bda769 and
adds `ratio` option support + does the rename.

Fixes #8740
2023-02-10 04:33:22 -08:00
Dmitry Gozman
33a05446d2
fix(expect): update docs to point to GenericAssertions instead of expect library (#20688)
Closes #20432.
2023-02-06 14:51:24 -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
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
Debbie O'Brien
38b8140aab
docs: improve examples in assertions (#19209) 2022-12-15 10:21:35 +01:00
Pavel Feldman
0e2732decf
feat(api): introduce expect().toPass (#19463) 2022-12-14 19:23:13 -08:00
Dmitry Gozman
65b0fb055d
docs: note assertion methods that only work with playwright test runner (#19116)
Fixes #18963.
2022-11-28 10:32:48 -08:00
Pavel Feldman
be2139f0ac
docs: split assertions list into langs (#19039) 2022-11-24 08:25:24 -08:00
Pavel Feldman
739b64a09a
chore: render typed locators in the recorder (#18162) 2022-10-18 16:39:58 -07:00
Dmitry Gozman
b07690f408
docs: use getBy... in documentation (#17795) 2022-10-03 17:02:46 -07:00
Debbie O'Brien
da1598d45f
docs: Remove tocs (#17133) 2022-09-07 12:30:31 +02:00
Pavel Feldman
c0ea28d558 docs: nuke api reference from test assersions 2022-06-21 10:55:32 -07:00
Yury Semikhatsky
cac13c248b
docs: fix typo in soft assertions example (#14450) 2022-05-27 10:57:03 -07:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval (#13776) 2022-04-26 21:32:38 -07:00
Dmitry Gozman
416b56a0c8
fix: await expect.poll in docs (#13743) 2022-04-25 20:22:53 +01: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
Yury Semikhatsky
b96bbc6ad7
docs: simplify test-assertions.md, avoid duplication (#12475) 2022-03-03 10:06:14 -08:00
Andrey Lushnikov
396d920145
feat(test-runner): implement expect(pageOrLocator).toHaveScreenshot (#12242)
Fixes #9938
2022-02-28 12:25:59 -08: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
6d7321e211
docs: update docs on expects (#11949) 2022-02-08 14:44:44 -08:00
Dmitry Gozman
9e08b97b69
docs: restore expect docs in the guide (#11946) 2022-02-08 13:15:17 -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
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
Max Schmitt
af28a779be
docs: migrate JS assertions over to Java/Python assertions (#10431) 2021-11-24 21:58:35 +01:00
Dmitry Gozman
fde2f6a77f
docs: separate doc for test timeouts (#10448) 2021-11-19 17:06:46 -08:00
Dmitry Gozman
49337890d2
docs: improve documentation for assertions and test config (#9890) 2021-10-29 15:25:52 -07:00
Kenneth Lum
a72930a7bb
docs: add the general rule to expect the opposite of the matchers (#9772) 2021-10-28 08:35:35 -07:00
Yury Semikhatsky
ddb70a6d35
docs(expect): default timeout (#9658) 2021-10-20 12:06:02 -07:00
Yury Semikhatsky
2a2a3d2ed9
docs(expect): group locator methods, remove extra > (#9625) 2021-10-19 13:54:26 -07:00
Dmitry Gozman
8dc8777ab4
feat(expect): toContainText(array) (#9160)
This matches when each expected item from the array
is matched to one of the resolved elements, in order.
Note this performs both "sub-array" and "substring" matching.

Drive-by: documentation fixes.
Drive-by: added "selector resolved to 3 elements" log line
when expecting arrays.
2021-09-27 11:14:35 -07:00
Dmitry Gozman
620712a5d9
feat(expect): support array of RegExp objects in toHaveText/toHaveClass (#8667) 2021-09-02 15:48:04 -07:00
Andrey Lushnikov
8dbec497a8
docs: fix random typos (#8179) 2021-08-13 08:59:38 -07:00
Pavel Feldman
290f601dae
feat(expect): introduce explicit default async expect timeout (#8071) 2021-08-07 22:08:56 -07:00
Pavel Feldman
3424f59e67
chore(expect): polish matcher names, remote arguable ones (#8060) 2021-08-06 16:58:42 -07:00
Pavel Feldman
79e8592146
docs: refresh getting started docs (#8054) 2021-08-06 14:02:41 -07:00