Pavel Feldman
e8070ee1b2
chore: warn users on clashing test output and html reporter folders ( #14964 )
2022-06-18 15:47:26 -07:00
Max Schmitt
08ac966f68
fix(html-reporter): do not verbose yell when opening report without gui ( #14935 )
2022-06-17 18:38:23 +02:00
Ross Wollman
b9114f9cbc
fix(html-reporter): file-browser friendly extensions ( #14943 )
...
Fixes #14904 .
This is done to make looking at the raw contents of the report
friendlier when using a file browser. However, it should be noted, the
public API of the HTML Reporter makes no guarantees of its contents
structure/layout/naming-conventions.
2022-06-17 08:09:49 -07:00
Pavel Feldman
59fa61aef1
fix(ct): relax react import pattern ( #14896 )
2022-06-15 16:14:45 -07:00
Pavel Feldman
88664c39c9
chore: remove esm error interception, it only confuses users ( #14829 )
2022-06-13 12:32:42 -07:00
Pavel Feldman
41529bb1a5
chore: respect sigint in global setup ( #14805 )
2022-06-12 13:06:00 -07:00
Pavel Feldman
380e787065
fix(ct): respect boolean shorthands ( #14798 )
2022-06-10 17:34:21 -07:00
Pavel Feldman
30f3d526eb
feat(server): consider 3XX, 400-403 responses as started server
2022-06-10 14:47:29 -07:00
Sergio Freire
060cd9d97c
feat(junit reporter): link testcases to Xray test issues and provide additional metadata for Xray Test Management ( #11374 )
...
Co-authored-by: Sergio Freire <sergio.freire@xpand-it.com>
2022-06-10 10:31:48 +02:00
Sergio Freire
d193bd64c4
feat(junit reporter): add option to force usage of CDATA sections for content in XML elements ( #12744 )
...
Co-authored-by: Sergio Freire <sergio.freire@xpand-it.com>
2022-06-10 10:25:52 +02:00
Josh Bowling
8dc10556e8
chore: fix error message typo ( #14729 )
2022-06-09 10:03:11 -04:00
Ross Wollman
85d03714d9
feat: add allow/block serviceWorkers option ( #14714 )
...
Adds cross-browser support for easily allowing/blocking Service Workers via a Context option.
Includes plumbing for Playwright Test's `use`.
Resolves #14522 .
Relates #1090 .
Supercedes #14321 .
2022-06-08 18:27:51 -04:00
Pavel Feldman
2d5572abd8
fix(ct): return locator to root for fragments ( #14639 )
...
fix(fragments): return locator to root for fragments
2022-06-04 14:07:06 -07:00
Pavel Feldman
c4b003a29a
chore: don't mask ESM error ( #14628 )
2022-06-03 15:28:53 -07:00
Dmitry Gozman
79d356f0cc
fix(test runner): when worker exits unexpectedly, fail a single test ( #14608 )
...
All remaining tests will continue in a new worker.
2022-06-02 21:13:47 -07:00
Pavel Feldman
74b846270b
feat(ct): support Vue2 ( #14600 )
2022-06-02 17:37:43 -07:00
Ross Wollman
978854b859
chore: move multi-select assertion to toHaveValues ( #14595 )
...
Follow-up to e0a87e52d7
2022-06-02 16:01:34 -04:00
Dmitry Gozman
3a3aa023ad
chore: simplify context/page reuse in ct ( #14565 )
2022-06-02 12:16:07 -07:00
Andrey Lushnikov
8801f79742
Revert "fix(playwright-test): prohibit async functions passed to describe ( #14538 )" ( #14591 )
...
This reverts commit bd0fe50a0e .
2022-06-02 10:31:10 -07:00
Andrey Lushnikov
bd0fe50a0e
fix(playwright-test): prohibit async functions passed to describe ( #14538 )
...
References #14533
2022-06-02 09:44:47 -07:00
Ross Wollman
e0a87e52d7
feat: support multi-select/combo box with toHaveValue ( #14555 )
2022-06-02 12:10:28 -04:00
Dmitry Gozman
d00efa0dfe
feat(expect): add ignoreCase option to toHaveText and toContainText ( #14534 )
2022-06-02 05:52:53 -07:00
Pavel Feldman
e912b6897d
fix(esm): respect source maps in esm-transpiled code ( #14561 )
2022-06-01 16:50:23 -07:00
Pavel Feldman
95672765bc
fix(ct): isolate component tests when recording video / trace ( #14531 )
2022-05-31 15:59:36 -07:00
Dmitry Gozman
a7500c18d6
feat(test runner): allow serial suites inside parallel ( #14530 )
...
Also works for `fullyParallel` mode.
2022-05-31 15:24:20 -07:00
Yury Semikhatsky
2bcdf68ef5
fix(runner): do not override trace files in afterAll ( #14529 )
2022-05-31 15:21:51 -07:00
Andrey Lushnikov
582a18e4dc
chore: add more information to debug worker early exits ( #14499 )
...
References #14498
2022-05-31 05:48:06 -07:00
Yury Semikhatsky
9f47160673
fix: do not override console object in worker ( #14455 )
2022-05-29 09:46:19 -07:00
Yury Semikhatsky
b164d82ba3
fix(runner): ignore .gitignore if testDir is explicitly configured ( #14430 )
...
If the tests are in an explicitly configured testDir (either at the global config level or per project) .gitignore filters are not applied.
Fixes #14381
2022-05-26 14:39:51 -07:00
Pavel Feldman
ea07ff3ae9
fix(jsx): allow passing variables into mount ( #14412 )
2022-05-25 13:59:45 -07:00
Pavel Feldman
9440f52b88
feat(ct): support cra w/ .js ( #14326 )
2022-05-24 19:43:28 -07:00
Pavel Feldman
d97c9bd5b6
test(ct): start covering components with tests ( #14369 )
2022-05-24 13:54:12 -07:00
Pavel Feldman
71a55c74da
fix(leak): do not retain test fixtures in worker fixtures ( #14363 )
2022-05-23 16:54:56 -07:00
Pavel Feldman
99f5eff400
fix(ct): do not break if there are no components (2)
2022-05-23 14:37:56 -07:00
Pavel Feldman
3c2d7d3bf2
fix(ct): do not break if there are no components ( #14362 )
2022-05-23 14:33:16 -07:00
Pavel Feldman
432c52d31a
chore: more testing-friendly trace ( #14264 )
2022-05-18 14:35:16 -07:00
Pavel Feldman
738d5e5b3e
chore: pass fixture defaults different from falsy ( #14237 )
2022-05-18 12:03:47 -07:00
Pavel Feldman
4d9ef46f64
fix(ct): recreate context on option change ( #14243 )
2022-05-18 09:57:05 -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
Dmitry Gozman
305afcdacf
fix(test runner): fix duplicate titles error when multiple issues are present ( #14090 )
2022-05-11 11:53:16 +01:00
Pavel Feldman
39489931d1
chore: add more ct options to allow redirecting templates/cache ( #14077 )
2022-05-10 12:21:29 -07:00
Ross Wollman
0c9e0d22df
fix(ct): preserve context changes ( #13986 )
...
1. add test (and fix) using context fixture with mount
2. add test for innerText that was failing prior to https://github.com/microsoft/playwright/pull/14008
2022-05-10 11:45:47 -07:00
Dmitry Gozman
e8fb5a6337
fix(test runner): ensure that hooks run before fixtures teardown after timeout ( #14035 )
...
We had common cleanup exiting early after timeout, because we did not
reset the time slot.
2022-05-09 20:38:20 +01:00
Pavel Feldman
e9378ba5fc
chore: hide plugins again ( #14038 )
2022-05-09 10:06:13 -07:00
Pavel Feldman
46e82e8fea
feat(ct): only rebuild when necessary ( #14026 )
2022-05-09 09:10:47 -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
Pavel Feldman
a052211dbf
chore: do not reset internal bindings for reuse ( #14019 )
2022-05-09 07:44:20 -07:00
Andrey Lushnikov
98945a81a8
feat: move toHaveScreenshot to use old snapshot paths by default ( #14006 )
...
Note: all toHaveScreenshot tests still use `__screenshots__` directory
for their expectations. One more test was added to make sure that
by default, `toHaveScreenshot` uses old snapshots.
2022-05-09 07:34:53 -07: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
d711734d38
chore: cleanup stray "fonts" mention in the codebase ( #14016 )
...
This is a follow-up to #14004
2022-05-07 09:16:55 -07:00
Pavel Feldman
b8c4f426cc
chore: return source map from registry generator ( #14005 )
2022-05-06 18:29:49 -07:00
Pavel Feldman
dc36b0158a
chore: dedupe ct fixtures ( #14002 )
2022-05-06 14:53:38 -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
a2f9f15e3e
chore: use plugins for component testing again ( #13977 )
2022-05-05 14:26:56 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation ( #13950 )
2022-05-05 10:14:00 -07:00
Andrey Lushnikov
aaedf1c8ea
fix(testrunner): explicitly define viewport size fixture ( #13801 )
...
Instead of relying on library defaults, let's explicitly define
viewport size fixture so that users can rely on its existance.
2022-05-04 09:17:33 -07:00
Pavel Feldman
214117c9c5
clean: speed up ct ( #13915 )
2022-05-03 21:25:50 -07:00
Pavel Feldman
13224d1c9f
chore: restore component testing options ( #13910 )
2022-05-03 15:48:46 -07:00
Pavel Feldman
29fd1d86df
chore: hide plugins for now ( #13908 )
2022-05-03 14:25:56 -07:00
Dmitry Gozman
85b86e19b8
feat(expect): ensure it works in global setup ( #13896 )
2022-05-03 21:53:15 +01:00
Pavel Feldman
19ce4e3514
chore: refactor web server plugin to extract legacy ( #13904 )
2022-05-03 11:47:37 -07:00
Dmitry Gozman
ef32069299
chore: small test runner changes in preparation of global fixtures ( #13899 )
...
The main change is splitting up options from the config from other
fixtures to ensure unique location for them.
2022-05-03 15:19:27 +01:00
Dmitry Gozman
4f5fbea26f
chore: get rid of ProjectImpl ( #13894 )
2022-05-03 13:36:24 +01:00
Ross Wollman
3b3cad7d69
feat: rewrite gitCommitInfo plugin, drop GlobalInfo & attachments ( #13837 )
2022-05-02 16:28:14 -07:00
Dmitry Gozman
d87de8c52c
fix(test runner): restore --headed flag ( #13872 )
2022-05-02 16:55:14 +01:00
Pavel Feldman
a1b10c3856
chore: try serializing the config instead of requiring it in the worker ( #13839 )
2022-04-29 16:05:08 -07:00
Pavel Feldman
46acf84c68
chore: pass config w/ cli overrides to plugins ( #13835 )
2022-04-29 13:32:39 -07:00
Pavel Feldman
18bff137ce
chore: remove default config from cli ( #13832 )
2022-04-28 16:49:36 -07:00
Ross Wollman
4984878411
fix: await plugin.configure ( #13834 )
2022-04-28 16:22:20 -07:00
Ross Wollman
f486ce8c06
feat(plugins): add webServer implementation ( #13779 )
2022-04-28 15:08:10 -07: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
Dmitry Gozman
b9f47558b5
feat(reporters): show failures on CI when adding dot automatically ( #13814 )
2022-04-28 12:29:21 +01:00
Pavel Feldman
a01b65bedd
chore: drop the legacy global setup mode ( #13803 )
2022-04-27 18:01:37 -07:00
Dmitry Gozman
3aba94dbef
chore: remove unnecessary types from overrides-test ( #13794 )
2022-04-27 16:14:37 +01: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
Pavel Feldman
5e51c17d41
chore: use plugin story for components ( #13717 )
2022-04-25 10:40:58 -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
Pavel Feldman
3d4caab153
chore: move playwright gallery into a subfolder ( #13695 )
2022-04-21 21:07:43 -07:00
Pavel Feldman
5990eb6074
chore: use vite plugin for registry ( #13658 )
2022-04-21 17:30:17 -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
Pavel Feldman
007e908cd9
chore: bundle pwt deps ( #13622 )
2022-04-18 21:47:18 -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
Pavel Feldman
58d79e5e4d
chore: add core utils bundle ( #13615 )
2022-04-18 13:47:23 -07:00
Pavel Feldman
4f0103fef0
chore: babel, expect, zip bundles ( #13588 )
2022-04-18 11:31:58 -07:00
Ross Wollman
71fbd2454e
fix(test-runner): avoid premature stop of worker in fullyParallel ( #13584 )
...
Prior to this change, we were pre-maturely stopping a worker (since it
was deemed redundant under a race condition), and then we immediately
created a new worker with the same hash to finish off the test run. The
worker creation is expensive, so this slowed down the overall test run
time.
See the following for logs of the old code illustrating the extra stops and starts: https://gist.github.com/rwoll/1c592ed9e8f9169274fa972674de6703
2022-04-17 16:22:57 -07:00
Yury Semikhatsky
7ffce1da53
chore: remove PlaywrightClient and Docker factory ( #13571 )
2022-04-15 12:11:38 -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
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
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
f6ccd4847e
fix(test runner): default workerIndex to -1 ( #13440 )
2022-04-08 15:23:23 -07:00
Yury Semikhatsky
9712b9ee08
fix: match against secure path ( #13442 )
2022-04-08 14:57:43 -07:00
Dmitry Gozman
916dd1e698
feat(remote): handle timeout manually in browser fixture ( #13406 )
...
To make launch/connect not affect the test timeout:
- `browser` fixture is declared with `timeout: 0`.
- Default timeouts are set to 30sec for launch and 3min for connect.
2022-04-08 13:39:12 -07:00
Ross Wollman
1af32e400f
feat(test-runner): introduce GlobalInfo ( #13083 )
2022-04-08 13:22:14 -07:00
Pavel Feldman
e79b90f454
chore: use utils via index export (5) ( #13413 )
2022-04-07 20:18:22 -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
Pavel Feldman
dbafe3bb4e
chore: use utils via index export (1) ( #13398 )
2022-04-07 13:26:50 -07:00
Yury Semikhatsky
32d30ae71d
chore: fix assert imports ( #13359 )
2022-04-06 21:30:48 -07:00
Pavel Feldman
c80365dd43
chore: distill deps after import types update ( #13367 )
2022-04-06 15:41:08 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Pavel Feldman
1c3db811f5
chore: move to folder-based deps lists ( #13361 )
2022-04-06 14:40:19 -07:00
Ivan Kaliada
424de6c38f
fix: resolve ts compilerOptions.paths with prefixes and suffixes ( #13105 )
2022-04-06 14:14:03 -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
Pavel Feldman
f3bd910820
chore(test-runner): rewrite poll, soft, wrap ( #13335 )
2022-04-05 17:47:35 -07:00
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir ( #13304 )
2022-04-05 08:34:51 -07:00
Dmitry Gozman
a71c151438
chore: introduce FullProjectInternal ( #13301 )
...
This is similar to FullConfigInternal to put private stuff on.
2022-04-04 16:07:04 -07:00
Dmitry Gozman
a09b8dfa36
chore: unrelease 'fonts' screenshot option ( #13300 )
2022-04-04 14:51:11 -07:00
Thomas Scholtes
3e65ef35cf
fix: wait for worker to be ready before initializing ( #13270 )
...
fix: wait for worker to be ready before initializing
The test dispatcher waits until a worker is ready before sending the
`init` message. This guarantees that the worker process is listening for the
message. Otherwise, the worker process might miss the `init` message and
the subsequent `run` message would crash the worker.
2022-04-04 13:56:57 -07:00
Pavel Feldman
1bebc28aed
chore: reset page/context for reuse in component tests ( #13264 )
2022-04-04 12:39:43 -07:00
Dmitry Gozman
f6936c0461
chore: move private fields to FullConfigInternal ( #13261 )
2022-04-01 18:32:34 -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
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
Pavel Feldman
6a463195c4
chore: allow multiple image diffs ( #13202 )
2022-03-31 14:11:34 -07:00
Pavel Feldman
923f74c5a6
chore: allow matchers decorate step title ( #13199 )
2022-03-30 21:52:00 -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
Pavel Feldman
5575476697
chore: make webserver try index.html for / ( #13155 )
2022-03-29 12:19:56 -07:00
Dmitry Gozman
de0af27837
feat(test runner): show last tests in the worker on teardown error ( #13139 )
2022-03-28 19:58:24 -07:00
Pavel Feldman
8758cf8cbf
chore: migrate html reporter to vite ( #13116 )
2022-03-28 18:21:19 -07:00
Dmitry Gozman
d59c2b996f
fix(parallel): minimize the number of beforeAll/afterAll hooks in parallel mode ( #13138 )
...
Previously, we always formed groups consisting of a single test.
Now, we group tests that share `beforeAll`/`afterAll` hooks into
`config.workers` equally-sized groups.
2022-03-28 16:10:32 -07:00
Ross Wollman
ae365dda3b
chore: remove internal dep on FullConfig ( #13074 )
...
Resolves #13058 .
This blocks adding #8206 since we don't want the new launch configs
publicly available on FullConfig.
2022-03-28 15:53:42 -07:00
Dmitry Gozman
9420a53939
fix(esm): make sure import from './foo.js' is supported ( #13137 )
...
Drive-by: migrate all @esm tests to esm.spec.ts.
2022-03-28 14:37:46 -07:00
Pavel Feldman
6b81e76c2b
chore: migrate trace-viewer and recorder to vite ( #13076 )
2022-03-25 14:12:00 -07:00
Pavel Feldman
3f1cb7b8e6
chore: only restart esm on Node 16+ ( #12955 )
2022-03-25 08:44:42 -07:00
Pavel Feldman
81d412216a
fix: list files when config writes to output ( #13023 )
2022-03-25 08:44:27 -07:00
Pavel Feldman
07c1a27732
chore(deps): prepare deps for monorepo ( #13057 )
2022-03-25 08:43:29 -07:00
Max Schmitt
1797c5c249
chore(test-runner): support self signed certificate in webServer ( #13032 )
2022-03-24 17:30:52 +01:00
Dmitry Gozman
3688e74e3e
fix(list mode): print errors to stderr ( #13016 )
...
`--list` mode now prints any errors encountered during test collection,
for example syntax errors, to `stderr`.
2022-03-24 07:33:33 -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
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
d8ab76bf64
chore: throw when a Promise was passed to toMatchSnapshot ( #12906 )
2022-03-22 16:36:09 +01:00
Andrey Lushnikov
7f51336068
fix: allow toMatchSnapshot to use text comparator for text data ( #12934 )
...
This was regressed awhile ago.
In v1.17 we shipped the following code: 30e15ad36f/packages/playwright-test/src/matchers/golden.ts (L122-L131)
`toMatchSnapshot` should fallback to text comparator in case of
unknown extension and string data.
Fixes #12862
2022-03-21 16:42:21 -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
009185bb89
fix(test runner): do not print fixture location without a separate timeout ( #12894 )
...
Otherwise, user randomly sees some "extend" calls that have no real meaning.
2022-03-18 16:09:41 -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
3a009531b1
feat(hooks): add a step per hook ( #12867 )
...
It is now possible to see which hooks were run in the html report.
2022-03-17 19:33:01 -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
Henrik Storck
05387b7835
fix: fix folder traversal for isModule check ( #12836 ) ( #12837 )
2022-03-16 15:52:39 -08: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
e3bd7ce119
fix(test-runner): resolve outputDir wrt rootDir ( #12755 )
...
Currently, running `npx playwright test` in a subfolder of your project
will result in a `test-results` folder created in your `cwd`.
This is unexpected; instead, we should always resolve all paths
against `rootDir` - directory that contains config.
2022-03-14 17:20:17 -07:00
Dmitry Gozman
237954212c
Revert "feat(line reporter): show stats, handle tty" ( #12735 )
...
This reverts commit be817d1a53 , PR #12695 .
Reason: found issues with stdout messing with stats.
2022-03-14 10:37:43 -07:00