Yury Semikhatsky
3bdbe4284e
fix(steps): make expect.toPass and expect.poll step containers ( #30389 )
...
Fixes https://github.com/microsoft/playwright/issues/30322
2024-04-16 16:18:37 -07:00
Yury Semikhatsky
73fce8fb98
chore: replace Zones with AsyncLocalStorage ( #30381 )
...
Reference https://github.com/microsoft/playwright/issues/30322
2024-04-16 12:51:20 -07:00
Yury Semikhatsky
3cea17abb6
fix: shut down workers before reporter.onEnd ( #30329 )
2024-04-16 09:49:11 -07:00
Yury Semikhatsky
1ef85015f3
fix(merge): preserve static annotations on the tests that did not run ( #30348 )
...
Fixes https://github.com/microsoft/playwright/issues/30260
2024-04-11 16:17:57 -07:00
Max Schmitt
15b423106f
fix(ui-mode): do not loose run information after writing into testDir ( #30312 )
...
Partially reverts https://github.com/microsoft/playwright/pull/30008
that started to reset all test results upon listing tests, including the
test that did just run and triggered re-listing.
https://github.com/microsoft/playwright/issues/30300 .
2024-04-10 19:01:51 +02:00
Max Schmitt
b2ded9fed1
fix(expect): throw better received error when no element was found ( #29890 )
...
Fixes https://github.com/microsoft/playwright/issues/29873
2024-04-10 10:01:19 +02:00
Dmitry Gozman
a6827772a5
fix(esmLoader): unref MessagePort in the main thread ( #30271 )
...
This prevents the process from not exiting forever due to an open port.
2024-04-06 14:25:57 -07:00
Yury Semikhatsky
3e03c800df
chore: resolve config location earlier ( #30275 )
...
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-05 19:32:56 -07:00
Yury Semikhatsky
9e89f292bf
chore: remove usage of configFile from junit reporter ( #30273 )
...
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-05 15:44:00 -07:00
Pavel Feldman
3cea258a9c
chore: expose clear cache to test server ( #30268 )
2024-04-05 09:31:34 -07:00
Pavel Feldman
5043bd55dc
chore: move dev server to config-based framework extensibility ( #30234 )
2024-04-05 08:39:51 -07:00
Dmitry Gozman
d5907f4b13
feat(junit): includeProjectInTestName option ( #30233 )
...
Fixes #30246 .
2024-04-04 11:04:51 -07:00
Pavel Feldman
8ee286b366
chore: migrate to the testserver.initialize ( #30226 )
2024-04-03 12:50:56 -07:00
Yury Semikhatsky
5c5f0d77e4
chore: move implementation of Config and Project to TestConfig and TestProject ( #30212 )
...
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-03 10:47:32 -07:00
Max Schmitt
010bc29a3c
chore: harden markdown link validation ( #30221 )
2024-04-03 17:51:32 +02:00
Yury Semikhatsky
63f876a335
chore: remove overrides for type and status ( #30211 )
...
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-02 17:42:13 -07:00
Козынченко Вячеслав
e58a33a0ae
feat(expect) - add ignoreCase option for toHaveURL ( #30192 )
...
feat(expect): add ignoreCase option for toHaveURL
Fixes #30057
2024-04-02 16:20:46 -07:00
Yury Semikhatsky
81bcf2a53b
docs: document FullReporter API ( #30186 )
...
* FullConfig split into FullConfig and ConfigInWorker
* FullProject split into FullProject and ProjectInWorker
* Tests can only access {Config, Project}InWorker, while reporters can
only access Full{Config,Project}. This will allow in the future to
change the reporter API independently from the tests.
* Added documentation for the 4 classes.
2024-04-02 16:15:02 -07:00
Yury Semikhatsky
39b3c93b85
docs: note about sharded projects in the merged config ( #30184 )
...
Fixes https://github.com/microsoft/playwright/issues/29841
2024-04-02 14:41:23 -07:00
Pavel Feldman
6e799fdfa8
chore: do not run setup tasks on test run via server ( #30202 )
2024-04-01 15:31:09 -07:00
Pavel Feldman
7afd4170ea
chore: opt into stdio forwarding ( #30185 )
2024-03-30 18:45:10 -07:00
Hansanto
a950a7b86b
feat: Support intervals arg for toPass ( #30037 )
...
Fixes #30040
# Context
In the `playwright.config` file, we can custom the default `timeout`
property for `expect.toPass` by the property:
```ts title='playwright.config.ts'
export default defineConfig({
// ...
expect: {
toPass: {
timeout: 60_000,
},
},
});
```
However, we can't customize the `intervals` option. So the default value
is always `[100, 250, 500, 1000]`.
# Goal
Add the possibility to customize the intervals option from the
`playwright.config` file.
```ts title='playwright.config.ts'
export default defineConfig({
// ...
expect: {
toPass: {
timeout: 60_000,
intervals: [1000, 2000, 3000]
},
},
});
```
2024-03-29 10:17:29 -07:00
Yury Semikhatsky
3001c9ac73
fix: preserve test declaration order in html and merged report ( #30159 )
...
* Add `Suite.entries` that returns tests and suites in their declaration
order
* Exposed `Suite.type` and `TestCase.type` for discriminating between
different entry types.
* Blob report format is updated to store entries instead of separate
lists for suites and tests.
* Bumped blob format version to 2, added modernizer.
Fixes https://github.com/microsoft/playwright/issues/29984
2024-03-29 10:12:33 -07:00
Yury Semikhatsky
16318ea715
chore: remove unused botName from types ( #30172 )
2024-03-28 16:16:15 -07:00
Pavel Feldman
5912362089
chore: export MatcherReturnType type ( #30139 )
...
Fixes https://github.com/microsoft/playwright/issues/30131
2024-03-27 08:33:00 -07:00
Pavel Feldman
d7710f0c3e
chore: do not exit UI mode upon page reload ( #30135 )
2024-03-26 15:49:44 -07:00
Dmitry Gozman
b9b06cb010
chore: mark version 1.44.0-next ( #30129 )
2024-03-26 13:44:10 -07:00
Pavel Feldman
0bf635ecce
chore: ensure max failures exit yields erroneous status code ( #30120 )
...
Fixes https://github.com/microsoft/playwright/issues/30118
2024-03-26 09:20:13 -07:00
Dmitry Gozman
051afb9ce0
fix(test runner): update fixture teardown error message ( #30109 )
...
With the recent change that gave after hooks a separate timeout, fixture
teardown does not imply that "test finished successfully, but fixture
teardown was slow".
2024-03-25 17:04:03 -07:00
Pavel Feldman
7039ad0d11
chore: follow up to the api review for test server ( #30097 )
2024-03-25 15:42:58 -07:00
Dmitry Gozman
911d8effb9
feat(test runner): do not mock tty in the worker process ( #30107 )
...
This was historically done to make `console.log()` have colors. However,
this makes any other code that checks `process.stdout.isTTY` incorrectly
assume real TTY support.
Node18 and Node20 now respect `FORCE_COLOR=1` in console, so our default
behavior of forcing colors in the worker process just works out of the
box. See https://github.com/nodejs/node/pull/48034 .
2024-03-25 15:31:58 -07:00
Dmitry Gozman
95d649b406
feat: address api review feedback for 1.43 ( #30066 )
...
- Update docs for `trace: retain-on-first-failure`.
- Update docs for `devtools` option.
- Rename `Locator.enterFrame()` to `Locator.contentFrame()`.
- Rename `FrameLocator.exitFrame()` to `FrameLocator.owner()`.
2024-03-25 07:42:13 -07:00
Pavel Feldman
1539cde034
chore: allow passing path to config to the test server ( #30068 )
2024-03-22 16:04:59 -07:00
Pavel Feldman
ee9432b9da
chore: send test params over the wire in ui mode ( #30046 )
2024-03-22 13:49:28 -07:00
Yury Semikhatsky
a511731f55
fix(html): keep projects from different bots separate ( #30051 )
2024-03-22 10:02:00 -07:00
Pavel Feldman
a9fc4de37e
chore: queue run and list commands from ui ( #30033 )
2024-03-21 14:28:07 -07:00
Dmitry Gozman
3e73a6ce69
feat(test runner): show multiple errors, at most one per stage ( #30024 )
...
Previously, there was at most one "hard error", as opposite to multiple
"soft errors". This was done to preserve the historic behavior at the
time of introducing multiple `TestInfo.errors`.
With this change, every user callback that is executed `withRunnable()`
can throw an error and/or timeout, and both of these will end up in
`TestInfo.errors`.
Additionally, there is at most one "unhandled exception" error, to avoid
flooding the report with mass failures.
Drive-by: remove boolean arguments from `_failWithError()`.
Fixes #29876 .
2024-03-20 21:01:30 -07:00
Pavel Feldman
8a1ff34578
chore: split ui mode view into files ( #30029 )
2024-03-20 16:00:35 -07:00
Pavel Feldman
48ccc9cbcd
chore: prepare to reuse test server from ui mode (6) ( #30008 )
2024-03-20 13:43:26 -07:00
Pavel Feldman
0a22a86e2e
chore: prepare to reuse test server from ui mode (5) ( #30005 )
2024-03-19 14:08:21 -07:00
Pavel Feldman
54aca430b0
chore: prepare to reuse test server from ui mode (4) ( #29995 )
2024-03-19 13:00:49 -07:00
Dmitry Gozman
be1af15d57
feat: always enable ESM loader with the new API ( #29991 )
...
It does not require a process restart anymore, so safe to enable.
Fixes #29747 .
2024-03-18 21:54:25 -07:00
Dmitry Gozman
b41b802662
fix(test runner): avoid dependency tracking colliding between esm and cjs ( #29994 )
...
When collecting dependencies both from CJS loader and from ESM loader,
the latter would overwrite the dependencies set instead of appending.
Also make sure cts/cjs/mts/mjs are all supported equally.
References #29747 .
2024-03-18 17:17:58 -07:00
Pavel Feldman
c7b074d39e
chore: prepare to reuse test server from ui mode (3) ( #29989 )
2024-03-18 17:14:21 -07:00
Yury Semikhatsky
35db70ea1d
chore: trim file names longer than 60 chars (was 100) ( #29725 )
...
Test-specific output dir and snapshot names are trimmed to 60 chars
instead of just 100. The snapshot names are still trimmed at 100 chars
for backwards compatibility.
Reference https://github.com/microsoft/playwright/issues/29719
2024-03-18 12:53:15 -07:00
Pavel Feldman
ef4438ee99
chore: prepare to reuse test server from ui mode (2) ( #29966 )
2024-03-18 09:59:02 -07:00
Pavel Feldman
6faadf5160
chore: prepare to reuse test server from ui mode ( #29965 )
2024-03-18 09:50:11 -07:00
Pavel Feldman
94348bb3c5
chore: align test tree with vscode ( #29864 )
2024-03-14 15:44:35 -07:00
Yury Semikhatsky
166d2d4fde
chore: separate results for repeated snapshot names ( #29880 )
...
Reference #29719
2024-03-12 16:10:43 -07:00
Dmitry Gozman
88e80cf948
chore(test runner): simplify TimeoutManager and TimeoutRunner ( #29863 )
2024-03-11 15:43:50 -07:00
Yury Semikhatsky
59228f19ce
fix: tty.WriteStream method stubs for process.stdout/stderr ( #29865 )
...
Fixes #29839
2024-03-11 10:11:16 -07:00
Yury Semikhatsky
7f6f17d1c3
chore: simplify toMatchSnapshot names calculation ( #29862 )
...
Reference https://github.com/microsoft/playwright/issues/29719
2024-03-10 11:11:35 -07:00
Dmitry Gozman
d214778548
chore(test runner): move timeout handling to the top, stop inheriting runnable ( #29857 )
2024-03-08 15:19:36 -08:00
Dmitry Gozman
006ee7f3b0
feat: separate timeout for after hooks ( #29828 )
...
Instead of sharing the timeout with the test, and then extending it when
test times out, we give after hooks a separate timeout.
2024-03-06 12:31:54 -08:00
Lukas Bockstaller
425f737eb6
feat: exposes tags in testInfo ( #29794 )
...
Fixes #29793 .
---------
Signed-off-by: Lukas Bockstaller <lukas.bockstaller@everest-erp.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-06 08:33:06 -08:00
Dmitry Gozman
1d4bdc6898
chore(test runner): make runAsStage throw and catch errors explicitly ( #29814 )
2024-03-05 16:35:11 -08:00
Dmitry Gozman
a3ed799cd5
fix(tsconfig): when extending, retain pathsBasePath from the original config ( #29822 )
...
This fixes a case where we incorrectly used the final config's base path
when resolving relative path mappings in the absence of the baseUrl.
Fixes #29816 .
2024-03-05 16:34:39 -08:00
Pavel Feldman
8bf8091cb1
chore: extract the tele test tree ( #29824 )
2024-03-05 15:11:56 -08:00
Pavel Feldman
e314b83e56
chore: iterate towards tele reporter reuse in vscode (2) ( #29812 )
2024-03-04 19:52:20 -08:00
Dmitry Gozman
5eb8fea616
chore: rewrite worker main through TestInfoImpl._runAsStage ( #29644 )
2024-03-04 19:36:58 -08:00
Pavel Feldman
743a6ffe1d
chore: iterate towards tele reporter reuse in vscode ( #29803 )
2024-03-04 11:08:40 -08:00
Pavel Feldman
68284b0505
chore: inject string pool into the tele receiver ( #29781 )
2024-03-04 08:46:32 -08:00
Pavel Feldman
ef924c14e7
chore: do not use project id in telereporter ( #29776 )
2024-03-01 21:44:08 -08:00
Pavel Feldman
bbcc3c1238
chore: remove private config usage from telereporter ( #29771 )
2024-03-01 13:14:12 -08:00
Pavel Feldman
d0cc5871d8
chore: remove private suite from tele reporter ( #29752 )
2024-03-01 11:30:28 -08:00
Renan Greca
4e0bd6286e
docs: Improved JSDoc for expect.toPass ( #29722 )
2024-03-01 10:51:23 -08:00
Pavel Feldman
ff16d7960c
fix(tsload): fix tsconfig inheritance resolution ( #29766 )
...
Fixes https://github.com/microsoft/playwright/issues/29731
2024-03-01 09:36:04 -08:00
Yury Semikhatsky
c08a4e72d1
chore: call testInfo.snapshotPath directly ( #29755 )
...
Reference https://github.com/microsoft/playwright/issues/29719
2024-02-29 16:59:39 -08:00
Pavel Feldman
99744d0683
chore: normalize telereceiver type imports ( #29745 )
2024-02-29 12:31:07 -08:00
Stevan Freeborn
52b803ecf5
feat(trace mode): add on-first-failure mode for traces ( #29647 )
...
Implements the changes suggested in #29531
2024-02-28 14:39:18 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -08:00
Yury Semikhatsky
01846b954d
chore: mark 1.43.0-next ( #29670 )
2024-02-26 16:45:25 -08:00
Pavel Feldman
7eb910a652
chore: enable eslint for js ( #29639 )
2024-02-26 09:39:21 -08:00
Pavel Feldman
6b5e273b6d
chore: reuse test server wire for reporter events ( #29640 )
2024-02-23 15:51:20 -08:00
Dmitry Gozman
8d9c67ac5d
chore(test runner): do not nest fixture setups inside each other, similar to teardown ( #29619 )
2024-02-23 14:47:13 -08:00
Pavel Feldman
a3aea813bc
chore: implement server-based list files ( #29633 )
2024-02-23 08:29:44 -08:00
Pavel Feldman
2ca45ff948
chore: use test server as a singleton ( #29630 )
2024-02-22 15:56:38 -08:00
Pavel Feldman
ee93136132
chore: streamline config loader ( #29627 )
2024-02-22 15:14:13 -08:00
Pavel Feldman
ac0787d0c8
chore: expose find related files over test server ( #29604 )
2024-02-22 13:37:24 -08:00
Pavel Feldman
82b17bdda1
chore: mark server-related fixture options as such ( #29602 )
2024-02-21 17:04:36 -08:00
Pavel Feldman
ba72f7e429
chore: an iteration on test server ( #29589 )
2024-02-21 09:27:48 -08:00
Pavel Feldman
a023cd1f57
fix(output): clear output before global setup ( #29584 )
2024-02-20 14:24:59 -08:00
Dmitry Gozman
f9aebda5db
fix(fixtures): attribute teardown step to the right TestInfo instance ( #29523 )
2024-02-20 12:35:43 -08:00
David
593feea166
fix: use addEventListener instead of onmessage in portTransport.ts ( #29581 )
2024-02-20 10:04:26 -08:00
Pavel Feldman
d573c515a3
chore: add test server stub ( #29568 )
2024-02-20 09:56:33 -08:00
Pavel Feldman
a99652b0d9
chore: remove clearCompilationCache, do not push cache it into loader… ( #29548 )
2024-02-19 10:21:05 -08:00
Dmitry Gozman
f414227ed8
chore(test runner): make FixturePool.registrations private ( #29539 )
...
This way everyone resolves through a public function instead of a map
lookup, which is sometimes wrong.
2024-02-16 20:29:33 -08:00
Yury Semikhatsky
f3fde992eb
chore: remove --project-grep, add wildcard support ( #29537 )
...
Reference #15128
2024-02-16 19:18:00 -08:00
Pavel Feldman
4f1d8cdd63
chore: hide test server related cli commands ( #29532 )
2024-02-16 14:32:44 -08:00
Dmitry Gozman
269a293ba1
chore(test runner): allow TestInfoImpl without a TestCase ( #29534 )
...
This will be useful to run `beforeAll`/`afterAll` hooks with a separate
`TestInfo` instance, as well as run use helpers like
`_runAndFailOnError()` during scope teardown.
2024-02-16 12:43:13 -08:00
Dmitry Gozman
dbf0b25146
chore(test runner): do not rely on zones for fixture steps ( #29519 )
2024-02-16 10:51:45 -08:00
Dmitry Gozman
dc9cddde95
chore: do not rely on zones for predefined steps ( #29485 )
...
This fixes some edge cases where fixtures and steps inside them were
attached to the wrong parent (see the new test).
This will also allow to replace some `runAsStep` calls with a flat list
of tasks to do that do not rely on lexical scope.
2024-02-15 12:49:08 -08:00
Dmitry Gozman
08afb34c14
chore(test runner): make timeout error an Error ( #29515 )
2024-02-15 11:38:13 -08:00
Dmitry Gozman
bd5403dcad
chore: remove --tag and tagFilter ( #29468 )
...
This makes new tags filtered by the `grep`. New `TestCase.tags` API now
includes both old and new tags.
2024-02-15 11:37:16 -08:00
Pavel Feldman
217c0618df
chore: rename find-related-tests to find-related-test-files ( #29483 )
2024-02-13 15:40:49 -08:00
Pavel Feldman
7aef5249d8
chore: pass the private data to the runner via config ( #29467 )
2024-02-13 09:34:03 -08:00
Dmitry Gozman
f605a5009b
fix(esmLoader): do not serialize the whole compilation cache after each import ( #29464 )
...
Instead, send the newly created cache entry only.
References #29418 .
2024-02-12 16:39:53 -08:00
Yury Semikhatsky
7834beb932
chore: extract --project-grep option for matching with regex ( #29445 )
...
Reference https://github.com/microsoft/playwright/issues/15128
2024-02-10 11:19:00 -08:00
Pavel Feldman
586d14f02c
chore: add find-related-tests command ( #29439 )
2024-02-09 19:02:42 -08:00
Max Schmitt
61b88a851d
fix(merge): blobs before tags API ( #29438 )
...
Fixes https://github.com/microsoft/playwright/issues/29434
2024-02-09 20:47:38 +01:00