Pavel Feldman
923f74c5a6
chore: allow matchers decorate step title ( #13199 )
2022-03-30 21:52:00 -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
Andrey Lushnikov
88610c8b4c
fix: properly define apiName for web-first assertions ( #12706 )
...
Turns out relying on PWTRAP in stack is not reliable: depending on the
call structure, the stack might be cut unpredictably by Node.js.
This patch removes PWTRAP and instead plumbs explicit stack and
pre-set `apiName` all the way down to `wrapApiCall`.
2022-03-14 18:01:13 -07:00
Andrey Lushnikov
75eef09c0d
feat: show expectation name as part of toHaveScreenshot title ( #12612 )
...
This patch adds snapshot file name as part of `toHaveScreenshot`
and `toMatchSnapshot` step title.
2022-03-09 20:09:45 -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
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:

It is also shown in terminal output:

Fixes #7816
2022-01-31 17:14:59 -08:00
Yury Semikhatsky
d66b7aab3b
feat(expext): toBeOK for APIResponse ( #10596 )
2021-11-30 18:12:19 -08:00
Pavel Feldman
e37660b068
feat(api): expose step location ( #9602 )
2021-10-18 21:06:18 -07:00
Dmitry Gozman
c711fb35ad
fix(expect): do not rely on displayName ( #9523 )
...
Support for displayName was removed in Node 16.
Switching to Function.name instead.
Relevant V8 change: https://chromium-review.googlesource.com/c/v8/v8/+/2692189
2021-10-14 19:23:45 -07:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo ( #9421 )
2021-10-11 16:52:17 +02:00