935 Commits

Author SHA1 Message Date
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
6bb5c0a549
fix: make evaluate not wait for scheduled navigations (#23402)
Fixes #23141.
2023-05-31 14:08:44 -07:00
Pavel Feldman
7ad03027fb
chore: remove output dir before each test (#23380) 2023-05-30 16:03:50 -07:00
Max Schmitt
13f70b6d89
chore: have type modifiers directly on file import (#23337) 2023-05-30 21:11:35 +02:00
Yury Semikhatsky
0ef8832f56
fix: patch project names and ids when merging reports (#23295)
Project name is used in testId calculation, so patching it in the
reporter is too late. Instead we now save project suffix to the blob
report file and patch all project and test ids as well as project names
in the report merger
2023-05-25 23:02:23 -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
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
Pavel Feldman
342bae6c59
chore: support esm loader on Node 20 (#23269) 2023-05-24 20:17:44 -07:00
Pavel Feldman
76b4b9dbaf
chore: move transform to its own folder (for loader worker) (#23247) 2023-05-23 21:05:33 -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
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
3395a28181
chore: opt out of trace attachments (#23139)
Fixes: https://github.com/microsoft/playwright/issues/23137
2023-05-18 11:27:45 -07:00
Yury Semikhatsky
a1fc8ff07d
fix: preserve steps in merged report (#23120) 2023-05-18 09:38:49 -07:00
Pavel Feldman
04070a59e1
chore: remove expect.configure({poll}) (#23060) 2023-05-16 18:45:03 -07:00
Dmitry Gozman
fc2e0e76bd
feat(teardown): allow the same project to be a teardown for multiple (#23074) 2023-05-16 18:26:06 -07:00
Max Schmitt
89f1940509
chore: be able to hide webServer stderr (#23063)
Follow-up to https://github.com/microsoft/playwright/pull/22564.
2023-05-17 00:46:59 +02:00
Yury Semikhatsky
ed19e5403b
feat: merge config properties (#23071) 2023-05-16 15:15:11 -07:00
Dmitry Gozman
f469e4b1eb
fix(expect): mark step as failed when async custom matcher throws (#23035)
Fixes #23021.
2023-05-15 19:37:12 -07:00
Pavel Feldman
bf1df9678f
chore: do not load code for babeling twice (#23025) 2023-05-15 15:12:10 -07:00
Yury Semikhatsky
6c75095896
chore: blob report does not print to console (#23027) 2023-05-15 12:46:17 -07:00
Pavel Feldman
4c4085e105
chore: partially hide built-in fixture steps (#23005) 2023-05-12 19:15:31 -07:00
Yury Semikhatsky
576d91fe80
fix: unique resource names between shards (#23004) 2023-05-12 18:21:43 -07:00
Pavel Feldman
083d13a13d
chore: surface syntax error in ui mode (#22982)
Fixes https://github.com/microsoft/playwright/issues/22863
2023-05-12 14:23:22 -07:00
Yury Semikhatsky
3ccec7eae5
feat(merge): generate html report with links to remote resources (#22968) 2023-05-12 09:26:04 -07:00
Pavel Feldman
e6d8cf9693
chore: include plugin list into the cache digest (#22946)
Fixes https://github.com/microsoft/playwright/issues/22931
2023-05-11 21:09:15 -07:00
Dmitry Gozman
9ffe33fae8
feat(test runner): support tsconfig.extends array (#22975)
Fixes #22151.
2023-05-11 19:18:13 -07:00
Pavel Feldman
59b9a39740
chore: add string attachments to trace (#22921) 2023-05-11 16:32:32 -07:00
Dmitry Gozman
44a934c160
feat(test runner): support .cjs and .cts files (#22971)
Fixes #22579.
2023-05-11 15:41:50 -07:00
Yury Semikhatsky
c9dad439cd
chore: write uncompressed blob report (#22945) 2023-05-10 15:08:53 -07:00
Andrey Lushnikov
3b2d247c74
fix: avoid using os.userInfo() (#22826)
The `os.userInfo()` call might throw on POSIX if there is no
user info for the current `uid`. This might happen, if the docker
is launched like this:

```
docker run --rm -u 1234:1234  -it mcr.microsoft.com/playwright:v1.32.0 node -e 'console.log(os.userInfo().username)'
```

So instead of using `os.userInfo()`, rely on effective user id.

Fixes https://github.com/microsoft/playwright/issues/22721
2023-05-10 05:13:04 -07:00
Pavel Feldman
5e0574dc44
chore: list attachments in the trace (#22919)
Fixes https://github.com/microsoft/playwright/issues/22736
2023-05-09 17:53:01 -07:00
Dmitry Gozman
cd49f5c466
feat(typescript): align with --moduleResolution=bundler (#22887)
This relaxes import requirements and allows importing `.ts` files
without an extension in CJS and ESM modes.

Fixes #22169.
2023-05-09 16:26:29 -07:00
Pavel Feldman
b10cc03314
chore: render parse errors in the UI mode (#22888)
Fixes: https://github.com/microsoft/playwright/issues/22863
2023-05-08 18:51:27 -07:00
Pavel Feldman
9771b1ee74
chore: show steps for fixtures (#22860)
Fixes https://github.com/microsoft/playwright/issues/22565
2023-05-06 10:25:32 -07:00
Dmitry Gozman
03616e976e
fix(deps): --repeat-each should not apply to dependencies (#22858)
Fixes #21778.
2023-05-05 16:59:39 -07:00
Pavel Feldman
efad19b332
chore: render test steps in the trace (#22837) 2023-05-05 15:12:18 -07:00
Pavel Feldman
78203bf48d
chore: ensure error location is present (#22804)
Partial fix for https://github.com/microsoft/playwright/issues/22782
2023-05-03 18:45:33 -07:00
Dmitry Gozman
4edd023644
fix(tsconfig): fallback to default *:* path mapping when baseUrl is present (#22802)
According to
https://www.typescriptlang.org/docs/handbook/module-resolution.html#base-url,
`baseUrl` affects all non-relative imports. Additional `paths` mapping
can be specified for more control. However, if none of the `paths`
matches, it still falls back to the default `*:*` mapping. Confirmed by
invoking `tsc` with different configs.

Fixes #22663.
2023-05-03 16:08:06 -07:00
Pavel Feldman
9a61a55ea1
chore: nest api steps by time (#22801)
Fixes https://github.com/microsoft/playwright/issues/22786
2023-05-03 16:04:20 -07:00
Yury Semikhatsky
2233b352b6
fix(merger): pass onError to the reporter (#22775) 2023-05-03 09:08:09 -07:00
Dmitry Gozman
10ce7af411
fix(steps): step should not get an unrelated error (#22773)
Previously, we would use any error that was added during the step
execution as an error for this particular step.

This produces false positives, for example failing `page.click` call
that happened during `context` teardown was producing an error and
marking teardown is failed. However, in reality, the test itself has
failed, while teardown has not.

New approach uses test step hierarchy to inherit errors from child steps
to the parent step. This does not regress the original fix where
`expect.soft` errors are surfaced in the parent step.

See also #19973 that introduced the original logic.
2023-05-02 18:50:00 -07:00
Dmitry Gozman
8f09935e81
fix(test runner): separate test fixture scope for beforeAll/afterAll hooks (#22746)
There was a single test fixture scope that covers all hooks, modifiers
and test function. Now beforeAll-like modifiers, beforeAll and afterAll
hooks get a scope each.

Fixes #22256.
2023-05-02 11:04:51 -07:00
Yury Semikhatsky
a4e90f20dc
fix(runner): do not hang on worker exit before tests (#22742) 2023-05-01 14:54:48 -07:00
Dmitry Gozman
fcd966c4e5
chore: make _setupArtifacts a worker-scoped fixture (#22739)
This should unblock having separate test-fixture scopes for hooks and
test.
2023-05-01 13:53:15 -07:00
Yury Semikhatsky
59079d94ca
fix: call onExit when merging reports (#22718) 2023-05-01 12:58:40 -07:00
Pavel Feldman
297fea0826
chore: purify the junit reporter (#22624) 2023-05-01 09:15:08 -07:00