Dmitry Gozman
d7b63fa0b4
fix(test runner): ignore undefined values in fixtures definitions ( #15119 )
...
These mean "I don't want to specify this fixture/option"
instead of "I want the value of undefined", aligned with how TypeScript works.
We already do similar things in the config.
2022-06-27 11:31:41 -07:00
Dmitry Gozman
a93db3cf11
fix(reporter): line reporter should not swallow half-line stdout ( #15114 )
2022-06-27 11:25:42 -07:00
Pavel Feldman
1ce1246a0e
test: stress runners ( #15078 )
2022-06-23 15:55:12 -07:00
Dmitry Gozman
a46aaee6e8
fix(reporters): truncate long test titles from the start ( #15052 )
...
Most useful information is at the end - test name, current step, retry.
We truncate the repetitive project + suites at the start.
2022-06-22 17:03:54 -07:00
Pavel Feldman
9525bedc1f
feat(har): re-add routeFromHAR ( #15024 )
2022-06-21 22:12:37 -07:00
Dmitry Gozman
c02e165eb6
fix(test runner): toHaveScreenshot should not overwrite matching expectations ( #15028 )
...
Even in the `--update-snapshots` mode we should keep existing files if
they are matching under the threshold, to avoid needless churn.
2022-06-21 18:01:25 -07:00
Max Schmitt
5b5d24a7a5
chore: roll stable test-runner to 1.23.0-alpha-1655778679000 ( #15015 )
2022-06-21 18:53:38 +02:00
Dmitry Gozman
5397394653
feature(har): add testOptions.har ( #14991 )
...
Can now be used with `test.use({ har })`.
Also added more tests for latest har features.
2022-06-20 13:37:31 -07:00
Pavel Feldman
e8070ee1b2
chore: warn users on clashing test output and html reporter folders ( #14964 )
2022-06-18 15:47:26 -07:00
Pavel Feldman
030e7d211c
chore(har): allow replaying from zip har ( #14962 )
2022-06-17 16:11:22 -07: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
Ross Wollman
3974d1b359
revert( #14797 ): fix(test runner): collect artifacts when calling browser.close() ( #14846 )
...
Revert "fix(test runner): collect artifacts when calling `browser.close()` (#14797 )"
This reverts commit c7a28ac7e9 .
Looks like it broke a bunch of tracing tests:
* Good: https://github.com/microsoft/playwright/runs/6838098316?check_suite_focus=true
* First Bad: https://github.com/microsoft/playwright/runs/6838104691?check_suite_focus=true
* Still bad on HEAD (88664c39c9 ): https://github.com/microsoft/playwright/runs/6868333846?check_suite_focus=true
2022-06-13 17:20:59 -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
Dmitry Gozman
c7a28ac7e9
fix(test runner): collect artifacts when calling browser.close() ( #14797 )
...
Previously, we only collected artifacts on context closure.
However, in serial mode it is possible to close the browser instead.
2022-06-10 14:11:34 -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
Yury Semikhatsky
21d570f62e
test: update expectation after webkit roll ( #14718 )
2022-06-08 12:46:39 -07:00
Pavel Feldman
e3a590ed80
chore: update to react18, but use react17 mode ( #14645 )
2022-06-06 17:14:01 -07: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
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
Dmitry Gozman
dbcf039717
chore: remove experimental types ( #14560 )
2022-06-01 15:22:43 -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
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
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
Pavel Feldman
738d5e5b3e
chore: pass fixture defaults different from falsy ( #14237 )
2022-05-18 12:03:47 -07:00
Pavel Feldman
fe0afd6b5c
fix(toHaveProperty): serialize falsy arguments as well ( #14232 )
2022-05-17 14:44:12 -07: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
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
Max Schmitt
cdd589da91
chore: roll stable test-runner to 1.22.0-alpha-may-11-2022 ( #14102 )
2022-05-11 16:06:52 +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
d83de4f567
chore: remove stale plugins test
2022-05-09 12:54:06 -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
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
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
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
058f32caff
chore: fixtures-via-plugin implementation ( #13950 )
2022-05-05 10:14:00 -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
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
Ross Wollman
c15462d44c
chore: remove defunct GlobalInfo.attach test ( #13895 )
2022-05-03 14:18:16 +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
1ffd18f131
fix(test): fix plugins test on win ( #13860 )
2022-04-30 22:30:06 -07: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
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
e124d926ee
test: log more phases of plugins ( #13825 )
2022-04-28 11:22:09 -07:00
Ross Wollman
22bc16ce7d
test: add plugin event order spec ( #13802 )
2022-04-27 18:34:18 -07:00
Pavel Feldman
a01b65bedd
chore: drop the legacy global setup mode ( #13803 )
2022-04-27 18:01:37 -07:00
Yury Semikhatsky
5588defa22
test: content that does not work without useInnerText ( #13781 )
2022-04-27 15:48:38 -07:00
Pavel Feldman
bc6f8e1f20
feat(poll): expose custom poll interval ( #13776 )
2022-04-26 21:32:38 -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
f3ba9f30fc
chore: follow up to #13626 , fix compilation
2022-04-19 13:33:05 -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
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
Yury Semikhatsky
ed0dcdabc9
docs: clarify toBeDisabled behavior ( #13616 )
2022-04-18 17:06:01 -07:00
Pavel Feldman
58d79e5e4d
chore: add core utils bundle ( #13615 )
2022-04-18 13:47:23 -07:00
Yury Semikhatsky
7ffce1da53
chore: remove PlaywrightClient and Docker factory ( #13571 )
2022-04-15 12:11:38 -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
1e1df6395f
chore: generate expect types ( #13439 )
2022-04-11 10:42:19 -07:00
Ross Wollman
cdb68448e1
test: fix broken GlobalInfo.attach Windows test ( #13441 )
2022-04-08 17:48:01 -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
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
Dmitry Gozman
1dc2d02d35
chore: roll stable-test-runnner to apr-07 ( #13374 )
2022-04-07 14:58:04 +02:00
Pavel Feldman
bde7bf4ea9
chore: move registry & dispatchers to under server ( #13370 )
2022-04-06 22:21:27 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type ( #13365 )
2022-04-06 14:57:14 -07:00
Ivan Kaliada
424de6c38f
fix: resolve ts compilerOptions.paths with prefixes and suffixes ( #13105 )
2022-04-06 14:14:03 -07:00
Pavel Feldman
f3bd910820
chore(test-runner): rewrite poll, soft, wrap ( #13335 )
2022-04-05 17:47:35 -07: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
Dmitry Gozman
e31a5b690a
chore: unrelease toHaveScreenshot and screenshotsDir ( #13304 )
2022-04-05 08:34:51 -07:00
Dmitry Gozman
a09b8dfa36
chore: unrelease 'fonts' screenshot option ( #13300 )
2022-04-04 14:51:11 -07:00
Ross Wollman
8a6b640fca
test: mark enum babel test as failing ( #13282 )
2022-04-04 12:49:39 -07:00
Ross Wollman
3636d8548f
chore: fix lint ( #13279 )
2022-04-03 21:22:47 -07:00
Ross Wollman
014deed913
test: repro enums in tsx undefined ( #13272 )
...
The enums imported from the .tsx file are ending up as "undefined";
from the .ts file they are defined.
Repro for #13265 .
2022-04-03 21:12:00 -07:00
Pavel Feldman
66cf82766e
test(html-reporter): add image diff tests ( #13262 )
2022-04-01 18:11:15 -07:00