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
Max Schmitt
599185dd07
feat(ui-mode): show native tags in test tree ( #30092 )
...
This brings up the question that we would show the tag name twice if its
a tag in a title. This would be aligned to how HTML report is doing it.
Fixes https://github.com/microsoft/playwright/issues/29927
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-26 01:06:22 +01: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
Max Schmitt
65d82797f1
fix(ct): ct ID clash on similar imports ( #30108 )
...
This restores the [best
effort](https://github.com/microsoft/playwright/pull/29407/files#diff-8dd3534dc5013c3779edeaded71324b0dd1c1807668f3c6d9e9a1aab1c20ae91L152 )
logic if its a relativ path.
Fixes https://github.com/microsoft/playwright/issues/30085
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Pavel Feldman <pavel.feldman@gmail.com>
2024-03-25 23:50:45 +01: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
Max Schmitt
253a2f9a9c
chore: address UI Mode keyboard shortcut feedback ( #30088 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-03-25 19:48:20 +01:00
Dmitry Gozman
7a3c002944
fix(ct): allow importing json files ( #30067 )
...
While we are not fully resolving imports during compilation, do not
treat `json` as a non-importable asset.
Fixes #29926 .
2024-03-25 07:41:54 -07:00
Pavel Feldman
1539cde034
chore: allow passing path to config to the test server ( #30068 )
2024-03-22 16:04:59 -07:00
Yury Semikhatsky
a511731f55
fix(html): keep projects from different bots separate ( #30051 )
2024-03-22 10:02:00 -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
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
jonghoonpark
b929c0d8f7
feat(ui-mode): add key shortcuts for playwright uI test runner ( #29868 )
2024-03-19 12:36:42 +01: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
Max Schmitt
a6d1fb93de
fix(trace-viewer): encode attachment filenames as UTF-8 ( #29993 )
...
Fixes https://github.com/microsoft/playwright/issues/29967
Tested in Firefox, Chromium, and Safari. This now leads to "good
attachment names" in Chromium and Safari, for Firefox, it won't produce
attachments, it will open them inline, but this is not a regression, was
before like that already.
See here for the spec:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#filename_2
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2024-03-18 21:26:45 +01: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
Max Schmitt
048d6669fd
fix(reuse): reset Origin Private File System API ( #29921 )
...
Fixes https://github.com/microsoft/playwright/issues/29901
This clears the Origin Private File System API when using VSCode
extension.
2024-03-15 17:40:46 +01:00
Yury Semikhatsky
166d2d4fde
chore: separate results for repeated snapshot names ( #29880 )
...
Reference #29719
2024-03-12 16:10:43 -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
Sarkis Matinyan
0c3f60e95e
fix(ui): show stack frames in ui mode ( #29560 )
...
#29558 , #29500
2024-03-06 12:29:35 -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
Dmitry Gozman
abfd2c4e66
feat(ui mode): text filter should filter by explicit tags ( #29821 )
...
Fixes #29815 .
2024-03-05 10:58:55 -08:00
Dmitry Gozman
5eb8fea616
chore: rewrite worker main through TestInfoImpl._runAsStage ( #29644 )
2024-03-04 19:36:58 -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
baf2cdf936
fix(ct): stop-gap for shared file import ( #29744 )
...
Fixes: https://github.com/microsoft/playwright/issues/29739
2024-02-29 19:13:32 -08:00
Pavel Feldman
d9a00342c8
fix(HEAD): revert GET->HEAD migration, net-effect was negative ( #29738 )
...
Fixes: https://github.com/microsoft/playwright/issues/29732
2024-02-29 09:02:05 -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
Yury Semikhatsky
d8c16c1edf
chore: roll stable runner to 1.42.0-beta-1708998235000 ( #29675 )
2024-02-27 08:36:03 -08:00
Yury Semikhatsky
1c8e8bea7e
chore: roll stable test runner to 1.42.0-beta-1708994059000 ( #29672 )
2024-02-26 17:39:25 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -08:00
Pavel Feldman
a3aea813bc
chore: implement server-based list files ( #29633 )
2024-02-23 08:29:44 -08:00
Dmitry Gozman
f9aebda5db
fix(fixtures): attribute teardown step to the right TestInfo instance ( #29523 )
2024-02-20 12:35:43 -08:00
Yury Semikhatsky
f3fde992eb
chore: remove --project-grep, add wildcard support ( #29537 )
...
Reference #15128
2024-02-16 19:18:00 -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
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
Dmitry Gozman
bc2d4302f5
test: fix a broken reporter test ( #29514 )
...
It failed to print an error with missing stack, e.g. a timeout error.
2024-02-15 09:45:48 -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
Yury Semikhatsky
7a86bf4af6
chore: delete store.ts ( #29423 )
2024-02-08 12:55:18 -08:00
Pavel Feldman
84dea09cb9
fix(ct): resolve components used in tests during the vite build ( #29407 )
2024-02-07 20:39:45 -08:00
Dmitry Gozman
3331a40647
feat(test runner): tags/annotations ( #29248 )
...
API changes:
- `test(title, details, body)` where details contain `tag` and
`annotation`.
- similar `details` property added to `test.skip`, `test.fail`,
`test.fixme`, `test.only`, `test.describe` and other `test.describe.*`
variations.
- `TestProject.tagFilter`/`TestConfig.tagFilter` that supports logical
tag expressions with `(`, `)`, `and`, `or` and `not`.
- `--tag` CLI option to filter by tags.
- New annotations are available in `TestInfo.annotations` and
`TestCase.annotations`.
- New tags are available in `TestCase.tags`.
Reporter changes:
- `json` reporter includes new tags in addition to old `@smoke`-style
tags. **Breaking**: tags are now listed with the leading `@` symbol.
- `html` reporter filters by old and new tags with the same `@smoke`
token.
Fixes #29229 , fixes #23180 .
2024-02-07 16:31:25 -08:00
Dmitry Gozman
9e285ce919
docs: do not call custom expect message an "error message" ( #29390 )
...
Fixes #29378 .
2024-02-06 12:12:45 -08:00
Pavel Feldman
4bafe71eb1
chore: unconflict ct test ports ( #29332 )
2024-02-05 16:47:39 -08:00
Pavel Feldman
5f5e058e96
fix(fixtures): tear down base fixture after error in derived ( #29337 )
...
Fixes https://github.com/microsoft/playwright/issues/29325
2024-02-05 16:47:15 -08:00
Max Schmitt
8c007fd3fc
fix(toHaveScreenshot): stylePath as first arg ( #29372 )
2024-02-05 22:52:16 +01:00
Pavel Feldman
dd0ef72cd8
feat(tsconfig): respect tsconfig references ( #29330 )
...
Fixes https://github.com/microsoft/playwright/issues/29256
2024-02-02 16:18:44 -08:00
Dmitry Gozman
b9565ea26e
chore(test runner): refactor beforeAll/afterAll hooks and modifiers ( #29309 )
...
- Modifiers that only depend on the worker fixtures are implemented as
`beforeAll` hooks.
- Modifiers that depend on test fixtures are implemented as `beforeEach`
hooks.
- Pushed `_runAndFailOnError` down the stack, wrapping individual hooks
instead of the whole "before hooks" section.
- Reused the same code to run `beforeAll` and `afterAll` hooks and
modifiers.
**Behavior change**: `test.skip()` inside a `beforeAll` now skips the
hook and all tests in the suite.
2024-02-02 14:25:46 -08:00
Max Schmitt
a6e0af6767
feat: parse projects option as RegExp ( #29327 )
...
Fixes https://github.com/microsoft/playwright/issues/15128
Relates https://github.com/microsoft/playwright/pull/17244
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2024-02-02 23:05:20 +01:00
Pavel Feldman
fcd3c7b523
Revert "fix(ct): resolve paths before detecting JS" ( #29312 )
...
Reverts microsoft/playwright#29308
2024-02-01 21:11:30 -08:00
Pavel Feldman
eb8cbbbf62
fix(ct): resolve paths before detecting JS ( #29308 )
2024-02-01 21:06:31 -08:00
Pavel Feldman
4784139bb0
fix(test): do not allow mixing tests from different types ( #29284 )
...
Fixes https://github.com/microsoft/playwright/issues/29282
2024-02-01 11:59:56 -08:00
Yury Semikhatsky
a89dbe3813
devops: custom blob report name for test runner tests ( #29280 )
...
Otherwise uploaded reports all have clashing names report-1.zip and
report-2.zip.
2024-02-01 09:17:48 -08:00
Dmitry Gozman
cf6549687c
fix(trace viewer): reveal error location when it comes from the test ( #29268 )
...
Errors coming from the test runner do not have an associated `action`,
but have a `stack` that we can reveal.
2024-02-01 08:23:07 -08:00
Yury Semikhatsky
b5082e10fd
fix: do not retry missing snapshot errors ( #29272 )
...
When `updateSnapshots === 'missing'` we generate new expectations on the
first attempt and don't retry the test afterwards instead of trying it
retries-1 times and only writing new expectation on the last attempt.
This logic infects all serial mode suites that contain the test with
missing expectations, so they also will not be retried.
Reference https://github.com/microsoft/playwright/issues/29073
2024-01-31 15:33:38 -08:00
Tanay Vardhan
e9a8fc944c
fix: Add support for exif jpeg file formats ( #29208 )
2024-01-29 14:58:13 -08:00
Dmitry Gozman
5ee7179b13
fix(test runner): make TestTracing responsible for trace management ( #29181 )
...
... instead of a fixture.
Fixes #29133 , fixes #28733 , fixes #28476 .
2024-01-26 15:52:25 -08:00
Yury Semikhatsky
0113e8455b
fix: make TeleSuite.project work for all suites ( #29177 )
...
Fixes https://github.com/microsoft/playwright/issues/29173
2024-01-25 13:44:08 -08:00
Pavel Feldman
6a14b1dc51
chore: automatically detect the dev server ( #29176 )
2024-01-25 11:46:47 -08:00
Pavel Feldman
41c15cb176
chore: move vite root dir into template folder ( #29081 )
2024-01-23 09:40:05 -08:00
Yury Semikhatsky
fbf87ef904
fix: test.fail wrapper method ( #29112 )
...
Fixes https://github.com/microsoft/playwright/issues/29104
2024-01-22 19:47:27 -08:00
Pavel Feldman
71a48c2562
chore: migrate ct to vite5 ( #29033 )
...
Closes https://github.com/microsoft/playwright/issues/28607
2024-01-19 11:13:03 -08:00
Dmitry Gozman
b7d22b64e8
feat(merge): prepend bot name to global errors ( #29055 )
...
This way one can figure out where does the error come from.
An example merged report that exhibits the issue:
https://mspwblobreport.z1.web.core.windows.net/run-7563628632-1-2328b83af75801ab76bb06c214fee483cf5bc07c/index.html#?q=s%3Afailed%20s%3Aflaky
2024-01-18 15:11:32 -08:00
Yury Semikhatsky
c76f5294ce
fix: quote trace file path when printing error message ( #29052 )
...
Fixes https://github.com/microsoft/playwright/issues/29039
2024-01-18 14:23:12 -08:00
Pavel Feldman
ee3960529e
fix(ct): allow passing date, url, bigint as properties ( #29031 )
...
Closes: https://github.com/microsoft/playwright/issues/29028 ,
https://github.com/microsoft/playwright/issues/29027
2024-01-17 20:43:28 -08:00
Pavel Feldman
2328b83af7
test: add a props.children test ( #29026 )
...
Closes https://github.com/microsoft/playwright/issues/29023
2024-01-17 12:53:01 -08:00
Pavel Feldman
c82919859c
chore: add an image import component test ( #29016 )
...
Closes: https://github.com/microsoft/playwright/issues/22657
2024-01-17 09:06:02 -08:00
Pavel Feldman
1db18711a2
fix(ct): move import list into the compilation cache data ( #28986 )
2024-01-16 19:31:19 -08:00
Dmitry Gozman
e6d51cf7bd
chore: refactor actionability check to go through node-side retry ( #28982 )
...
This allows to inject a checkpoint in between the actionability checks.
Drive-by: cleanup `InjectedScriptPoll`-related code.
2024-01-16 19:11:41 -08:00
Dmitry Gozman
775ef30e43
fix(test runner): make TestCase.id not depend on the path separator ( #29010 )
...
Fixes #28991 .
2024-01-16 13:32:47 -08:00
Max Schmitt
7721f910b2
chore: roll stable-test-runner to 1.41.0-beta-1705101589000 ( #28993 )
2024-01-16 08:59:55 -08:00
jonghoonpark
4c0a972b69
feat(expect): Make toPass's option configurable by TestConfig ( #28231 )
...
Co-authored-by: jonghoon.park <jonghoon.park@lucentblock.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-01-16 12:28:38 +01:00
Pavel Feldman
92ad1b385c
chore: refactor import processing in ct ( #28975 )
2024-01-12 20:02:27 -08:00
Pavel Feldman
afb2582eaa
chore: render only react child ( #28775 )
...
Fixes https://github.com/microsoft/playwright/issues/28410
2023-12-22 17:15:49 -08:00
Pavel Feldman
fc5f34369a
chore: only highlight uncaught errors in source ( #28772 )
2023-12-22 14:19:53 -08:00
Pavel Feldman
eeb9e06d5e
chore: box step w/o modifying runtime errors ( #28762 )
2023-12-22 12:00:17 -08:00
Yury Semikhatsky
5f14d42723
Revert "fix: respect .only in --list mode" ( #28770 )
...
This reverts commit 9a5bfc54e5 .
As it breaks extension.
Reference #28709
2023-12-22 11:03:30 -08:00
Pavel Feldman
f5c57d0e98
chore: reuse image diff component in trace/html ( #28727 )
...
Fixes https://github.com/microsoft/playwright/issues/28685
2023-12-22 10:17:35 -08:00
Pavel Feldman
5d9e08ac61
chore: box soft steps ( #28749 )
...
Fixes https://github.com/microsoft/playwright/issues/28259
2023-12-21 12:16:03 -08:00
Yury Semikhatsky
6d583a2dbe
fix: exit from merge-reports in type: "module" projects ( #28725 )
...
Fixes https://github.com/microsoft/playwright/issues/28699
2023-12-19 16:49:25 -08:00
Yury Semikhatsky
dcaa5758f0
fix: respect .only in --list mode ( #28721 )
...
Fixes https://github.com/microsoft/playwright/issues/28709
2023-12-19 12:24:54 -08:00
George Griffiths
4c848c0daf
feat(expect): Allow expect timeout to be configured outside of the runner ( #28716 )
...
Fixes #28702
2023-12-19 10:55:05 -08:00
Yury Semikhatsky
9c845365f7
chore: revert TestProject.botName for this release ( #28670 )
...
This is essentially a revert of f88288d71d
Reference https://github.com/microsoft/playwright/issues/27284
2023-12-15 09:48:34 -08:00
Pavel Feldman
d242ff67ef
chore: follow up to the stylePath review ( #28636 )
2023-12-14 08:19:24 -08:00
Pavel Feldman
afe90d648e
fix: do not generate api call steps inside named expects ( #28609 )
...
Fixes: https://github.com/microsoft/playwright/issues/28528
2023-12-13 09:06:02 -08:00
Max Schmitt
297cfdfc5f
chore: use ReadonlyArray for input parameters ( #28564 )
2023-12-12 16:22:48 -08:00
Dmitry Gozman
d2dc8eb1e3
fix(components): make sure defineConfig(c1, c2) works ( #28608 )
2023-12-12 14:01:01 -08:00
Yury Semikhatsky
411abdb752
feat: add fileName option to blob reporter ( #28525 )
...
Reference https://github.com/microsoft/playwright/issues/27284
2023-12-06 20:44:06 -08:00
Yury Semikhatsky
2adfbf24a9
chore: roll stable test runner ( #28523 )
2023-12-06 14:21:01 -08:00
Yury Semikhatsky
f88288d71d
feat: config.botName for describing environment in the reports ( #28507 )
...
Reference https://github.com/microsoft/playwright/issues/27284
2023-12-06 13:34:16 -08:00
Pavel Feldman
0a7a10d0f6
feat(vrt): allow providing screenshot style ( #28229 )
2023-11-30 17:42:45 -08:00
Pavel Feldman
92a0d24069
fix: restore timeout error name ( #28408 )
...
Fixes https://github.com/microsoft/playwright/issues/28404
2023-11-29 17:28:17 -08:00
Pavel Feldman
022b36332d
chore: do not add to the internal action logs ( #28365 )
...
Fixes https://github.com/microsoft/playwright/issues/28319
2023-11-27 16:43:47 -08:00
Dmitry Gozman
f61e445f2b
Revert "chore(test runner): remove fake skipped test results ( #27762 )" ( #28360 )
...
This reverts commit 210168e36d .
Fixes #28321 .
2023-11-27 16:08:20 -08:00
Yury Semikhatsky
dc8ecc3ca4
fix(merge): normalize path separators when merging across platforms ( #28227 )
2023-11-27 12:43:56 -08:00
Dmitry Gozman
62d4c3fe02
fix(defineConfig): do not add an empty project list to project-less configs ( #28224 )
...
Otherwise, merging two configs without `projects` property will create a
config with an empty project list, which is semantically different and
always leads to "No tests found".
2023-11-17 13:36:50 -08:00
Pavel Feldman
2bd7d67adc
chore: render testInfo errors in the Errors tab ( #28179 )
...
Fixes https://github.com/microsoft/playwright/issues/28056
2023-11-16 11:37:57 -08:00
Dmitry Gozman
19cfd0cc5e
chore: roll stable-test-runner to 1.40.0-beta-1700102862000 ( #28192 )
2023-11-16 10:14:56 -08:00
Pavel Feldman
25b9c4eb4a
chore: do not lose error name for js errors ( #28177 )
2023-11-15 18:27:32 -08:00
Dmitry Gozman
bf4c315b09
fix(types): explicit ExpectMatcherState type, optional Expect arg ( #28119 )
...
Fixes #28035 .
2023-11-13 18:37:50 -08:00
Yury Semikhatsky
53a78a315e
fix(merge): preserve original "rootDir" by default ( #27963 )
...
Fixes https://github.com/microsoft/playwright/issues/27877
2023-11-03 13:49:47 -07:00
Pavel Feldman
e84dd4d708
fix(ui): do not fail on clashing groups ( #27943 )
...
Fixes https://github.com/microsoft/playwright/issues/27929
2023-11-02 20:50:08 -07:00
Ben Scott
c59483c5fb
fix(tsconfig): handle tsconfig paths without a baseUrl ( #27846 )
2023-11-02 11:27:49 -07:00
Max Schmitt
5f366088be
chore: get rid of rimraf package ( #27790 )
...
This seems more reliable nowadays as rimraf.
https://github.com/microsoft/playwright/issues/27712
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-26 19:41:00 +02:00
Yury Semikhatsky
86c78c1e0f
fix(html): do not update total time when filtering tests ( #27808 )
...

Fixes #27758
2023-10-26 08:20:14 -07:00
Pavel Feldman
47733b04fb
chore: do not select after hooks automatically ( #27805 )
2023-10-25 17:05:06 -07:00
Dmitry Gozman
c8134bca5d
feat(html): show top-level errors ( #27763 )
...
Drive-by:
- extract `TestErrorView`;
- replace `data-test-id` with `data-testid` and `getByTestId()`.
---
<img width="1001" alt="top-level errors in html report"
src="https://github.com/microsoft/playwright/assets/9881434/2d6c0c52-8df1-46a9-b3fd-06ddc6f16796 ">
2023-10-24 09:35:07 -07:00
Dmitry Gozman
210168e36d
chore(test runner): remove fake skipped test results ( #27762 )
...
Fixes #27455 .
2023-10-24 09:31:30 -07:00
Dmitry Gozman
b8678ef902
chore(test runner): simplify some dispatcher logic ( #27732 )
...
- remove `onlyStartedTests` in favor of explicit branch with comments;
- produce one "test not found" error per test instead of a single large
error;
- extract `_failTestWithErrors` from `_massSkipTestsFromRemaining`.
2023-10-23 09:15:13 -07:00
Dmitry Gozman
85112be25c
fix(test runner): properly handle uncaught errors in test.fail() ( #27734 )
...
Before this fix, unhandled error during test.fail():
- marks this test as "interrupted";
- fails next test in the file with "fatal error".
After this fix:
- marks this test as "failed as expected";
- restarts worker for the next test.
2023-10-23 09:14:31 -07:00
Dmitry Gozman
d67515f6c1
chore(test runner): do not produce some of the fake skipped test results ( #27730 )
2023-10-20 17:01:46 -07:00
Pavel Feldman
f46c889449
chore: fix total progress reporting w/ deps ( #27716 )
2023-10-19 20:07:47 -07:00
Pavel Feldman
d003945a7b
chore(ui): do not watch output folders ( #27694 )
2023-10-19 15:53:57 -07:00
Dmitry Gozman
6e62a11643
fix(trace): EPERM on windows ( #27693 )
...
When merging trace files, we sometimes left open read streams from the
zip, which prevents it from being removed.
Fixes #27286 .
2023-10-19 11:14:17 -07:00
Sander
562938b271
fix(ct): baseURL playwright config ( #27689 )
...
closes: https://github.com/microsoft/playwright/issues/27627
2023-10-18 13:53:58 -07:00
Dmitry Gozman
fd82b2b3fa
feat(json report): add expected/unexpected/skipped/flaky stats ( #27685 )
...
Fixes #27498 .
2023-10-18 12:55:31 -07:00
Pavel Feldman
a54dbfdadf
chore: plumb the target close reason when test fails ( #27640 )
2023-10-16 20:32:13 -07:00
Max Schmitt
fd2fbe9d2f
fix: merge{Tests,Expects} via ESM imports ( #27630 )
...
Backport to 1.39.X?
Fixes https://github.com/microsoft/playwright/issues/27617
2023-10-17 00:09:44 +02:00
Pavel Feldman
f212fd1a83
chore: unify target closed errors ( #27540 )
2023-10-12 11:05:34 -07:00
Pavel Feldman
393bd36e0a
chore: composed->merge ( #27555 )
2023-10-11 13:56:27 -07:00
Dmitry Gozman
3a43aaa700
chore: roll stable-test-runner to 1.39.0-beta-1697048429000 ( #27553 )
2023-10-11 13:42:04 -07:00
Pavel Feldman
fd6bf8aa2c
chrome: improve error messages on vscode side ( #27521 )
2023-10-09 19:55:24 -07:00
Pavel Feldman
11a4b3f7f5
chore: remove parsed stack trace ( #27496 )
2023-10-09 17:04:16 -07:00
Pavel Feldman
70dbb9d83a
feat(trace): allow navigating from error to source ( #27464 )
2023-10-05 14:59:59 -07: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
daba77644c
feat: composedExpect ( #27432 )
...
Allows to merge multiple expects with custom matchers added by
`expect.extend()`.
2023-10-04 15:01:25 -07:00
Yury Semikhatsky
ac48a47d33
feat: toHaveAttribute without value ( #27418 )
...
This time not doing it in other languages due to unjustified generator
complexity.
Fixes #27341
2023-10-04 09:27:28 -07:00
Dmitry Gozman
65ce4cd213
feat: expose composedTest() instead of test._extendTest() ( #27414 )
2023-10-03 13:26:30 -07:00
Pavel Feldman
d136b0aeb6
feat(step): allow boxing steps ( #27334 )
2023-09-29 09:44:00 -07:00
Sander
2032b64ee6
feat(ct): allow baseUrl and host config ( #27295 )
...
closes: https://github.com/microsoft/playwright/issues/27283
2023-09-26 16:32:51 -07:00
Yury Semikhatsky
d198784f1a
fix(blob): use reporters from the merge config ( #27301 )
...
Fixes https://github.com/microsoft/playwright/issues/27281
2023-09-26 11:41:17 -07:00
Pavel Feldman
aed86c98a8
chore(ct): allow using component as a property ( #27272 )
2023-09-25 17:00:52 -07:00
Dmitry Gozman
66eb3043f5
feat(json report): expose startTime and duration ( #27290 )
...
Fixes #27183 .
2023-09-25 10:58:55 -07:00
Pavel Feldman
a6a0257c88
feat(expect): allow chaining expects ( #27248 )
2023-09-22 12:12:17 -07:00
Dmitry Gozman
49fd9500fe
fix: handle worker process start failure ( #27249 )
...
Worker process start failure is reported as a test error and skips other
tests from the group.
If happened during stop (e.g. from a Ctrl+C) before worker has fully
initialized, this error is ignored.
Drive-by: send SIGINT in tests to the whole tree, to better emulate
Ctrl+C behavior.
2023-09-22 10:57:35 -07:00
Pavel Feldman
9fe037fb63
chore: populate matcherResult in web assertions ( #27133 )
...
Ref https://github.com/microsoft/playwright/issues/26929
2023-09-16 14:24:10 -07:00
Dmitry Gozman
3bcf9687e6
fix(test runner): make sure auto worker fixtures run before auto test fixtures ( #27131 )
...
Fixes #27114 .
2023-09-15 14:51:31 -07:00
Pavel Feldman
527d260cbf
chore: hide tracing calls from traces ( #27096 )
2023-09-15 12:55:49 -07:00
Max Schmitt
0d44405762
fix: custom expect matchers on Locator/Page/APIResponse instance ( #27117 )
...
Fixes https://github.com/microsoft/playwright/issues/27113
2023-09-15 18:05:44 +02:00
Yury Semikhatsky
ebf6a08290
fix: list tests only once ( #27103 )
...
Fixes #27087
2023-09-14 20:00:30 -07:00
Max Schmitt
26cbe69442
test: use intermediate merge report for JSON repoter ( #27092 )
2023-09-15 04:36:15 +02:00
David Paquette
3170963f42
fix: render JUnit attachment paths relative to outputFile ( #27024 )
2023-09-14 12:58:09 -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
Max Schmitt
aa929bff3b
test: unflake 'filter should update stats' test ( #27085 )
...
It's not possible to calculate the total test duration of the tests in
the UI, since our `msToString` function is lossy. This patch unflakes
the
[test](https://github.com/microsoft/playwright/actions/runs/6183832112/job/16787806162?pr=27074#step:7:254 )
when it took longer than a second to start, by writing the test-ids to
the DOM, getting them into the Node.js process, and calculating their
test duration sum based on the JSON report.
Drive-by: I found a bug that we used the JSON report from the main
test-runner process rather than from the merge process, so the test IDs
were still old. (Without that change the `useIntermediateMergeReport`
tests were not passing.
2023-09-14 19:51:05 +02:00
Max Schmitt
4431a8366d
fix: collect stdio from forked processes ( #27074 )
...
A summary about the attempts we tried in
https://github.com/microsoft/playwright/pull/26931 for
https://github.com/microsoft/playwright/issues/26859 and
https://github.com/microsoft/playwright/issues/24591 .
1. attempt: collect all the stdio from the worker host.
- this made it hard to capture the live console logs for the live trace
2. attempt: collect all the stdio from the worker host, but keep
proxying `process.{stdout,stderr}.write`.
- this solved the live console logs problem, since we could still listen
on them
- we found out about a race that the stdout/stderr streams can still
buffer data while the test already had finished
- we created a best effort flush implementation but didn't like the
complexity it introduced to the project
3. attempt: keep things like they are but also listen to stdio from the
worker host
- this solves the race of console.log in the test (things stay like they
are)
- this keeps live trace working (things stay like they are)
- a known pitfall is that it could result in logs which don't end up in
the reporter onStdOut/onStdErr, but it is already a significant
improvement over how it was before.
- before: they were not getting displayed
- after: they are getting displayed and there is a low likelihood that
they don't end up in the reporter API if the write happens slightly
before a test finished.
Closes #26931
Fixes #26859
Fixes #24591
2023-09-14 18:34:26 +02:00
Dmitry Gozman
f9298cfff6
fix(tracing): unclash trace names between test and hooks ( #27063 )
...
Fixes #27048 .
2023-09-13 19:56:40 -07:00
Andrey Lushnikov
45d2a36453
chore: roll stable test runner to 1.38 beta ( #27066 )
2023-09-13 16:01:06 -07:00
Pavel Feldman
02c72e545b
feat(onEnd): allow overriding the exit code ( #27010 )
...
Fixes: https://github.com/microsoft/playwright/issues/26858
2023-09-12 13:37:30 -07:00
Max Schmitt
d0945192a4
feat: make it possible to filter by column in HTML report ( #27020 )
2023-09-12 22:13:15 +02:00
Max Schmitt
01ab703400
test: restore useIntermediateMergeReport=true test mode in html tests ( #26989 )
...
This got accidentally removed in
https://github.com/microsoft/playwright/pull/26799 .
2023-09-11 09:14:05 -07:00
Yury Semikhatsky
2feae015aa
chore: remove details from markdown reports ( #26961 )
...
- remove error details from the reports
- collapse flaky tests by default
- limit comment to 65365 character
GitHub API has comment length limit 65536 chars:
```
Unhandled error: HttpError: Validation Failed: {"resource":"IssueComment","code":"unprocessable","field":"data","message":"Body is too long (maximum is 65536 characters)"}
```
2023-09-08 17:49:34 -07:00
Dmitry Gozman
186f86905c
chore: make @playwright/test depend on playwright ( #26946 )
2023-09-08 14:23:35 -07:00
Pavel Feldman
167c35ca66
chore: store scroll positions in trace viewer ( #26938 )
2023-09-07 17:14:39 -07:00
Pavel Feldman
a339bead09
chore: implement faster ansi2html format for console ( #26826 )
2023-09-01 09:09:47 -07:00
Pavel Feldman
4948920437
fix(ui): do not log from beforeAll twice ( #26799 )
...
Fixes https://github.com/microsoft/playwright/issues/26790
2023-08-31 17:34:15 -07:00
Dmitry Gozman
fa286de0b3
fix(test runner): extract FailureTracker helper ( #26757 )
...
This way we can reuse it for:
- tracking `maxFailures` across phases;
- tracking failures for runner;
- tracking failures for `runJob` helper class later on.
Fixes #26344 .
2023-08-31 15:32:29 -07:00
Dmitry Gozman
6d85ba1494
fix: remove connectInsteadOfLaunching ( #26828 )
2023-08-31 15:29:04 -07:00
Pavel Feldman
c209d7e708
chore: more network panel polish ( #26780 )
2023-08-29 22:20:28 -07:00
Pavel Feldman
34c6197f9e
chore: include start/endTime and duration in onEnd report callback ( #26760 )
...
Fixes https://github.com/microsoft/playwright/issues/23637
2023-08-29 10:56:21 -07:00
Pavel Feldman
38f1e62642
chore: use custom expect message in trace step ( #26752 )
2023-08-28 14:48:24 -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
Pavel Feldman
376f2850b3
chore: flaky tests fixes ( #26714 )
2023-08-25 12:43:50 -07:00
Max Schmitt
9ae77a71fd
feat: print message if maxFailures has reached ( #26322 )
...
Fixes https://github.com/microsoft/playwright/issues/24239
2023-08-25 19:06:49 +02:00
Pavel Feldman
e7bd1864a8
chore: do not add plugins to config twice ( #26670 )
2023-08-24 16:19:57 -07:00
Dmitry Gozman
c970179551
fix(resolver): allow importing packages with non-index main script ( #26692 )
...
Regressed in https://github.com/microsoft/playwright/pull/23254 .
Fixes #26650 .
2023-08-24 14:09:00 -07:00
Dmitry Gozman
c90c943154
fix(test.fail): expect() failure should not skip future tests ( #26663 )
...
We used to stop the worker that would skip future tests. Regressed in
https://github.com/microsoft/playwright/pull/11850 .
Fixes #26435 .
2023-08-24 08:32:14 -07:00
Dmitry Gozman
81cc39ea6e
feat(expect): narrow down available assertions for Page/Locator/APIResponse ( #26658 )
...
Fixes #26381 .
2023-08-23 13:14:39 -07:00
Dmitry Gozman
218955c155
fix(test runner): make sure static annotations are reported for skipped tests ( #26634 )
...
Fixes #26397 .
2023-08-23 08:40:12 -07:00
Pavel Feldman
f4f9e526a2
chore: tolerate css imports ( #26626 )
...
Fixes https://github.com/microsoft/playwright/issues/24580
2023-08-23 08:32:23 -07:00
Pavel Feldman
00e6540799
feat(ui): show test trace events live ( #26619 )
2023-08-22 15:46:41 -07:00
Pavel Feldman
65aa062ea1
fix(console): make format console message w/o args ( #26620 )
...
Fixes https://github.com/microsoft/playwright/issues/26600
2023-08-22 14:29:35 -07:00
Pavel Feldman
1ceaa923ea
chore: create artifacts dir in the test runner ( #26594 )
2023-08-21 19:41:10 -07:00
Pavel Feldman
c3c3c7f53c
chore: decorate console message sources ( #26588 )
2023-08-21 16:05:27 -07:00
Pavel Feldman
f83d81956d
chore: make console stream live in ui mode ( #26562 )
2023-08-21 10:59:37 -07:00
Richard Blažo
bcc30bc71e
feat: add title for before and after hooks ( #26523 )
2023-08-21 09:50:22 -07:00
Pavel Feldman
41c312cd04
chore: fix ui mode to show screenshots ( #26563 )
2023-08-20 14:47:18 -07:00
Pavel Feldman
09bb866333
chore: format console message from page ( #26555 )
2023-08-19 16:13:42 -07:00
Max Schmitt
75ed251c9e
fix: download of attachments in UI Mode ( #26407 )
...
Fixes https://github.com/microsoft/playwright/issues/26326 .
2023-08-17 10:57:28 +02:00
Marcin Strzyz
42543a48a7
fix: fixed PW_TEST_HTML_REPORT_OPEN + more type safe + doc ( #24571 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-17 09:48:59 +02:00
Pavel Feldman
a705d68c8a
chore: filter actions, console and network based on the timeline window ( #26509 )
2023-08-16 16:30:17 -07:00
Pavel Feldman
929a849265
chore: fix .only in dependent tests ( #26503 )
...
Fixes https://github.com/microsoft/playwright/issues/26492
2023-08-16 13:39:08 -07:00
Max Schmitt
4c4525c9e0
chore: make html report produce named attachments ( #26421 )
...
https://github.com/microsoft/playwright/issues/26326
2023-08-16 18:06:04 +02:00
Max Schmitt
bd988b34a7
chore: allow calling spawnSync on Node.js file inside test ( #26429 )
...
Fixes https://github.com/microsoft/playwright/issues/24516
Relates https://github.com/microsoft/playwright/pull/16733
2023-08-11 18:37:14 +02:00
Yury Semikhatsky
ad9d20311a
fix(merge): allow reports with same name as input ( #26413 )
2023-08-10 12:47:31 -07:00
Yury Semikhatsky
d44a127014
chore: delete raw reporter ( #26391 )
...
Build HTML reporter using TeleReceiver's structures directly, this saves
us unnecessary memory allocation for the intermediate structures.
2023-08-09 22:01:44 -07:00
Pavel Feldman
08d6abab4a
chore: allow merging defineConfig ( #26390 )
2023-08-09 17:23:34 -07:00
Dmitry Gozman
cadc3153f7
fix(test runner): failed + skipped = flaky ( #26385 )
...
Fixes #17652 .
2023-08-09 16:35:14 -07:00
Yury Semikhatsky
bc2c7946bb
fix: do not throw when merging into blob report ( #26355 )
...
We cannot import a Symbol to isomorphic code from config. Instead,
__projectId property is used.
2023-08-08 14:47:12 -07:00
Yury Semikhatsky
8fcb6383ce
chore(blob): store playwright user agent ( #26337 )
2023-08-08 10:39:48 -07:00
Yury Semikhatsky
7516d6a914
chore: roll stable runner to Aug 7 ( #26334 )
2023-08-07 16:27:08 -07:00
Dmitry Gozman
27c15b705d
fix(blob): replace projectSuffix with reportName ( #25017 )
...
Always ensure unique project/test ids across blobs.
Show `reportName` as a label in the html report.
References #24451 .
2023-08-07 13:38:09 -07:00
Andrey Lushnikov
fa8f3f6454
fix: use snapshotPath instead of expectedPath for image diffs ( #24567 )
...
This opens a road to the "accept new screenshot" button in
Playwright tools.
References https://github.com/microsoft/playwright/issues/24310
2023-08-07 04:42:35 -07:00
Yury Semikhatsky
3eb59b873a
chore: roll stable test runner to Aug 6 ( #26310 )
2023-08-06 09:56:36 -07:00
Yury Semikhatsky
6c3142959d
fix(blob): store startTime as a number ( #24620 )
...
Turns out the Date objects have noticeable footprint on large suites and
storing them as umber is much cheaper, e.g.:

2023-08-04 16:06:23 -07:00
Pavel Feldman
b3ce913551
Revert "chore: allow calling spawnSync on Node.js file inside test" ( #24611 )
...
Reverts microsoft/playwright#24539
2023-08-04 09:01:38 -07:00
Yury Semikhatsky
9575867f1c
fix(blob): throw if blob report has newer version than the merger ( #24593 )
2023-08-03 15:11:34 -07:00
Max Schmitt
2193903d03
chore: allow calling spawnSync on Node.js file inside test ( #24539 )
...
Fixes https://github.com/microsoft/playwright/issues/24516
Relates https://github.com/microsoft/playwright/pull/16733
2023-08-04 00:03:14 +02:00
Yury Semikhatsky
8e2f33673b
chore(blob): change file name to report{-suffix}{-shard}.zip ( #24592 )
2023-08-03 13:23:30 -07:00
Yury Semikhatsky
a867e738db
chore(merge): console status updates ( #24559 )
2023-08-02 14:49:06 -07:00
Yury Semikhatsky
f5d069541d
chore(blob): add version to metadata ( #24556 )
2023-08-01 16:06:06 -07:00
Yury Semikhatsky
8da37b364b
chore(blob): zip output directory by default ( #24536 )
...
Changed the logic to add attachment to the zip in onEnd rather than
onTestEnd because attachment files can be deleted if e.g. preserveOutput
option is specified. Instead we add files once all workers have been
shut down. On a simple run with 1000 tests each adding 1Mb attachment
the overall time difference is 49s (streaming attachments) v 1m9s
(attachments added in the end).
2023-08-01 15:21:23 -07:00
Dmitry Gozman
d92fe16b76
fix(blob report): default location relative to package.json ( #24481 )
...
Also:
- remove `blob-report` directory at the start;
- markdown's `report.md` next to package.json;
- use default location in playwright's workflows.
References #24451 .
2023-07-28 15:49:31 -07:00
Dmitry Gozman
9c70a75d48
fix(merge): make sure testId from different blobs are unique ( #24475 )
...
Fixes a scenario where each shard runs the same setup project.
References #24451 .
2023-07-27 18:54:00 -07:00
Dmitry Gozman
4be1e479ea
fix(artifacts): only attach screenshot when it succeeds ( #24406 )
...
Fixes #24378 .
2023-07-26 15:22:04 -07:00
Dmitry Gozman
ed99ac7395
fix(sigint): make sure we do not add handler twice ( #24413 )
...
In the following scenario, we were adding SIGINT handler twice, but
removing it just once:
- Task runner starts testing, creates SigIntWatcher, installs SIGINT
handler.
- Press Ctrl+C, task runner interrupts, disarms SigIntWatcher, SIGINT
handler is not removed due to 1000ms cooldown.
- Task runner starts cleanup, creates SigIntWatcher, installs another
SIGINT handler.
- Cleanup finishes, SigIntWatcher disarms, could remove or not remove
SIGINT handler based on timing (same 1000ms cooldown). In any case, we
have one or two SIGINT handlers still on.
- HTML reporter hangs in onExit, while we still have SIGINT handler up,
so Ctrl+C does not exit.
Regressed in #24265 .
2023-07-25 18:35:38 -07:00
Dmitry Gozman
ed14bf2103
test: replace sendSIGINTAfter with interactWithTestRunner ( #24411 )
...
This way we can send multiple SIGINTs in tests.
2023-07-25 15:46:39 -07:00
Dmitry Gozman
9d0bba9c99
fix(tracing): do not throw on missing attachments ( #24409 )
...
Fixes #24378 .
2023-07-25 14:32:56 -07:00
Pavel Feldman
4ba6d789bc
Revert "chore: refactor timeout manager to use scopes (1) ( #24315 )" ( #24382 )
...
This reverts commit f5df0940c9 .
2023-07-24 14:09:20 -07:00
Yury Semikhatsky
6a3721eb9c
chore: delete --attachments option from merge-reports command ( #24350 )
...
We recommend uploading all resources along with the generated report. If
need be we'll reconsider adding the option later.
2023-07-21 13:15:00 -07:00
Pavel Feldman
f5df0940c9
chore: refactor timeout manager to use scopes (1) ( #24315 )
2023-07-20 17:21:21 -07:00
Dmitry Gozman
767addec8c
chore: make sure to call task's teardown if it has ever started ( #24317 )
...
This way things like WebServerPlugin can cleanup after themselves even
if they failed to start or were interrupted mid-way.
2023-07-20 17:16:22 -07:00
Yury Semikhatsky
b2965158d3
chore: roll stable test runner to July 19 ( #24314 )
2023-07-20 15:40:57 -07:00
Max Schmitt
1288519915
fix(ui-mode): run teardown handlers with Command + C ( #24267 )
...
Fixes https://github.com/microsoft/playwright/issues/23907
2023-07-19 17:50:25 +02:00
Pavel Feldman
879ddb73b0
chore: show last poller error on test timeout ( #24292 )
2023-07-18 17:03:26 -07:00
Marcin Strzyz
d5e7b4f16f
chore: update rimraf package to version 4 to eliminate "promisify" ( #24190 )
...
Migrate to version 4 which returns a promise rather than leverages a
callback. -> https://www.npmjs.com/package/rimraf?activeTab=readme
- contains its own types, eliminate "@types/rimraf"
- Parameter `maxBusyTries` changed to `maxRetries`
2023-07-18 19:58:07 +02:00
Yury Semikhatsky
d0280ec8c7
chore(blob): drop shard number from report name ( #24270 )
...
We store shard number in the report metadata event and then sort shard
files by shard number. This guarantees that within each project sharded
events will always go in stable order.
2023-07-18 09:29:25 -07:00
Pavel Feldman
5ff1fadd7b
chore: apply only filtration to deps ( #24268 )
2023-07-17 16:48:52 -07:00
Yury Semikhatsky
15b9e5afdb
fix: print fatal and no snippet errors in markdown report ( #24263 )
2023-07-17 13:50:00 -07:00
Pavel Feldman
af3e735147
chore: additional test for setup/teardown ( #24261 )
2023-07-17 12:29:16 -07:00
Pavel Feldman
49c1f9eb02
feat(ui): run deps in UI mode if dep projects are checked ( #24245 )
2023-07-15 15:11:31 -07:00
Yury Semikhatsky
d92db9a513
devops: always create blob report on CI, write PR number within action ( #24241 )
2023-07-14 15:10:29 -07:00
Yury Semikhatsky
3616023cf6
chore: markdown report details ( #24237 )
2023-07-14 12:32:25 -07:00
Pavel Feldman
5d799606c3
chore: resolve top-level vs dependency after cli filtering ( #24216 )
2023-07-13 17:54:08 -07:00
Max Schmitt
57cca1d96e
Revert "fix: do not collide with other tests when test names have special chars ( #23414 )" ( #24213 )
...
This reverts commit 4b1b4dc23b .
https://github.com/microsoft/playwright/issues/24184
Reopens https://github.com/microsoft/playwright/issues/23386
2023-07-13 20:03:02 +02:00
Max Schmitt
a0b0752662
fix: encode launch options correctly when reusing browser ( #24174 )
...
Fixes https://github.com/microsoft/playwright/issues/24157
2023-07-12 16:40:55 +02:00
Pavel Feldman
63915dc07a
feat(trace): render Node console messages in trace ( #24139 )
2023-07-10 18:36:28 -07:00
Andrey Lushnikov
94d6b1210b
fix: do not create empty directories for successful snapshot tests ( #24127 )
...
Fixes https://github.com/microsoft/playwright/issues/15600
2023-07-10 09:45:24 -07:00
Andrey Lushnikov
9af2b518f2
fix: exclude tracesDir option from launchOptions fixture ( #24086 )
...
Fixes https://github.com/microsoft/playwright/issues/23645
2023-07-06 13:31:44 -07:00
Pavel Feldman
608e336dba
fix(error): create a step for raw runtime error ( #24057 )
...
Fix https://github.com/microsoft/playwright/issues/23850
2023-07-06 10:48:12 -07:00
Pavel Feldman
566b277ce8
fix(steps): only propagate soft errors up the hierarchy ( #24054 )
...
Fixes https://github.com/microsoft/playwright/issues/23979
2023-07-05 15:30:53 -07:00
Pavel Feldman
df57fb594c
fix(trace): render items under expect.toPass ( #24016 )
...
Fixes: https://github.com/microsoft/playwright/issues/23942
2023-07-05 11:20:28 -07:00
Dmitry Gozman
7e310f79af
chore: migrate builtin reporters to ReporterV2 ( #23985 )
...
This allows builtin reporters to handle stdio between onConfigure and
onBegin.
Fixes #23539 .
2023-06-30 16:21:31 -07:00
Dmitry Gozman
86c1abd934
chore: introduce ReporterV2 interface ( #23983 )
2023-06-30 13:36:50 -07:00
Dmitry Gozman
92c738b14a
test: unflake some tests ( #23984 )
2023-06-30 13:08:18 -07:00
Dmitry Gozman
e28312ba63
chore: call onEnd(result) on InternalReporter ( #23972 )
...
Drive-by: fix watch mode not running global teardown.
2023-06-29 17:03:10 -07:00
Max Schmitt
4b1b4dc23b
fix: do not collide with other tests when test names have special chars ( #23414 )
...
Fixes https://github.com/microsoft/playwright/issues/23386
2023-06-27 10:34:31 +02:00
Yury Semikhatsky
6a6ff9cf6a
feat: markdown report ( #23819 )
...
Simple markdown report generator. Can be used when posting updates to
GitHub PRs:
<img width="632" alt="image"
src="https://github.com/microsoft/playwright/assets/9798949/ea7e4bfa-477a-4cad-9cc3-00b1f8a314b1 ">
2023-06-20 12:11:32 -07:00
Dmitry Gozman
2c8dd67b0e
fix(test runner): improve error message for non-stable test titles ( #23792 )
...
Fixes #23779 .
2023-06-19 14:13:11 -07:00
Yury Semikhatsky
f6d86c20f3
chore: run more reporter tests through blob report, some fixes ( #23765 )
2023-06-16 21:30:55 -07:00
Yury Semikhatsky
426d6dde0e
chore: dedup mergeReport fixture ( #23762 )
2023-06-16 16:40:55 -07:00
Yury Semikhatsky
11770156eb
feat(html): show number of filtered tests, update total time ( #23743 )
2023-06-16 09:22:57 -07:00
Yury Semikhatsky
b032e10973
chore: roll stable test runner to jun-15-2023 ( #23722 )
2023-06-14 18:41:42 -07:00
Yury Semikhatsky
77d322028c
feat(blob): zip .jsonl report files ( #23720 )
...
For linux tests without tracing blob-report-1.zip takes 19M, while
unpacked size is 228 MB. That size is counted for GitHub artifact
billing:
<img width="434" alt="image"
src="https://github.com/microsoft/playwright/assets/9798949/5bc32511-6686-4581-a348-acb6a54cd99b ">
We zip individual .jsonl reports so that they still have unique names
and can be easily uploaded into the same artifacts directory without
name collisions.
2023-06-14 17:10:39 -07:00
Andrey Lushnikov
3c0fab489b
chore: miscellaneous trace viewer fixes ( #23695 )
...
- properly annotate continued requests
- nest `attach` steps inside the related `expect` step
- fix primary-id-to-non-primary-id mapping
- make sure images in trace are not draggable
Fixes #23693
---------
Signed-off-by: Andrey Lushnikov <aslushnikov@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-06-14 09:37:19 -07:00
Yury Semikhatsky
dd9a49690b
test: speculative fix for reporter-blob ( #23630 )
2023-06-09 17:16:45 -07:00
Yury Semikhatsky
abdfe264fa
chore: run html reporter tests with merged report ( #23626 )
2023-06-09 15:41:15 -07:00
Yury Semikhatsky
400c7cd529
fix: serialize attachment to base64 in tele reporter ( #23590 )
2023-06-09 11:52:18 -07:00
Yury Semikhatsky
ded4a294f4
fix(merge): populate TestResult.stdout/stderr when merging ( #23587 )
2023-06-07 23:00:57 -07:00
Yury Semikhatsky
843034d83d
chore: roll stable test runner to 1.35.0-alpha-jun-7-2023 ( #23585 )
...
This fixes following error in the merged reports:
```
(index):9825 TypeError: Cannot read properties of null (reading 'toFixed')
at msToString ((index):18917:15)
at TestFilesView ((index):19373:9)
at Uh ((index):9372:7)
at kj ((index):10444:7)
at Uk ((index):12508:86)
at Tk ((index):12134:11)
```
2023-06-07 15:54:14 -07:00
Andrey Lushnikov
0f4090472c
feat: add maskColor option to the toHaveScreenshot method ( #23555 )
2023-06-06 17:15:55 -07:00
Yury Semikhatsky
874f4525b4
fix(merger): total time is sum of shard total times ( #23534 )
2023-06-05 19:10:41 -07:00
Yury Semikhatsky
ceaa29cec1
chore: clear message for no reports ( #23492 )
2023-06-05 17:20:54 -07:00
Dmitry Gozman
6b687b6d69
fix(toHaveScreenshot): attach newly created missing expectations ( #23528 )
...
Fixes #23090 .
2023-06-05 14:57:06 -07:00
Kristo Jorgenson
d5d155df1f
fix(typescript): allow directory imports ( #23254 )
...
This updates previous work in #22887 to align more fully with
`--moduleResolution=bundler`, allowing index files to be imported with
the /index extension
---------
Signed-off-by: Kristo Jorgenson <kristojorg@users.noreply.github.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-06-05 08:58:25 -07:00
Yury Semikhatsky
9cd49d5dd5
test: unflake "should stop tracing on requestContext.dispose()" ( #23489 )
...
Use Chromium instead of Firefox as it navigates faster and remove
timeout from the slow request handler, just make it hang.
Fixes #23116
2023-06-02 16:37:50 -07:00
Max Schmitt
3c2a8fa306
chore: enable no-floating-promises ESLint rule for tests ( #23376 )
...
https://github.com/microsoft/playwright/issues/23339
2023-06-02 21:59:12 +02:00
Max Schmitt
af893a1019
chore: inherit apiRequestContext timeout from actionTimeout ( #23481 )
...
Fixes https://github.com/microsoft/playwright/issues/23344
2023-06-02 21:36:09 +02:00
Max Schmitt
a97bdd0016
chore: update typescript to 5.1.3 ( #23461 )
...
https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/
2023-06-02 18:57:09 +02:00
Pavel Feldman
d1666d2dde
chore: include test-end-screenshot in a trace ( #23457 )
...
Fixes https://github.com/microsoft/playwright/issues/23222
2023-06-01 20:29:32 -07:00
Pavel Feldman
96b2247e28
chore: allow marking scripts as external for transform ( #23449 )
...
Fixes https://github.com/microsoft/playwright/issues/22874
2023-06-01 20:28:49 -07:00
Pavel Feldman
84942aa992
chore: render successful toPass as such ( #23411 )
...
Fixes https://github.com/microsoft/playwright/issues/23302
2023-06-01 13:22:08 -07:00
Dmitry Gozman
5d5314e006
test: make sure trace is recorded for custom fixtures ( #23418 )
...
References #23220 .
2023-05-31 21:50:20 -07:00
Pavel Feldman
7ad03027fb
chore: remove output dir before each test ( #23380 )
2023-05-30 16:03:50 -07:00
Yury Semikhatsky
624e88e504
chore: roll stable test runner to May 26 ( #23308 )
2023-05-26 09:19:23 -07:00
Yury Semikhatsky
57e496c978
test: use platform specific path separator ( #23311 )
...
The test has been failing recently
https://devops.playwright.dev/flakiness.html#filter_spec=should+list+files×tamp=1685115453114
2023-05-26 09:18:53 -07:00
Dmitry Gozman
fa86f2aee0
chore: createHttpServer that destroys sockets upon close ( #23294 )
...
This avoids the server hanging on close.
2023-05-26 07:03:41 -07:00
Yury Semikhatsky
6a2d07401e
chore: roll stable test runner to May 25 ( #23289 )
2023-05-25 15:39:51 -07:00
Pavel Feldman
f879ac7e44
chore: report output dir as a part of the list files ( #23283 )
2023-05-25 15:38:35 -07:00
Dmitry Gozman
00b34dddb2
chore: move TestServer under test/ ( #23287 )
2023-05-25 15:11:16 -07:00
Tomáš Hübelbauer
e550df060e
Enhance the forbidOnly mode message to guide the user towards the configuration option ( #23146 )
...
Hi, I am putting this PR out as a feeler to see if there's interested in
improving this error message, but the copy is by no means final and I am
open to improvement suggestions.
My intention here is to:
- Explain what a "focused item" is - that we're talking about a test and
it being focused is most likely down it using `only`
Are there other types of "items"? Are there other ways to make them
focused other than `only`?
- Explain why we're even in focused mode and how to control it
The default scaffolded Playwright config file includes a forbidMode
expression driven by whether `CI=1` is set.
I ran into this when trying to reproduce a CI issue locally so I had it
set and unknowingly entered focus only mode.
I wasn't aware this mode was a thing because I was using the default
configuration from `npm init` and did not familiarize myself with all
the options in it.
Is there a way to tell if we're in a TypeScript or JavaScript project in
this function? I would use that to display the configuration file name
with the right extension.
---------
Signed-off-by: Tomáš Hübelbauer <tomas@hubelbauer.net>
2023-05-25 13:32:49 -07:00
Yury Semikhatsky
dce730c3be
fix: consider project suffix when computing id ( #23270 )
2023-05-25 10:36:34 -07:00
Dmitry Gozman
70589c0113
test: unflake "beforeAll and afterAll should have a separate timeout" ( #23263 )
2023-05-24 13:46:28 -07:00
Dmitry Gozman
871032b411
test: unflake some reporter tests ( #23264 )
2023-05-24 13:28:40 -07:00
Dmitry Gozman
2858ca95d8
tet: unflake some test runner tests ( #23240 )
...
- `unhandled rejection during beforeAll should be reported and prevent
more tests` had timeout of 100ms that is too short on busy system;
- `runTSC` is always slow, so mark as such.
2023-05-23 13:31:23 -07:00
Pavel Feldman
fd75b85510
Revert "chore: more tree gardening ( #23119 )"
...
This reverts commit e6bc32b022 .
2023-05-23 12:04:44 -07:00
Pavel Feldman
6cce93b697
chore: explicit server mode control ( #23215 )
2023-05-23 10:56:37 -07:00
Pavel Feldman
b814e8a5f1
chore: bring back per test artifacts ( #23153 )
2023-05-23 09:36:35 -07:00
Yury Semikhatsky
10b7cb3979
chore: blob report project suffix ( #23212 )
2023-05-22 17:54:37 -07:00
Pavel Feldman
b9e7a91368
fix(html): fix the filter to respect status ( #23208 )
2023-05-22 15:35:19 -07:00
Pavel Feldman
ee3864913a
chore: allow stub JSX instances in type module ( #23211 )
...
Fixes https://github.com/microsoft/playwright/issues/23207
2023-05-22 15:34:50 -07:00
Pavel Feldman
8fee175896
test(filter): add a filter by location test ( #23170 )
2023-05-19 13:35:11 -07:00
Yury Semikhatsky
5004f908d9
devops: do not upload test-results artifacts ( #23168 )
2023-05-19 13:06:42 -07:00
Pavel Feldman
49370cb6fd
chore: fix file view padding ( #23166 )
2023-05-19 11:07:49 -07:00
Pavel Feldman
2697e93663
chore: do not annotate actions after failed ones as timed out ( #23148 )
2023-05-18 15:52:44 -07:00
Dmitry Gozman
ab7e794bf7
feat(shard): introduce mode: 'default' ( #23023 )
...
This mode allows a suite to opt-out from parallelism. Useful to setup
multiple suites running in parallel, with each suite not being sharded.
References #22891 .
2023-05-18 13:07:22 -07:00
Pavel Feldman
969e5ff1aa
test: add attachment tests ( #23143 )
2023-05-18 11:48:53 -07:00
Pavel Feldman
2501bbb715
test(ui-mode): make retries ( #23136 )
2023-05-18 11:28:28 -07:00