Dmitry Gozman
b0fbe058ae
feat: TestProject.ignoreSnapshots ( #30466 )
2024-04-22 16:16:38 -07:00
Dmitry Gozman
b9e5a934ee
test: make expectations readable for more step reporting tests ( #30468 )
2024-04-22 15:30:51 -07:00
Yury Semikhatsky
1d786c804d
chore: generate globalTimeout and maxFailures errors in runner ( #30467 )
...
Generate 'global timeout' and 'max failures' errors in the runner. Avoid
reading `config.globalTimeout` and `config.maxFailures` in the base
reporters.
Reference https://github.com/microsoft/playwright/issues/29768
2024-04-22 14:00:16 -07:00
Dmitry Gozman
4a275b8eca
feat: expect(locator).toHaveAccessibleDescription ( #30463 )
...
References #18332 .
2024-04-22 12:33:30 -07:00
Dmitry Gozman
4046d154ae
test: unflake and enable some Firefox tests ( #30461 )
...
Fixes #30399 .
2024-04-22 11:25:10 -07:00
Playwright Service
dd1a9f5e96
feat(chromium): roll to r1115 ( #30449 )
2024-04-20 18:42:22 +02:00
Max Schmitt
a932222662
fix(highlight): highlight Top Layer elements ( #30001 )
2024-04-20 08:51:16 +02:00
Dmitry Gozman
9b6627a063
feat(role): roll and pass WPT accname tests, calculate description ( #30434 )
...
There are new "non-manual" WPT accname tests that we now mostly pass,
which required a few tweeks in calculating role and name.
Also implemented accessible description computation, which is just a
small addition on top of accessible name, and passed respective wpt
tests.
References #18332 .
2024-04-19 12:49:49 -07:00
Yury Semikhatsky
8c181f7e2b
fix: rebuild project tree from scratch when listing tests ( #30407 )
...
Instead of filtering tests assuming there are no two projects with same
name we always rebuild test tree from scratch and restore previos test
results in the list mode.
Fixes https://github.com/microsoft/playwright/issues/30396
2024-04-18 16:49:07 -07:00
Dmitry Gozman
eea1f9984f
feat: expect(locator).toHaveAccessibleName ( #30420 )
...
References #18332 .
2024-04-18 12:28:55 -07:00
Andrey Lushnikov
bdf95186f0
test: add test for tab blurring in firefox ( #30418 )
...
References https://github.com/microsoft/playwright/issues/30399
2024-04-18 10:49:09 -07:00
Dmitry Gozman
103ec90751
fix(role): align presentation role conflict resolution with the spec ( #30408 )
...
See
https://www.w3.org/TR/wai-aria-1.2/#conflict_resolution_presentation_none
Fixes #26809 .
2024-04-18 08:53:31 -07:00
Dmitry Gozman
984182bd53
fix(role): embedded control inside the target element ( #30403 )
...
According to the spec, such controls should use the native value as long
as they have "aria-label". The relevant spec section is 2D.
However, there is an open issue that claims this should always apply,
and all browsers and wpt test actually do that:
https://github.com/w3c/accname/issues/64 .
Fixes #28848 .
2024-04-17 12:25:08 -07:00
Dmitry Gozman
b72e3a3eba
fix(role): explicitly hidden aria-labelledby should be recursively traversed ( #30402 )
...
The accessible name computation spec has changed to explicitly mention
this case:
Step 2A. Hidden Not Referenced. If the current node is hidden and is:
- Not part of an aria-labelledby or aria-describedby traversal, where
the node directly referenced by that relation was hidden.
- Nor part of a native host language text alternative element (e.g.
label in HTML) or attribute traversal, where the root of that traversal
was hidden.
See https://w3c.github.io/accname/#computation-steps . Chromium, Firefox
and Safari all agree with the spec.
Fixes #29796 .
2024-04-17 11:22:09 -07:00
Yury Semikhatsky
cda1c945af
test: web assertion inside expect.poll ( #30391 )
...
Reference https://github.com/microsoft/playwright/issues/30322
2024-04-16 17:37:25 -07:00
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
6ad48fb594
chore: make step test expectations readable ( #30362 )
...
Reference https://github.com/microsoft/playwright/issues/30322
2024-04-13 20:07:18 -07:00
Yury Semikhatsky
c4418875d3
chore: do skip failing test ( #30361 )
2024-04-12 15:47:13 -07:00
Yury Semikhatsky
dc1077c5a2
test: steps inside expect.toPass ( #30359 )
...
Reference https://github.com/microsoft/playwright/issues/30322
2024-04-12 14:51:10 -07:00
Max Schmitt
a467312731
fix(snapshotter): remove noscript when javaScriptEnabled is undefined ( #30355 )
2024-04-12 20:26:52 +02: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
96053ed0b5
Revert "fix(reuse): reset Origin Private File System API ( #29921 )" ( #30342 )
...
This reverts commit 048d6669fd .
This change caused the crash for
https://github.com/microsoft/playwright/issues/30339#issuecomment-2049870789 .
If we don't execute this code, it does not crash.
Reverting it for now until the Chromium fix lands in Beta/Stable.
2024-04-11 19:07:15 +02:00
Max Schmitt
bff9f30b6f
test: add test for 'should parse cookie with large Max-Age correctly' ( #30323 )
2024-04-10 22:13:01 +02: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
Sander
1a34c85886
chore(ct): bump vite to v5.2.8 ( #30264 )
2024-04-08 09:48:05 +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
Dmitry Gozman
e18a358bc6
test: check that ESM loader works without config with type:module ( #30258 )
2024-04-05 07:03:27 -07:00
Dmitry Gozman
5d810f1e07
chore: roll stable test runner to 1.43.0-beta-1712217576000 ( #30250 )
...
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2024-04-04 11:26:03 -07:00
Dmitry Gozman
d5907f4b13
feat(junit): includeProjectInTestName option ( #30233 )
...
Fixes #30246 .
2024-04-04 11:04:51 -07:00
Max Schmitt
18b51308ff
test(svelte): migrate svelte-navigator to custom minimal router ( #30225 )
...
Repro: `cd tests/components/ct-svelte && rm -rf node_modules
package-lock.json && npm i && npx playwright test --project=chromium`
Follow-up based on
https://github.com/microsoft/playwright/pull/28624#issuecomment-1858608101 .
Svelte has no router by default, only SvelteKit - so lets remove the
package which is not maintained anymore and not recommended.
2024-04-04 16:01:08 +02:00
Max Schmitt
43745210a5
fix(trace-viewer): exit if given trace.zip does not exist ( #30222 )
2024-04-03 18:47:03 +02: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
Dmitry Gozman
6d56b453ff
fix(connect): include websocket close reason in the error message ( #30203 )
...
When websocket disconnects during `browserType.connect()` call, the
error looks like this now:
```
browserType.connect: Custom error message received over WebSocket
```
Previously, it was a generic error:
```
browserType.connect: Target page, context or browser has been closed
```
2024-04-01 21:05:33 -07:00
Peng Xiao
cc881fdb1f
fix: content editable retarget ( #29792 )
...
If `contenteditable` is wrapped into a button or `[role=button]`,
`element.fill` will incorrectly retarget the closest button element.
fix https://github.com/microsoft/playwright/issues/29813
2024-04-01 13:03:09 -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
Andrey Lushnikov
4781b3c3a8
fix(firefox): disable cache when request interception is enabled ( #30113 )
...
Fixes #30000
2024-03-28 10:25:37 -07:00
Yury Semikhatsky
021c5c108c
chore: revert support of duplicate form data fields in multipart post data ( #30127 )
...
We want to adopt FormData API for the requests.
This is a revert of 4b3c596874 and
a849ea9741
Reference https://github.com/microsoft/playwright/issues/28070
2024-03-26 12:36:35 -07:00
Dmitry Gozman
dd1eca2a9d
fix(trace viewer): show correct number of pages without screencast ( #30124 )
...
Exposed by the flaky "should open two trace files" test.
2024-03-26 10:25:12 -07:00
Pavel Feldman
2de8a6b002
chore: move filter params into the clearCookies ( #30111 )
2024-03-26 08:12:26 -07:00
Andrey Lushnikov
397244c026
test: add a test for disabled cache with context-wide request interception ( #30072 )
...
References #30000
2024-03-25 22:03:24 -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
Yury Semikhatsky
a849ea9741
feat(fetch): multiple fields with the same name in post data ( #30104 )
...
Rerefence https://github.com/microsoft/playwright/issues/28070
2024-03-25 15:39:45 -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
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
Max Schmitt
e69355a6e2
test: skip 'should fulfill with gzip and readback' on Electron and Android ( #30103 )
2024-03-25 19:35:44 +01: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
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
Dmitry Gozman
c8e8d8f8bb
test: fulfilling with gzip should allow to read the body ( #30065 )
...
Fixes #29261 .
2024-03-22 13:32:28 -07:00
Dmitry Gozman
c1400a3db5
Revert "feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )" ( #30064 )
...
This reverts commit 1bb463163b . Decided to
wait for a better VRT story.
References #29250 .
2024-03-22 13:26:22 -07:00
Yury Semikhatsky
a511731f55
fix(html): keep projects from different bots separate ( #30051 )
2024-03-22 10:02:00 -07:00
Dmitry Gozman
348d0c2bfa
test: can register service workers in an iframe ( #30045 )
...
References #29267 .
2024-03-21 15:34:23 -07:00
Dmitry Gozman
ef57489cf9
test: iframe is covered by service workers ( #30042 )
...
References #29267 .
2024-03-21 11:27:27 -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
Yury Semikhatsky
69e90f38c7
fix(codegen): import re in python ( #30026 )
...
Fixes https://github.com/microsoft/playwright/issues/30019
2024-03-20 16:38:28 -07:00
Yury Semikhatsky
69f2ae1e4d
test: intercepted requests bypass disk cache ( #30011 )
...
Reference https://github.com/microsoft/playwright/issues/30000
2024-03-20 15:43:29 -07:00
Max Schmitt
dd0b6f7ec5
test: generate debug controller channel ( #30018 )
2024-03-20 16:56:29 +01:00
Max Schmitt
911fd204cf
devops: fix WebView2 tests ( #30009 )
...
Turns out we were using version 119.0.2151.58 before where the tests are
failing. After this change we are using 122.0.2365.92.
Fixes https://github.com/microsoft/playwright/issues/29695
Relates https://github.com/actions/runner-images/issues/9538
2024-03-19 23:18:20 +01:00
Pavel Feldman
0a22a86e2e
chore: prepare to reuse test server from ui mode (5) ( #30005 )
2024-03-19 14:08:21 -07:00
Dmitry Gozman
1bb463163b
feat(codegen): add button to generate toHaveScreenshot statement ( #29996 )
...
Fixes #29250 .
2024-03-19 14:01:04 -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
Dmitry Gozman
70e6cdac57
feat: enterFrame/exitFrame ( #29992 )
...
This introduces `Locator.enterFrame()` and `FrameLocator.exitFrame()` to
convert between locator and frame locator.
Fixes #29336 .
2024-03-18 13:42:08 -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
Pavel Feldman
6faadf5160
chore: prepare to reuse test server from ui mode ( #29965 )
2024-03-18 09:50:11 -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
Max Schmitt
5bc6ca6345
fix: allow disposing ElementHandles multiple times ( #29953 )
...
Fixes https://github.com/microsoft/playwright/issues/29945
2024-03-15 16:26:56 +01:00
Max Schmitt
7cbef691ae
fix: throw error if setInputFile does not exist ( #29944 )
...
Fixes https://github.com/microsoft/playwright/issues/29941
2024-03-14 20:27:33 +01:00
Max Schmitt
93dc89fa1f
test: add file upload test case with popup handling ( #29937 )
...
https://github.com/microsoft/playwright/issues/29923
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2024-03-14 19:26:42 +01:00
Dmitry Gozman
349b25e61a
fix(storageState): try to collect storage state on existing pages first ( #29915 )
...
This helps in a case where navigating to an origin fails for some
reason, for example because a registered service worker loads some
content into the supposedly blank page.
Fixes #29402 .
2024-03-12 19:20:35 -07:00
Yury Semikhatsky
166d2d4fde
chore: separate results for repeated snapshot names ( #29880 )
...
Reference #29719
2024-03-12 16:10:43 -07:00
Max Schmitt
38fc74db7c
fix: postDataJSON with application/x-www-form-urlencoded; charset=UTF-8 ( #29889 )
...
Fixes https://github.com/microsoft/playwright/issues/29872
2024-03-12 17:20:39 +01:00
Yury Semikhatsky
59228f19ce
fix: tty.WriteStream method stubs for process.stdout/stderr ( #29865 )
...
Fixes #29839
2024-03-11 10:11:16 -07:00
Max Schmitt
94e61fc95a
test: bump ct typescript version ( #29855 )
2024-03-11 17:09:26 +01: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
875ce1cf09
fix(chromium): use blockedReason as failure reason when available ( #29849 )
...
This covers blocked requests, e.g. mixed-content, that receive
`loadingFailed` with empty `errorText`.
Also, forcefully resolve `allHeaders()` in this case, since we know
there will be no actual network headers.
Fixes #29833 .
2024-03-07 14:07:04 -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
Max Schmitt
291567b922
test(remove-cookie): do not rely on external websites for tests ( #29811 )
...
Fixes https://github.com/microsoft/playwright/issues/29795
2024-03-04 23:49:12 +01:00
Rui Figueira
73ffaf65d7
fix(codegen): fill action prevents omnibox navigation recording ( #29790 )
...
This PR is a fix proposal for a bug when trying to record a omnibox
navigation after a recorded action (e.g., `fill`).
The following test, included in this PR, reproduces the problem:
```ts
test('should record omnibox navigations after recordAction', async ({ page, openRecorder, server }) => {
const recorder = await openRecorder();
await recorder.setContentAndWait(`<textarea></textarea>`);
await Promise.all([
recorder.waitForOutput('JavaScript', 'fill'),
page.locator('textarea').fill('Hello world'),
]);
// for performed actions, 5 seconds is the time needed to ensure they are committed
await page.waitForTimeout(5000);
await page.goto(server.PREFIX + `/empty.html`);
await recorder.waitForOutput('JavaScript', `await page.goto('${server.PREFIX}/empty.html');`);
});
```
After performed actions (e.g., `click`), it successfully records the
navigation as long as there's at least a 5 sec. gap between both
actions. That happens because after that 5 sec. interval the performed
action is automatically commited and therefore the navigation is not
stored as a signal of that action.
The proposed fix for recorded actions also forces that action to be
automatically commited after 5 sec (for testing, I'm using 500ms to
speed up the test execution).
2024-03-04 12:31:03 -08:00
PaulTriandafilov
8e48ee714d
feat(playwright-core): add remove cookies api ( #29698 )
2024-03-02 07:27:01 -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
Dmitry Gozman
a8c26d235c
Revert "chore(role): cache element list by role ( #29130 )" ( #29765 )
...
This reverts commit 1ce3ca25a2 .
Added a regression test.
Fixes #29760 .
2024-03-01 09:37:28 -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
Dmitry Gozman
0f30cdab23
feat(firefox): roll ff and ff-beta to 1442 ( #29751 )
...
This requires changes in `FFPage`.
Also fixing a new ff-specific test that introduced flakiness on the
bots.
Closes https://github.com/microsoft/playwright/pull/29750
Closes https://github.com/microsoft/playwright/pull/29724
Closes https://github.com/microsoft/playwright/pull/29681
Closes https://github.com/microsoft/playwright/pull/29678
2024-02-29 14:44:45 -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
Dmitry Gozman
aedd7ca0be
chore: make CRNetworkManager handle multiple sessions ( #29721 )
...
It was already handling worker sessions, but not OOPIFs. As a result,
some functionality was properly implemented only for OOPIFs and not for
workers.
This change removes OOPIFs fanout for network-related calls from CRPage
and moves that to the CRNetworkManager, now also covering workers.
2024-02-28 15:51:27 -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
d48aadac7e
fix: point to the right cli program export ( #29715 )
...
Fixes: https://github.com/microsoft/playwright/issues/29711
2024-02-28 14:05:42 -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
Andrey Lushnikov
b183159fd0
test: add regression test for cross-context clicking ( #29668 )
...
References https://github.com/microsoft/playwright/issues/29096
2024-02-26 16:52:49 -08:00
Pavel Feldman
9d0430fa26
chore: strengthen linting ( #29669 )
2024-02-26 16:52:28 -08:00
Sander
015a1bcc1c
feat(ct): double unmounting component throws error ( #29650 )
2024-02-26 11:16:27 -08:00
Sander
7e502e91b2
fix(ct): solid pass children when they are defined ( #29648 )
2024-02-26 11:15:08 -08:00
Dmitry Gozman
d7c4ee901a
test: enable localhost proxy tests on webkit mac, unless bypass rules are set ( #29641 )
2024-02-23 14:27:30 -08:00
Jeppe Reinhold
4d868f6ba8
fix(ct-react+ct-react17): only pass children to React.createElement when they are defined ( #29592 )
2024-02-23 12:30:42 -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
Jean-François Greffier
6494bb30a0
JUnit codegen ( #29424 )
...
Codegen for JUnit
Fixes https://github.com/microsoft/playwright-java/issues/1039
Following JUnit5 integration
https://github.com/microsoft/playwright-java/issues/1369
2024-02-20 11:08:53 -08:00
Max Schmitt
84fefdaac6
fix(console-api): locator filter with hasText ( #29563 )
...
Relates https://github.com/microsoft/playwright/issues/29546
2024-02-20 17:35:11 +01: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
Max Schmitt
05e6b5b5c7
test: unflake electron tests ( #29520 )
2024-02-15 22:09:17 +01: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
Sylvain Finot
b11b118e02
feat(chromium): expose parameters to generate outline / tagged PDF ( #29494 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-02-15 17:28:04 +01:00
Pavel Feldman
217c0618df
chore: rename find-related-tests to find-related-test-files ( #29483 )
2024-02-13 15:40:49 -08:00
Yury Semikhatsky
2693614c7a
Revert "fix(chromium): best effort 304 status on reload ( #29373 )" ( #29481 )
...
This reverts commit 17bc8f9a15 .
Reference https://github.com/microsoft/playwright/issues/28779
Fixes https://github.com/microsoft/playwright/issues/29441
2024-02-13 11:43:04 -08:00
Pavel Feldman
7aef5249d8
chore: pass the private data to the runner via config ( #29467 )
2024-02-13 09:34:03 -08:00
Max Schmitt
8fca4c86aa
test: make Android/WebView2 bots green ( #29477 )
2024-02-13 17:55:58 +01:00
Max Schmitt
30557ed28c
fix(electron): stalling on delayed process close ( #29431 )
2024-02-13 10:25:46 +01: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
Max Schmitt
fe81790221
fix(accessibility): firefox with aria-invalid element ( #29462 )
...
Fixes https://github.com/microsoft/playwright/issues/29459
2024-02-12 12:12:31 -08:00
Max Schmitt
498b8bb269
fix(tracing): do not serialise out-of-process Buffers ( #29425 )
2024-02-12 21:03:38 +01:00
Max Schmitt
b15a7076dc
test: unskip 'msedge' tests ( #29456 )
...
This removes all msedge skips again and makes msedge equal with chromium
skip wise.
Fixes https://github.com/microsoft/playwright/issues/26711
2024-02-12 17:37:45 +01: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
Dmitry Gozman
f0244b8a76
chore: rename handleLocator to addLocatorHandler ( #29443 )
2024-02-09 15:18:50 -08:00
Yury Semikhatsky
7a86bf4af6
chore: delete store.ts ( #29423 )
2024-02-08 12:55:18 -08:00
Dmitry Gozman
61955e55b1
fix(handleLocator): address API review feedback ( #29412 )
...
- docs improvements;
- `force: true` ignores `handleLocator`;
- wrapping an internal call;
- more test cases;
- `pw:api` log entries for this API.
2024-02-08 07:39:05 -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
3abd7c808e
fix(connectOverCDP): send custom headers in /json/version request ( #29408 )
...
Fixes #29403 .
2024-02-07 17:41:21 -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
Yury Semikhatsky
721d84f17a
fix(har): do not throw on -1 status code ( #29371 )
...
Fixes https://github.com/microsoft/playwright/issues/29311
2024-02-06 10:17:29 -08:00
Pavel Feldman
20699c36ba
chore: simplify types handling in toHaveScreenshot ( #29374 )
2024-02-05 19:07:30 -08:00
Yury Semikhatsky
17bc8f9a15
fix(chromium): best effort 304 status on reload ( #29373 )
...
Reference https://github.com/microsoft/playwright/issues/28779
2024-02-05 16:56:42 -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
Max Schmitt
57d841ffae
test: vendor 'proxy' dependency ( #29370 )
...
Fixes https://github.com/microsoft/playwright/issues/28701
2024-02-05 21:57:14 +01:00
Max Schmitt
47f8ba2a04
feat(electron): expose ElectronApplication console events ( #29322 )
...
Fixes https://github.com/microsoft/playwright/issues/5905
2024-02-05 21:30:54 +01:00
Yury Semikhatsky
79e379fc11
chore: do not set metadata.error for expect failure results ( #29310 )
...
The metadata.error change was brought back in
https://github.com/microsoft/playwright/pull/29271and it broke java port
as we could have error and result set simulteniously. This PR moves the
logic to the trace recorder instead and keeps the protocol contract
clear that either error or result is present, but not both.
2024-02-02 16:41:08 -08: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
Rui Figueira
b88a008a87
feat(codegen): slider support ( #29087 )
2024-02-01 13:45:19 -08:00
Pavel Feldman
020a39860d
chore: polish network panel highlight ( #29299 )
...
Fixes https://github.com/microsoft/playwright/issues/29287
2024-02-01 13:44:26 -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
Max Schmitt
cf70a01836
test: should serialize storageState with lone surrogates ( #29089 )
...
https://github.com/microsoft/playwright-dotnet/issues/2819
2024-01-29 19:22:33 +01:00
Dmitry Gozman
acc72c2663
fix(codegen): assertValue works with disabled input ( #29205 )
...
Also add tests for new codegen functionality.
Fixes #29161 .
2024-01-27 14:54:22 -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
32034728ad
test: request overrides and routeFromHar ( #29200 )
...
Test that modifications from `route.fallback()` apply to the requests
before reading from/writing to HAR.
Reference https://github.com/microsoft/playwright/issues/29190
2024-01-26 15:19:01 -08:00
Max Schmitt
f741f08b3b
test: fix itest (follow up to #28932 )
2024-01-25 23:55:24 +01: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
Max Schmitt
4c4789c740
chore: validate deps during install ( #28932 )
...
Motivation: On Windows we call around 50 times `PrintDeps.exe` which
takes on a very fast machine 500+ms. On Linux we do it around 120 times
(`ldd`) which takes around 150ms.
This change validates the dependencies once on browser install (`npx
playwright install`). In case its failing, it will emit a warning, in
case of a success, it will create a marker file that the binary has been
validated. For future `launch()` calls, we'll read this file and if
exists, we'll not validate again. Otherwise we'll validate again.
Note: If the marker file is older than 30 days, the browser will be
validated again.
2024-01-25 20:55:53 +01:00
Pavel Feldman
6a14b1dc51
chore: automatically detect the dev server ( #29176 )
2024-01-25 11:46:47 -08:00
Dmitry Gozman
f5de6e5538
feat(codegen): generate multiple selectors to choose from ( #29154 )
...
When possible, "pick locator" generates:
- default locator;
- locator without any text;
- locator without css `#id`.
Fixes #27875 , fixes #5178 .
2024-01-25 07:35:58 -08:00
Dmitry Gozman
bc83d7084c
fix(chromium): emulate navigator.userAgentData along with UA ( #29159 )
...
Fixes #28989 , fixes #29139 .
2024-01-25 07:34:11 -08:00
Pavel Feldman
cec2ff1772
chore: split cli processing into cli endpoint and program ( #29131 )
2024-01-23 15:22:09 -08:00
Dmitry Gozman
8e607d509f
fix(recorder): disallow external imports ( #29129 )
...
Previously, new `Recorder` instance was given an existing
`InjectedScript`. However, we built a separate source for
`InjectedScript` vs `Recorder`, and both bundles contain their own copy
of all helper modules, e.g. `roleUtils`.
This resulted in two copies of helper modules, which is troublesome for
any module-level globals like a top-level cache. Depending on whether
`Recorder` or `InjectedScript` called into the helper, they would access
the different value of a module global, which lead to bugs.
To prevent this, we force any external dependencies to be imported
through the `InjectedScript.utils`.
2024-01-23 11:29:40 -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
Yury Semikhatsky
b2de9bc865
fix: mock safari.pushNotification ( #29107 )
...
Fixes https://github.com/microsoft/playwright/issues/29032
2024-01-22 15:44:13 -08:00
Pavel Feldman
d61f99034a
fix(ct-react): do not reset mount hooks upon update ( #29072 )
...
Fixes https://github.com/microsoft/playwright/issues/29058
2024-01-19 12:55:36 -08:00
Dmitry Gozman
f3fac6f4e9
feat: page.handleLocator that closes any interstitial pages/dialogs ( #29029 )
2024-01-19 12:35:00 -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
Max Schmitt
e551506c9e
Revert "feat(codegen): add range input recording support ( #28767 )" ( #29069 )
2024-01-19 19:47:59 +01:00
Pavel Feldman
4010940315
chore: move off babel proposals to plugins ( #29053 )
2024-01-18 17:50:52 -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
d023829dd5
fix(locator parser): allow escaped quotes in the digest function ( #29012 )
...
This supports mixed quotes locators in JavaScript where we are not sure
what quote is the correct one, so we normalize to unescaped single quote
when comparing with the original.
Drive-by: we were allowing single quotes in Python, Java and .NET, but
these are actually not allowed.
Regressed in #27718 .
Fixes #28630 .
2024-01-16 16:06:02 -08:00
Dmitry Gozman
9b657b54fb
fix(launcher): unregister global process handlers when all browser are closed ( #29011 )
...
Otherwise, we forever block SIGTERM and SIGHUP by registering a handler
that does not do anything (due to no browsers to close) and prevents
default handler that exits from running.
Fixes #28091 .
2024-01-16 14:41:26 -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
Dmitry Gozman
48317af1cc
feat(trace): preserve noscript when javascript is disabled ( #28971 )
...
Closes #27504 , closes #27532 .
2024-01-12 12:11:39 -08:00
Yury Semikhatsky
8936885a67
fix(chromium): preserve header overrides in redirects ( #28962 )
...
Reference https://github.com/microsoft/playwright/issues/28758
2024-01-12 08:55:20 -08:00
Pavel Feldman
a0750b7854
chore: network panel polish ( #28924 )
2024-01-10 15:28:33 -08:00
Dmitry Gozman
3851d9b897
test: make sure asLocator works with has+hasText at the same time ( #28937 )
2024-01-10 12:42:55 -08:00
Max Schmitt
0f3bd9835f
test: update 'proxy' dependency to v2 ( #28895 )
...
This won't fix it yet, but prepare for a smaller version bump once the
upstream fix has been merged.
https://github.com/microsoft/playwright/issues/28701 .
2024-01-08 19:57:46 +01:00
Max Schmitt
1d8c6d4760
test: unflake 'android.launchServer' WS leak test ( #28891 )
...
This test was flaky all the time. The problem was that we were sending
messages on a WS connection which wasn't ready yet, so we lost some.
2024-01-08 19:07:06 +01:00
Yury Semikhatsky
1617779f3e
test: page.reload should return 304 status ( #28881 )
...
Test for https://github.com/microsoft/playwright/issues/28779
2024-01-05 13:49:45 -08:00
Sander
eebb69121e
fix(ct): vue update slots ( #28835 )
...
Due to [Vue 3.4](https://blog.vuejs.org/posts/vue-3-4 ): _"refactored
reactivity system that makes effect triggering more accurate and
efficient"_
closes: https://github.com/microsoft/playwright/issues/28830
2024-01-03 20:48:41 +01:00
Max Schmitt
58fa4fce74
fix: use logger in default context with connectOverCDP ( #28838 )
...
Fixes https://github.com/microsoft/playwright/issues/28813
2024-01-03 19:49:47 +01:00
Max Schmitt
abc746bd7a
chore: get rid of 'electron-to-chromium' dependency ( #28826 )
2024-01-03 19:49:37 +01:00
Sander
df4b11c169
fix(ct): react17 eslint errors ( #28783 )
2023-12-30 17:29:20 -08:00
Rui Figueira
778828cc43
feat(codegen): add range input recording support ( #28767 )
2023-12-30 17:22:57 -08:00
Sander
4d62784eeb
feat(ct): react component as props ( #28382 )
...
closes: https://github.com/microsoft/playwright/issues/28367#issuecomment-1830298864
2023-12-22 20:51:59 -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
Yury Semikhatsky
b00fbdb388
test: update expectations for WebKit Windows ( #28774 )
...
Reference https://github.com/microsoft/playwright/issues/28726
2023-12-22 16:02:23 -08:00
Yury Semikhatsky
32ecb07f64
test: route.continue headers are propagated to redirected requests ( #28771 )
...
Failing test for https://github.com/microsoft/playwright/issues/28758
2023-12-22 14:31:41 -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
Yury Semikhatsky
ff99aa33b0
fix: input events triggered by playwright actions should have composed=true ( #28730 )
...
Fixes https://github.com/microsoft/playwright/issues/28726
2023-12-21 15:25:16 -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
Ben McCann
bbf588a992
feat(ct): upgrade to vite-plugin-svelte 3 ( #28624 )
2023-12-19 19:48:37 +01:00
Yury Semikhatsky
afc1ac7063
fix: errors in evaluate should be JavaScriptErrorInEvaluate ( #28706 )
...
Fixes https://github.com/microsoft/playwright/issues/28690
2023-12-19 10:47:43 -08:00
Sander
aaf9cc5b49
fix(ct): solid typecheck ( #28686 )
2023-12-16 12:42:50 -08:00
Max Schmitt
576b3406e3
test: tree gardening ( #28676 )
...
Looks like massaging the signals test in
8ab0660d1b (diff-f9d332d27364a8a58e52f5d7ffc180df7581589565b62186757b21839aabf889)
didn't make it fully green.
As of today it fails on Darwin 13 which is version 22, so we should not
run into the first if.
2023-12-15 17:39:31 -08:00
Yury Semikhatsky
a1a4133152
chore: extract unroute behavior tests into a separate file ( #28674 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 15:37:57 -08:00
Max Schmitt
35b61b7cdf
test: use net8.0 for webview2 tests ( #28665 )
2023-12-15 13:03:33 -08:00
Max Schmitt
39bdbbf029
test: codegen #28663 follow-up ( #28673 )
2023-12-15 12:05:13 -08:00
Max Schmitt
44c3ad5ceb
chore: make csharp library codegen more csharp like ( #28663 )
2023-12-15 10:24:26 -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
Yury Semikhatsky
d1e13557fb
test: fulfill/continue/fallback do not throw if page has been closed ( #28659 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 09:45:13 -08:00
Yury Semikhatsky
d89837c58e
chore: revert noWaitForFinish option, page.close does not wait for ro… ( #28658 )
...
…ute handlers
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-15 09:00:12 -08:00
Yury Semikhatsky
f28ceffa37
feat: page.unrouteAll and context.unrouteAll ( #28635 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-14 13:48:17 -08:00
Dmitry Gozman
35e8c440c2
fix(dispatchers): separate gc bucket for main frame, increased limit ( #28629 )
...
- Keep main frames in a separate bucket, so that page methods that
redirect to the main frame continue to work.
- Increase default dispatchers limit to `10_000`.
- Increase dispatchers limit for `JSHandle`/`ElementHandle` to
`100_000`.
Fixes #28320 , #28503 .
2023-12-14 10:42:08 -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
66e056c306
fix: disable PaintHolding to be able to click in oopifs ( #28604 )
...
Fixes https://github.com/microsoft/playwright/issues/28023
2023-12-12 12:20:44 -08:00
Pavel Feldman
76ace0fc09
chore: workaround webkit screenshot animation issue ( #28582 )
2023-12-11 18:20:24 -08:00
Andrey Lushnikov
dd9028cfe2
test: fix browsercontext-basic offline test ( #28558 )
...
Since the last firefox roll, firefox now does internal redirect to the
error page when it's been forced into offline mode.
2023-12-08 15:26:24 -08:00
Dmitry Gozman
532e4c5802
test: add a test for issue 28520 ( #28552 )
...
References #28520 .
2023-12-08 10:55:26 -08:00
Andrey Lushnikov
8d3a931377
feat(firefox): roll FF Stable & Beta to 1433 ( #28543 )
...
Fixes #28495
2023-12-08 10:48:44 -08:00
Max Schmitt
736c0efd43
chore: use more explicit awaits when returning in client ( #28443 )
2023-12-07 20:13:35 -08:00
Yury Semikhatsky
119afdf788
fix: throw if fuliflled with unsupported status code ( #28539 )
...
If request gets cancelled by the page before we fulfill it, we receive
`loadingFailed` event. In that case we'll ignore interception error if
any, otherwise the error will be propagated to the caller.
Fixes https://github.com/microsoft/playwright/issues/28490
2023-12-07 16:57:39 -08:00
Dmitry Gozman
d587435efa
feat(trace): show target point for raw mouse apis ( #28459 )
...
Fixes #27931 .
2023-12-07 06:27:49 -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
Max Schmitt
2d2c270388
chore: mark outofprocess connection not as remote ( #28156 )
2023-12-06 17:58:19 -08:00
Yury Semikhatsky
2adfbf24a9
chore: roll stable test runner ( #28523 )
2023-12-06 14:21:01 -08:00
Max Schmitt
8ab0660d1b
test: skip webgl tests on macOS-arm64 ( #28522 )
...
Fixes https://github.com/microsoft/playwright/issues/28216 .
Drive-by: adjust signals expectation.
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-12-06 13:52:49 -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
Yury Semikhatsky
8f056fbbce
chore: do not wait for route on close if route.continue() threw an error ( #28487 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-05 10:26:17 -08:00
Yury Semikhatsky
d437e26861
test: sync XHR interception ( #28462 )
...
The test now ensures that the request is actually continued.
Reference https://github.com/microsoft/playwright/issues/28461
2023-12-05 09:58:15 -08:00
Yury Semikhatsky
74e51d334e
feat: wait for active route handlers on page/context close ( #28414 )
...
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 16:19:05 -08:00
Yury Semikhatsky
ab68d7b9de
fix(webkit): delay request event until requestIntercepted is received ( #28484 )
...
Previously we were wrongly firing `route` event for the request which
are not in fact intercepted (e.g. requests from service worker).
Related https://github.com/microsoft/playwright/pull/28414
Reference https://github.com/microsoft/playwright/issues/23781
2023-12-04 13:02:00 -08:00
Pavel Feldman
facec88c99
fix: speed up caret hiding while screenshotting ( #28460 )
...
Fixes #28375
2023-12-03 21:06:40 -08:00
Yury Semikhatsky
b166189247
fix: disable memory cache when intercepting in webkit ( #28458 )
2023-12-01 14:49:27 -08:00
Max Schmitt
f44ef81af7
fix(snapshot): broken snapshot after use of setInputFiles ( #28444 )
2023-12-01 09:38:50 -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
Yury Semikhatsky
15a8ba5158
fix(route): correctly remove expired handlers ( #28385 )
...
* Check if handler is still in the route list before calling it
* Check if the handler is still in the list before removing it after
`times` expiration
2023-11-28 17:52:16 -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
Sander
f58c1f37eb
fix(ct): empty slots or children ( #28225 )
...
closes: https://github.com/microsoft/playwright/issues/28212
2023-11-27 15:53:50 -08:00
Yury Semikhatsky
dc8ecc3ca4
fix(merge): normalize path separators when merging across platforms ( #28227 )
2023-11-27 12:43:56 -08:00
Max Schmitt
958e45316e
test(itest): add CDN TCP connection hangs test ( #28301 )
2023-11-22 22:39:59 +01:00
Max Schmitt
2f1b0d6ff7
fix(install): hang on server side connection close ( #28278 )
2023-11-22 20:26:21 +01:00
Pavel Feldman
3f55587dd8
feat(vrt): bring back wait for font loading ( #28226 )
2023-11-17 17:16:32 -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
Dmitry Gozman
11bf96fe98
test: unflake a few tests ( #28205 )
2023-11-16 16:31:42 -08:00
Dmitry Gozman
738155d85d
fix(dispatcher): only remove stale dispatcher after sending "create" ( #28176 )
...
Otherwise, we might dispose objects referenced in the initializer of the
new object being created, which triggers an exception on the client.
2023-11-16 15:07:43 -08:00
Max Schmitt
ff706ec8bd
test: skip Intl.ListFormat test on ubuntu20.04 ( #28185 )
...
It was failing across the Ubuntu 20.04 bots:

This is most likely because on Ubuntu 20 libicu-dev has version 66.1.
And according to
https://wksearch.azurewebsites.net/#path=%2Fhome%2Fjoe%2Fwebkit%2FSource%2FJavaScriptCore%2Fruntime%2FIntlListFormat.h&line=32
the ListFormatter requires 67 which is the case in Ubuntu 22 (70).
2023-11-16 20:39:32 +01: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
Max Schmitt
ee1e6cd72f
test: unskip service tests ( #28170 )
2023-11-16 20:14:55 +01:00
Dmitry Gozman
19cfd0cc5e
chore: roll stable-test-runner to 1.40.0-beta-1700102862000 ( #28192 )
2023-11-16 10:14:56 -08:00
Yury Semikhatsky
85438edb97
test: Intl.ListFormat is working in playwright all browsers ( #28178 )
...
Fixes https://github.com/microsoft/playwright/issues/23978
2023-11-15 18:47:42 -08:00
Pavel Feldman
25b9c4eb4a
chore: do not lose error name for js errors ( #28177 )
2023-11-15 18:27:32 -08:00
Max Schmitt
7ffcb42551
test: fix 'exposeFunction should not leak' in video mode ( #28169 )
...
This is like how we do it with the other channel tests. In video mode we
produce artifacts so we need to add them to our expectation.
2023-11-15 21:48:47 +01:00
Max Schmitt
b66839b039
fix(exposeFunction): exposeFunction should not leak client side BindingCalls ( #28163 )
...
This should already make it a bit better. There is more going on tho.
https://github.com/microsoft/playwright/issues/28146
2023-11-15 17:15:25 +01:00
Dmitry Gozman
bf4c315b09
fix(types): explicit ExpectMatcherState type, optional Expect arg ( #28119 )
...
Fixes #28035 .
2023-11-13 18:37:50 -08:00
Dmitry Gozman
16aee8b5d0
fix(codegen): comment-out generated expects for library scripts ( #28118 )
...
- reverts "fix(codegen): generate expect import for library
(https://github.com/microsoft/playwright/pull/28107 )";
- comments-out generated expects.
2023-11-13 16:56:27 -08:00
Max Schmitt
8b1c637c16
fix(codegen): generate expect import for library ( #28107 )
2023-11-13 21:54:30 +01:00
Dmitry Gozman
120f0228c5
feat(selector generator): try improving text candidate with heuristics ( #28074 )
...
- Drop number-like prefixes and/or suffixes.
- Trim long texts to a word boundary around 15-25 character.
2023-11-13 11:30:16 -08:00
Mattias Wallander
c6d154f9c4
feat: Add support for dispatching device motion events ( #28067 )
...
References #27887 .
2023-11-13 08:58:46 -08:00
Max Schmitt
1aee48f2d0
test: COEP/COOP/CORP isolated iframe should work ( #28083 )
...
https://github.com/microsoft/playwright/issues/28082
2023-11-10 16:44:02 +01:00
Max Schmitt
2954e1263e
test: skip dispatchEvent(deviceOrientation) tests on Android ( #28077 )
...
Its [only available to
SecureContexts](https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/device_orientation/device_orientation_event.idl;l=34?q=device_orientation_event.idl&ss=chromium%2Fchromium%2Fsrc )
which our loopback in Android is not treated as a SecureContext.
We could either move it into the library tests, but then loose page test
coverage or just skip it. I decided for the latter.
Relates https://github.com/microsoft/playwright/pull/27960 .
2023-11-10 16:28:45 +01:00
Dmitry Gozman
62b6af3a7f
fix(android): respect recordHar option ( #28046 )
...
Fixes #28015 .
2023-11-09 08:36:05 -08:00
Dmitry Gozman
7f10fe935a
test: add a test for concurrent hover ( #28042 )
...
References #27969 .
2023-11-09 08:27:34 -08:00
Max Schmitt
5f527fedb1
fix: JSHandle preview text for non-ascii attributes/children ( #28038 )
...
This surfaced in .NET that the string in the driver got incorrectly cut,
then transferred to .NET as an invalid UTF8 character
[`\ud835`](https://charbase.com/d835-unicode-invalid-character ) which
.NET wasn't able to parse and threw an error.
Drive-by: Move similar function from
`packages/playwright-core/src/client/page.ts` into isomorphic
`stringUtils`.
https://github.com/microsoft/playwright-dotnet/issues/2748
2023-11-09 00:11:01 +01:00
Mattias Wallander
5a9fa69c6d
feat: Add support for dispatching device orientation events ( #27960 )
...
Fixes #27887
2023-11-08 09:50:25 -08:00
Max Schmitt
07d5093583
test: test gardening ( #28001 )
2023-11-07 08:47:15 -08:00
Pavel Feldman
87787dcc7d
chore: allow click close the page w/o errors ( #27994 )
2023-11-06 15:13:41 -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
Dmitry Gozman
f401a482d2
fix(codegen): consume pointer events alongside mouse events ( #27949 )
...
Fixes #27926 .
2023-11-03 13:41:51 -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
Pavel Feldman
817a130cdc
chore: dispose-based callback termination ( #27911 )
2023-11-01 16:36:39 -07:00
Max Schmitt
d983941447
test: locale/timeZone should affect Intl.DateTimeFormat() ( #27898 )
...
https://github.com/microsoft/playwright/issues/27802
2023-11-01 17:29:57 +01:00
Yury Semikhatsky
36c4c24f8a
fix: only convert input files for browser collocated with server ( #27873 )
...
Reference #27452
Fixes #27792
2023-11-01 08:40:12 -07:00
Max Schmitt
cff9ac04e4
fix: cross-origin Page.goto referer ( #27859 )
...
Fixes https://github.com/microsoft/playwright/issues/27765
2023-10-31 11:10:15 +01:00
Max Schmitt
08685a654a
test: using ServiceWorker on localhost over HTTPS ( #27863 )
2023-10-31 10:28:57 +01:00
Yury Semikhatsky
c7b6a76437
fix(fetch): throw when methods are called on disposed context ( #27868 )
...
Fixes #27822
2023-10-30 15:23:12 -07:00
Max Schmitt
59b8cf008e
fix(codegen): don't generate page.frame() calls anymore ( #27820 )
...
Fixes https://github.com/microsoft/playwright/issues/27650
2023-10-30 21:56:45 +01:00
Dmitry Gozman
f620828818
chore: allow PW_VERSION_OVERRIDE in tests ( #27861 )
2023-10-30 11:04:35 -07:00
Sander
1a34b6d211
fix(ct): solid render array as child ( #27849 )
...
closes:
https://github.com/microsoft/playwright/issues/27587#issuecomment-1762133376
related: https://github.com/microsoft/playwright/pull/27692
CC @dgozman
Co-authored-by: sand4rt <mbr@mbrs-MacBook-Air.local>
2023-10-28 11:22:10 -07:00
Sander
96787d2626
fix(ct): vue render array as slot ( #27851 )
...
partial fix for:
https://github.com/microsoft/playwright/issues/27587#issuecomment-1762133376
related: https://github.com/microsoft/playwright/pull/27692
CC @dgozman
Co-authored-by: sand4rt <mbr@mbrs-MacBook-Air.local>
2023-10-28 11:21:37 -07:00
Sander
3313381040
fix(ct): react render array as child ( #27692 )
...
Signed-off-by: Sander <info@mesander.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: mbr <mbr@mbrs-MacBook-Air.local>
2023-10-28 10:36:48 -07:00
Pavel Feldman
4d82d6801f
chore: render full pathname in network panel ( #27843 )
...
Fixes #27618
2023-10-27 14:14:24 -07:00
Dmitry Gozman
100d3b2601
fix(css parser): support nested builtin functions ( #27841 )
...
Things like `:nth-child(1 of :has(span:nth-last-child(3)))`.
Fixes #27743 .
2023-10-27 13:16:12 -07:00
Dmitry Gozman
88f30d1ce2
feat: support firefoxUserPrefs in launchPersistentContext ( #27840 )
...
Fixes #27773 .
2023-10-27 09:24:41 -07:00
Pavel Feldman
ff206bd9c1
chore: render time in the trace viewer log ( #27825 )
2023-10-26 14:45:15 -07:00
Pavel Feldman
778047facc
chore: stream trace viewer logs ( #27807 )
2023-10-26 11:15:43 -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
Yury Semikhatsky
0ade5aa9ad
fix: ignoreCase in toHaveAttribute ( #27809 )
...
Fixes #27795
2023-10-25 19:22:13 -07:00
Pavel Feldman
47733b04fb
chore: do not select after hooks automatically ( #27805 )
2023-10-25 17:05:06 -07:00
Max Schmitt
5f0d91a42c
test: add test for multipart keeping order ( #27787 )
...
Test for https://github.com/microsoft/playwright/issues/27720
2023-10-25 19:33:00 +02:00
Pavel Feldman
7de0ccd36e
chore: support await using for close() and dispose() ( #27766 )
...
This change assumes that the user has Node 18 with Symbol.dispose
available.
Fixes https://github.com/microsoft/playwright/issues/27141
2023-10-24 12:25:53 -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
Max Schmitt
fe7847b126
fix: require JSX inside PWT with pnpm ( #27744 )
...
Fixes https://github.com/microsoft/playwright/issues/27285
2023-10-23 22:48:12 +02:00
Yury Semikhatsky
5e51a734e7
fix: interrupt request.allHeaders()/response() on page.close() ( #27695 )
...
Reference https://github.com/microsoft/playwright/issues/27227
2023-10-23 12:45:35 -07:00
Pavel Feldman
5752a28f87
chore: make tests strict (1) ( #27731 )
2023-10-23 09:31:30 -07:00
Max Schmitt
f48861ddee
fix(inspector): highlight xpath/css locators without engine prefix ( #27742 )
...
Motivation: As of today when a user inspects a Locator which is a xpath,
it won't work if the user has not prefixed it with `xpath=` because we
internally compare the given with the generated locator.
Works: `locator('xpath=//div[contains(@class, "foo")]')`
Does not work: `locator('//div[contains(@class, "foo")]')`
Relates
https://github.com/microsoft/playwright/issues/27707#issue-1952360264
Fixes
https://github.com/microsoft/playwright-dotnet/issues/2718#issuecomment-1771073816
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-23 18:23:28 +02: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
Max Schmitt
6d7d37061d
fix(recorder): Locator picker had wrong initial language in language bindings ( #27706 )
...
**Description**
When a language port was using Inspector with the "Locator Picker"
feature, it only recognised JavaScript as a language by default. As a
workaround the user was able to click record, interact with the page and
then the language would be correctly used -> csharp e.g. would work in
the "Locator Picker".
**Why?**
Our language bindings are setting `PW_LANG_NAME=<sdkLanguage>` env var
-> good. Our recorder harness also uses this along its internal state
here:
b9b289b641/packages/playwright-core/src/server/recorder.ts (L369)
and it gets used here (no parameter means: we use the first language
aka. primary language):
b9b289b641/packages/playwright-core/src/server/recorder.ts (L95)
The only issue is that the Inspector frontend in the beginning does not
know which language it should use and pass over to the server side, it
then falls back to JavaScript.
**Proposed fix**
Instead of passing it over from the frontend to the server side, we just
always use it from the server side, aka. "currentLanguage". When the
user switches languages in the frontend, "currentLanguage" already gets
updated properly via the "fileChanged" event.
https://github.com/microsoft/playwright-dotnet/issues/2718
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-10-22 13:02:14 +02:00
Dmitry Gozman
d1d5fc67dc
fix(recorder): show action point in main frame only ( #27719 )
2023-10-20 20:58:09 -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
Sander
27daa5e7b1
fix(ct): solid render array as child ( #27715 )
2023-10-20 11:44:30 -07:00
Dmitry Gozman
6fe31ab52c
feat: support alternative quotes in js parseLocator() ( #27718 )
...
Fixes #27707 .
2023-10-20 08:42:29 -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
Max Schmitt
b1325c9208
fix(keyboard): event order for Escape key ( #27711 )
...
This test was failing in Chromium before this change.
Caused by
40d5e3a3c9/packages/playwright-core/src/server/chromium/crInput.ts (L54-L55)
which messes up the order of the protocol calls.
Fixes https://github.com/microsoft/playwright/issues/27709 .
2023-10-19 18:18:29 +02:00
Yury Semikhatsky
bd58c0d5d2
fix: preserve lastModified timestamp in setInputFiles ( #27671 )
...
Fixes #27452
2023-10-18 14:05:09 -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
Playwright Service
5262e5ab35
feat(chromium-tip-of-tree): roll to r1159 ( #27605 )
2023-10-17 22:41:23 +02:00
Pavel Feldman
d4296dbff4
chore: break dowload.path() to throw ( #27662 )
2023-10-17 12:56:56 -07:00
Max Schmitt
0a49c3dbb9
chore: bump @babel dependencies ( #27632 )
...
This fixes:
```
Run npm audit --omit dev
# npm audit report
@babel/traverse <7.23.2
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-[6](https://github.com/microsoft/playwright/actions/runs/6535308689/job/17744452034?pr=27631#step:10:7)[7](https://github.com/microsoft/playwright/actions/runs/6535308689/job/17744452034?pr=27631#step:10:8)hx-6x53-jw[9](https://github.com/microsoft/playwright/actions/runs/6535308689/job/17744452034?pr=27631#step:10:10)2
fix available via `npm audit fix`
node_modules/@babel/traverse
1 critical severity vulnerability
To address all issues, run:
npm audit fix
Error: Process completed with exit code 1.
```
2023-10-17 20:52:41 +02:00
Pavel Feldman
a54dbfdadf
chore: plumb the target close reason when test fails ( #27640 )
2023-10-16 20:32:13 -07:00
Yury Semikhatsky
4e845e7b1d
fix(fetch): JSON.stringify on client ( #27644 )
...
Fixes https://github.com/microsoft/playwright/issues/27602
2023-10-16 16:33:49 -07:00
Dmitry Gozman
e8b4c03e54
fix(chromium): do not cancel downloads when intercepting ( #27638 )
...
Fixes #27575 .
2023-10-16 15:12:52 -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
Yury Semikhatsky
b2dc0d2fbd
test: unskip "should keep selection in multiple pages" ( #27611 )
...
https://github.com/microsoft/playwright/pull/27609 fixed the
functionality in WebKit.
Fixes https://github.com/microsoft/playwright/issues/27475
2023-10-16 09:47:05 -07:00
Dmitry Gozman
fc32ca676b
feat: check client version on the server ( #27585 )
2023-10-13 21:02:30 -07:00
Yury Semikhatsky
80c408023e
test: unflake "should fail without credentials" ( #27606 )
...
Speculative fix. The test marked as failed => we reuse the browser
without closing the context.
2023-10-13 14:15:12 -07:00
Yury Semikhatsky
d6adfee7c0
test: update expectation on windows for "should reject if launched br… ( #27603 )
...
…owser fails immediately"
The test has been failing on Windows since
f212fd1a83
2023-10-13 14:02:55 -07:00
Yury Semikhatsky
bc59565d77
fix(webkit): support clipboard.readText ( #27581 )
...
Reference #27475
2023-10-13 09:10:35 -07:00
Pavel Feldman
f8a30fb726
chore: follow up to target close message
2023-10-12 14:58:19 -07:00
Yury Semikhatsky
9d76c09ddb
test: preserve selection when switching pages ( #27578 )
...
Reference https://github.com/microsoft/playwright/issues/27475
2023-10-12 12:52:06 -07: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
Dmitry Gozman
a5be8ce86a
test: unflake some more tests ( #27546 )
2023-10-11 10:34:11 -07:00
Dmitry Gozman
d05c865389
test: unflake a few tests ( #27519 )
2023-10-10 09:14:58 -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
Dmitry Gozman
40ba5ebc1d
test: unflake a launcher test in driver mode ( #27518 )
2023-10-09 14:52:05 -07:00
Dmitry Gozman
e8523abea5
test: mark some --headless=new tests as fixme ( #27516 )
2023-10-09 14:07:22 -07:00
Pavel Feldman
b807c974c3
chore: allow passing path to property in toHaveJSProperty ( #27495 )
...
Fixes https://github.com/microsoft/playwright/issues/27487
2023-10-06 15:47:07 -07:00
Dmitry Gozman
0717b386f9
test: disable some failing tests ( #27463 )
2023-10-05 15:00:08 -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
Yury Semikhatsky
0eb7a09967
test: screenshot of css box-shadow ( #27438 )
...
Reference #21620
2023-10-04 17:26:01 -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
Dmitry Gozman
d426f2fd4e
fix(chromium): continue requests paused for the second time ( #27429 )
...
Sometimes Chromium restarts requests. This leads to multiple
`Fetch.requestPaused` for a single `Network.requestWillBeSent`.
Fixes #27294 .
2023-10-04 11:18:06 -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
47b0255b89
chore: instrument nested workers ( #27400 )
...
Ref: https://github.com/microsoft/playwright/issues/27376
2023-10-03 13:08:15 -07:00
Pavel Feldman
ae08d03d75
fix(role): compute <output> accessible name from labels ( #27415 )
...
Fixes: https://github.com/microsoft/playwright/issues/27403
2023-10-03 13:01:13 -07:00
Pavel Feldman
13cca1db3d
test: add a test for cdp w/ trace ( #27410 )
...
Closes https://github.com/microsoft/playwright/issues/27409
2023-10-03 13:00:35 -07:00
Dmitry Gozman
9116a81c17
test: add more installation test scenarios ( #27240 )
2023-10-02 21:10:26 -07:00
Dmitry Gozman
2aca7fdcc2
fix(chromium): scroll into view elements inside iframes before waiting ( #27394 )
...
This forces iframes to be visible, so that `rAF`s always run.
Fixes #27196 .
2023-10-02 17:21:06 -07:00
Dmitry Gozman
dfc75a1e1a
test: speed up installation tests by not isolating browser unless required ( #27370 )
2023-10-02 11:26:08 -07:00
Yury Semikhatsky
ac9d1ec421
test: scroll into view element in cross-origin iframe outside viewport ( #27369 )
...
Reference: #27196
2023-09-29 17:23:51 -07:00
Dmitry Gozman
55c4bb97af
chore: extract CDPSession on the server side, remove duplicate code ( #27349 )
...
This makes sure that protocol calls after target close are rejected
correctly.
2023-09-29 12:50:02 -07:00
Dmitry Gozman
81694b7401
test: unflake some tests ( #27354 )
2023-09-29 10:45:31 -07:00
Pavel Feldman
d136b0aeb6
feat(step): allow boxing steps ( #27334 )
2023-09-29 09:44:00 -07:00
Dmitry Gozman
08e71fec5d
test: add installation tests for supposed plugin story ( #27331 )
2023-09-28 17:18:22 -07:00
Dmitry Gozman
c8143748e6
chore: remove Page._didDisconnect ( #27317 )
...
Instead of having `didClose` based on page creation/destruction and
`didDisconnect` based on session lifetime, we make session lifetime
being managed by the `CRPage`/`FFPage`/`WKPage` instead.
2023-09-27 14:09:56 -07:00
Pavel Feldman
20f20e9fba
chore: use stock image matcher in library tests ( #27319 )
2023-09-26 18:46:21 -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
Pavel Feldman
ffd20f43f8
chore: dispose stale handles to prevent oom, 1000 of a kind max ( #27315 )
...
https://github.com/microsoft/playwright/issues/6319
2023-09-26 15:54:33 -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
9a5356f93b
fix(snapshot): invalidate style sheet upon CSSGroupingRule changes ( #27296 )
...
Previously, snapshotter listened to CSSStyleSheet modifications, but one
can also modify the list of rules inside CSSGroupingRule.
Fixes #27288 .
2023-09-25 14:34:17 -07:00
Dmitry Gozman
0f72ef0584
fix(streams): avoid leaking event listeners ( #27291 )
...
Fixes #26998 .
2023-09-25 10:59:14 -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
d6ec1ae399
chore: document chaining expect.extend ( #27262 )
...
Fixes https://github.com/microsoft/playwright/issues/15951
2023-09-22 13:56:59 -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
51a774f8a3
chore: include log in matcherResult ( #27164 )
2023-09-21 16:23:46 -07:00
Dmitry Gozman
1857a3fb56
fix(evaluate): make sure to try/catch toJSON access ( #27238 )
2023-09-21 13:31:28 -07:00
Dmitry Gozman
14a3659071
test: speed up installation tests by not downloading from cdn multiple times ( #27220 )
2023-09-21 12:40:18 -07:00
Yury Semikhatsky
0bc55fac91
test: unskip "should capture full viewport" ( #27233 )
...
This is fixed by
https://github.com/microsoft/playwright-browsers/pull/643
Fixes https://github.com/microsoft/playwright-browsers/issues/637
2023-09-21 11:20:18 -07:00
Dmitry Gozman
b9509b3ec6
Revert "feat(evaluate): serialize map and set ( #26730 )" ( #27219 )
...
This reverts commit ee203b782c .
References #24040 .
Fixes #27181 .
2023-09-20 18:31:09 -07:00
Dmitry Gozman
2af7d672ef
fix(tracing): bump trace version to V5, migrate V4 traces to consoleMessage.args ( #27162 )
...
This moves the fix in #27095 from `modernize` to `appendEvent`. The
reason is that `trace V4` is used both for older traces that do not have
`consoleMessage.args` and the new ones with `args`. Since we do not call
`modernize` for traces of the same version, the original fix does not
help in this case.
Fixes #27144 .
2023-09-19 16:21:09 -07:00
Yury Semikhatsky
88038f1b00
fix: do not throw from fetch when response has invalid cookie ( #27192 )
...
Cookie value is limited by 4096 characters in the browsers. If
setCookies failed we try setting each cookie individually just in case
only some of them are bad.
Fixes https://github.com/microsoft/playwright/issues/27165
2023-09-19 16:18:16 -07:00
Dmitry Gozman
bb4268d165
fix(locators): do not escape regular expressions with u or v flag ( #27188 )
...
Fixes #27163 .
2023-09-19 13:16:50 -07:00
Playwright Service
f064fb6840
feat(firefox-beta): roll to r1425 ( #27128 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2023-09-19 00:31:58 -07:00
Yury Semikhatsky
8964587d18
test: update webkit test expectations after last roll ( #27155 )
...
https://github.com/microsoft/playwright/issues/26992 was fixed by
https://github.com/microsoft/playwright-browsers/pull/635 .
Reference https://github.com/microsoft/playwright-browsers/issues/637
Fixes https://github.com/microsoft/playwright/issues/26992
2023-09-18 09:57:18 -07:00
Pavel Feldman
955be6bd61
chore: populate matcherResult for toHaveScreenshot ( #27136 )
...
Ref #26929
2023-09-18 09:12:23 -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
Andrey Lushnikov
a34030be80
browser(firefox): support relative paths for firefox videos ( #27099 )
...
Firefox protocol requires absolute paths for video recording.
Fixes https://github.com/microsoft/playwright/issues/27086
2023-09-15 10:26:20 -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
Dmitry Gozman
b3edf8e562
fix(har): handle invalid Expires/Max-Age ( #27098 )
...
Fixes #27073 .
2023-09-14 17:06:56 -07: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
Yury Semikhatsky
1424185c23
test: init script runs onces in iframes ( #27057 )
...
Failing test for #26992 .
2023-09-13 09:46:59 -07:00
Andrey Lushnikov
64bf2a624f
test: fix webkit test on Darwin ( #27029 )
2023-09-12 15:01:44 -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
Yury Semikhatsky
700b310150
fix(fetch): restore from empty storage state ( #27025 )
...
Fixes #26833
2023-09-12 13:11:18 -07:00
Dmitry Gozman
d9eabda09d
fix(locators): escape quotes in regular expressions ( #27002 )
...
Fixes #26974 .
2023-09-11 15:49:04 -07: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
Yury Semikhatsky
0213fef484
test: unskip passing test ( #26960 )
...
The functionality was fixed in
[webkit](https://github.com/microsoft/playwright-browsers/pull/625 ) and
should be available with [recent
roll](https://github.com/microsoft/playwright/pull/26953 ).
Fixes #26876
2023-09-08 12:57:32 -07:00
Dmitry Gozman
e6d9b2a818
test: add installation tests for yarn and pnpm ( #26937 )
2023-09-08 10:06:31 -07:00
Yury Semikhatsky
fd28e8d801
test: reset view scale after navigation ( #26939 )
...
Failing test for #26876
2023-09-08 08:58:07 -07:00
Pavel Feldman
167c35ca66
chore: store scroll positions in trace viewer ( #26938 )
2023-09-07 17:14:39 -07:00
Playwright Service
bcf59ed721
feat(webkit): roll to r1905 ( #26909 )
2023-09-07 07:41:46 +02:00
Pavel Feldman
61a1924328
chore: align recorder drawer with trace viewer ( #26922 )
2023-09-06 17:13:25 -07:00
Pavel Feldman
d65da74b8f
fix(trace): allow typing in selector w/ frames ( #26919 )
2023-09-06 16:14:40 -07:00
Max Schmitt
f71df9fb50
chore: introduce sdkLanguage based userDataDir misuse error ( #26894 )
...
Fixes https://github.com/microsoft/playwright-python/issues/2059
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-09-06 22:58:44 +02:00
Dmitry Gozman
361038c950
feat: rename PageError to WebError ( #26913 )
2023-09-06 12:40:53 -07:00
Pavel Feldman
b4012df160
fix(trace): make locator picker work for iframes ( #26883 )
...
Fixes https://github.com/microsoft/playwright/issues/26878
2023-09-06 09:44:47 -07:00
Yury Semikhatsky
f045e13e00
test: contextmenu on right click ( #26885 )
...
Reference https://github.com/microsoft/playwright/issues/26515
2023-09-05 16:12:17 -07:00
Dmitry Gozman
740472ce8f
fix(trace viewer): retain currentSrc of all images ( #26841 )
...
When `<source>` or `srcset=` are involved, the actual image src is
determinted at runtime based on factors like `devicePixelRatio` and
media queries that depend on width/height.
Since these factors may differ in the Trace Viewer itself, we should
preserve the `currentSrc`, use it as an actual `src`, and disable
various `<source>` and `srcset=`.
2023-09-05 12:48:07 -07:00
Pavel Feldman
8c494e2519
chore: add log/error tabs and counters ( #26843 )
2023-09-01 20:12:05 -07:00
Yury Semikhatsky
ce3e0dcf84
test: unskip test in headless ( #26844 )
...
Reference https://github.com/microsoft/playwright/issues/22617
2023-09-01 17:26:23 -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
Dmitry Gozman
741c649d56
fix(trace viewer): make sure target inside shadow dom is highlighted ( #26823 )
...
References #24532 .
2023-08-31 12:46:49 -07:00
Max Schmitt
cc30d72b0b
test: roll android chromium to 1190572 ( #26807 )
2023-08-31 18:08:27 +02: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
Sander
ee203b782c
feat(evaluate): serialize map and set ( #26730 )
...
closes: https://github.com/microsoft/playwright/issues/24040
2023-08-28 14:32:41 -07:00
Yury Semikhatsky
501ed32856
fix(fetch): update host header on redirect ( #26750 )
...
Fixes https://github.com/microsoft/playwright/issues/26743
2023-08-28 12:42:50 -07:00
Max Schmitt
5c72cbdb23
feat(webkit): roll WebKit to r1898 ( #26738 )
2023-08-28 19:44:52 +02:00
Dmitry Gozman
36347e7fea
feat: make playwright package not install browsers automatically ( #26672 )
...
Additionally introduce `@playwright/browser-<browser>` packages that
just download the respective browser, but do not export anything.
References #26614 .
2023-08-27 07:24:35 -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
Max Schmitt
feac31dbdc
test: mark 'should fire close event' as fixme in MSEdge ( #26712 )
...
https://github.com/microsoft/playwright/issues/26711
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
2023-08-25 23:57:56 +02: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
Yury Semikhatsky
39a6b23309
devops: create blob reports for all "tests 1" ( #26694 )
2023-08-24 16:06:41 -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
0ecc13038f
fix(textContent): make it work for ShadowRoot ( #26690 )
...
It used to work, but regressed in v1.36.
Fixes #26636 .
2023-08-24 12:59:42 -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
44d3770559
fix(selector generator): escape all tag names in css selectors ( #26659 )
...
Fixes #26657 .
2023-08-23 12:32:08 -07:00
Max Schmitt
d08b38013d
test: remove itest folders using rimraf ( #26646 )
...
This should fix:
Error: ENOTEMPTY: directory not empty, rmdir
'C:\Users\RUNNER~1\AppData\Local\Temp\pwt\workspaces\playwright-xyz-should-work-playwright-chromium-should-work-installation-tests\browsers\chromium-1076\chrome-win'
2023-08-23 17:59:19 +02:00
Max Schmitt
820611e3cc
test: fix electron test expectations ( #26643 )
...
This regressed in https://github.com/microsoft/playwright/pull/26423
since the certificate got changed.
2023-08-23 17:59:07 +02: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
Dmitry Gozman
c4e79eb6ed
feat: replace Locator.type with Locator.pressSequentially ( #26624 )
...
Also deprecate `Locator.type`, `Frame.type`, `Page.type` and
`ElementHandle.type`, but not `Keyboard.type`.
References #24614 .
2023-08-22 15:21:00 -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
Dmitry Gozman
5646875e5c
fix: make Request.frame throw when page is not ready yet ( #26616 )
...
Suggest to check `request.isNavigationRequest()` beforehand.
Fixes #24603 .
2023-08-22 14:06:21 -07:00
Max Schmitt
c27317b6e5
feat(webkit): roll to r1893 ( #26596 )
...
This should make it into v1.38 and once its merged one day later it can
be tested in [Playwright
Canary](https://playwright.dev/docs/canary-releases ).
Fixes https://github.com/microsoft/playwright/issues/22569
Fixes https://github.com/microsoft/playwright/issues/23259
2023-08-22 17:57:02 +02:00
Max Schmitt
bb3152738d
test: fix macOS WebKit signals test ( #26603 )
2023-08-22 16:51:34 +02:00
Pavel Feldman
1ceaa923ea
chore: create artifacts dir in the test runner ( #26594 )
2023-08-21 19:41:10 -07:00
Dmitry Gozman
72bdd43e69
fix(route): make sure Route.fetch works for popup main request ( #26590 )
...
References #24603 .
2023-08-21 16:48:51 -07:00
Pavel Feldman
c3c3c7f53c
chore: decorate console message sources ( #26588 )
2023-08-21 16:05:27 -07:00
Max Schmitt
2edecd4244
test: add libsoup3 related tests ( #26572 )
...
https://github.com/microsoft/playwright/issues/22569
https://github.com/microsoft/playwright/issues/23259
2023-08-21 22:12:12 +02: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
Sander
e2a11bed19
feat(ct): svelte vite context ( #26554 )
2023-08-19 16:26:06 -07:00
Pavel Feldman
09bb866333
chore: format console message from page ( #26555 )
2023-08-19 16:13:42 -07:00
Pavel Feldman
8f31191637
chore: pick locator tab ( #26532 )
2023-08-18 17:53:03 -07:00
Yury Semikhatsky
14a57a788b
test: screenshot of css transformation ( #26533 )
...
Failing tests for #26447 .
2023-08-18 14:30:43 -07:00
Vignesh Shanmugam
adc9b2d390
feat: add support for browserContext.on('pageerror') ( #24452 )
...
+ fix #24466
+ Adds support for exposing the `pageerror` events via `browserContext`
API.
+ Helps with capturing the overall exceptions that are thrown outside of
the the current page and also captures the exceptions happens on other
windows/popups.
+ Keeps the API in sync with `context.on('request)',
context.on('console'), etc..`
2023-08-17 09:10:03 -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
Pavel Feldman
576608b69d
chore: revert #24598 ( #26484 )
2023-08-15 11:29:33 -07:00
Playwright Service
04b71bf660
feat(chromium-tip-of-tree): roll to r1142 ( #26441 )
2023-08-12 20:00:16 +02:00
Playwright Service
96965cfbe9
feat(webkit): roll to r1885 ( #26443 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-08-12 19:17:07 +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
Pavel Feldman
d0fec20fe1
chore: update test certificates ( #26423 )
2023-08-10 17:06:03 -07:00
Pavel Feldman
f6563f1a90
chore: use header for service2 auth ( #26419 )
2023-08-10 13:43:16 -07:00
Yury Semikhatsky
ad9d20311a
fix(merge): allow reports with same name as input ( #26413 )
2023-08-10 12:47:31 -07:00
Andrey Lushnikov
0bb4dac28f
tests: fix race condition in codegen tests ( #26405 )
...
The console message comes in once the page navigates, not in the
`page.setContent()` call below.
2023-08-10 07:51:38 -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
Dmitry Gozman
71bcfac28a
test: add a test for android screenshots ( #26377 )
...
References #26342 .
2023-08-09 10:40:33 -07:00
Pavel Feldman
65ac0d5256
chore: add k8s grid deployments ( #26359 )
2023-08-08 18:46:32 -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
9509c300e4
fix(reuse): make sure newly created page is not "server-side-only" ( #26332 )
...
This page is going to be the "page for reuse", so it should not be
marked as "server-side-only" and should issue all required events.
Fixes #24574 .
2023-08-07 16:26:30 -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
Pavel Feldman
120de62798
chore(grid): add command line options ( #24802 )
2023-08-04 18:08:50 -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
aba6964bd1
chore: add grid tests ( #24617 )
2023-08-04 14:59:48 -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
Pavel Feldman
6731f5b6d5
chore: grid placeholder ( #24598 )
2023-08-04 08:38:07 -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
Sander
7c5d73a3c3
feat(ct): vue type safe mount props ( #23151 )
2023-07-31 17:45:34 -07:00
Pavel Feldman
744eb6823f
chore: fix s2 mode ( #24525 )
2023-07-31 11:24:04 -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
Max Schmitt
83a98cccf3
test: skip tracing test on trace mode ( #24483 )
...
Thats like we do it here:
c8f2fc392a/tests/library/tracing.spec.ts (L26)
2023-07-28 18:48:34 +02:00
Pavel Feldman
1277ec9900
chore: fix tracing test in s2 mode ( #24480 )
2023-07-27 20:20: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
Max Schmitt
aede3c5ea9
devops: fix installation tests on low disk space machines ( #24473 )
...
Before all the browser downloads were stored in the workspace folder for
the corresponding test. After this change, we clean it up once the test
has finished to save disk space.
~800 MB per test before, now 30MB.
2023-07-27 22:43:20 +02:00
Dmitry Gozman
6c1723ca3e
test: rebaseline webkit signals.spec ( #24471 )
...
Fixes #22226 .
2023-07-27 13:36:43 -07:00
Max Schmitt
ad467446bb
devops: fix Selenium tests ( #24472 )
...
The issue was that it got unzipped under "chromedriver/chromedriver" and
not just under "chromedriver"
2023-07-27 22:25:57 +02:00
Dmitry Gozman
1754755684
fix(tracing): make sure resetForReuse does not throw ( #24415 )
...
When trace chunk recording is in progress, calling `stop()` throws
`Error: Must stop trace file before stopping tracing`.
2023-07-27 08:06:42 -07:00
Dmitry Gozman
1b233a5ae2
fix(trace viewer): do not serve 304 responses ( #24435 )
...
These do not have any content, and we should server the original
response that was cached by the browser.
Fixes #24255 .
2023-07-27 08:06:00 -07:00
Andrey Lushnikov
4d38d84612
test: fix chromedriver download URL ( #24464 )
2023-07-27 05:53:45 -07:00
Pavel Feldman
216d08ba94
chore: use shared test run id ( #24448 )
2023-07-26 18:36:33 -07:00
Dmitry Gozman
c8f2fc392a
chore: move fs operation in trace recorder to a separate class ( #24383 )
2023-07-26 17:31:00 -07:00
Dmitry Gozman
ea6d127f28
feat(connect): exposeNetwork option ( #24436 )
2023-07-26 17:29:31 -07:00
Dmitry Gozman
4be1e479ea
fix(artifacts): only attach screenshot when it succeeds ( #24406 )
...
Fixes #24378 .
2023-07-26 15:22:04 -07:00
Pavel Feldman
517cc18c9b
chore: remove retries, skip tracing tests ( #24443 )
2023-07-26 14:56:38 -07:00
Pavel Feldman
1ddfcf503d
chore: add yml for service2 test mode ( #24441 )
2023-07-26 14:32:48 -07:00
Dmitry Gozman
c33a32dc9e
test: unflake two tests ( #24416 )
2023-07-26 06:50:38 -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
Pavel Feldman
b39fd7283f
chore: skip tests that fail in cross-machine service mode ( #24412 )
2023-07-25 16:47:04 -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
33d62d9a97
chore: do not use relative xpath when querying from document ( #24405 )
...
Fixes https://github.com/microsoft/playwright/issues/24399
2023-07-25 12:55:35 -07:00
Dmitry Gozman
4c8912f74e
chore: remove separate process that cleans up directories ( #24376 )
...
A separate process is `spawnSync`'ed on process exit to cleanup
temporary directories, introduced in #13769 that followed up after
#13343 .
A separate process might stall for various fs-related issues, which
prevents the original process from exiting.
With the recent changes, we always gracefully close and cleanup after
all launched executables before calling `process.exit()`, and so it
should only be possible to leave temp directories when using Playwright
and calling `process.exit()` programmatically without closing browsers.
We can now drop the extra process and rely on `rimraf.sync` for
last-resort cleanup in these rare circumstances.
2023-07-24 15:24:29 -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
Andrey Lushnikov
fee08a6d3b
fix: properly handle character sets in globs ( #24371 )
...
https://github.com/microsoft/playwright/issues/24316
2023-07-24 09:49:05 -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
Andrey Lushnikov
d307c8e63a
fix(ssim-cie94): make sure a single off pixel yields diff in comparator ( #24348 )
...
This patch brings in antialiasing tests from `looks-same` project for
our experimental `ssim-cie94` comparator.
One of the new tests found a bug in our implementation.
References https://github.com/microsoft/playwright/issues/24312
2023-07-21 12:27:52 -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
59d5198d17
fix(fetch): handle negative max-age and expires attributes ( #24311 )
...
Fixes #24221
2023-07-20 15:42:52 -07:00
Yury Semikhatsky
b2965158d3
chore: roll stable test runner to July 19 ( #24314 )
2023-07-20 15:40:57 -07:00
Playwright Service
20fcd6b272
feat(webkit): roll to r1875 ( #24299 )
...
Since
99ff08340f
search event is disabled in cocoa.
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-19 18:24:21 +02: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
Andrey Lushnikov
1fdd7541e0
chore: add firefox-asan for stress tests ( #24049 )
2023-07-19 05:53:52 -07: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
Dmitry Gozman
97d55e275d
fix(locator): locator(locator) method uses internal:chain instead of >> ( #24235 )
...
Usually, we can just chain two locators with `>>` to implement
`Locator.locator(locator)`. However, this does not play nicely with more
advanced inner locators like `or` and `and`:
```ts
const child = page.locator('input').or(page.locator('button'));
page.locator('parent').locator(child);
```
One would expect the above to locate "input or button" inside a
"parent". However, currently it locates "input inside a parent" or
"button", because it's translated to `parent >> input >>
internal:or="button"`.
To fix this, we have to wrap inner locator into `internal:chain` and
query it separately from the parent.
Fixes #23724 .
2023-07-14 12:21:45 -07:00
Dmitry Gozman
98f3ca05b9
fix(tracing): only access tracing state on the API calls, not inside trace operations ( #24212 )
...
References #23387 .
2023-07-14 06:19:54 -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
Yury Semikhatsky
15c6dad114
chore: test cleanup ( #24211 )
...
The functionality was fixed in
https://github.com/microsoft/playwright/pull/24201 .
Fixes #24201
2023-07-13 09:57:51 -07:00
Andrey Lushnikov
615f5afb2b
feat(firefox): roll Firefox to 1420 ( #24205 )
...
Fixes https://github.com/microsoft/playwright/issues/22753
2023-07-13 03:54:47 -07:00
Playwright Service
7787988043
feat(webkit): roll to r1872 ( #24201 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2023-07-13 11:07:33 +02:00
Yury Semikhatsky
cc51d13c36
test: request cookie order is same as in set-cookie ( #24194 )
2023-07-12 17:40:53 -07:00
Pavel Feldman
53bf1995db
chore: do not leak internal page handles after closing page ( #24169 )
...
Partial fix for https://github.com/microsoft/playwright/issues/6319
After this fix, the following scenario won't leak and the context state
(cookies, storage, etc) can be reused by the new page sessions:
```js
for (let i = 0; i < 1000; ++i) {
const page = await context.newPage();
await page.goto('...');
await page.close('...');
}
```
2023-07-12 14:51:13 -07: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
Yury Semikhatsky
700a925565
test: simplify emulate media + connectOverCDP test ( #24166 )
2023-07-11 14:20:05 -07:00
Yury Semikhatsky
ee9f9e3239
test: emulate media should be isolated between CDP sessions ( #24110 )
...
Failing test for #24109
2023-07-11 11:34:18 -07:00
Pavel Feldman
067faa50d7
chore: migrate Promise.race to scopes to prevent leaks ( #24160 )
2023-07-11 10:38:08 -07:00
Dmitry Gozman
aeba083da0
fix(snapshots): match resources by method ( #24145 )
...
Fixes #24144 .
Previously, we only matched by url, which confuses GET and HEAD requests
where the latter is usually zero-sized.
Also make sure that resources are sorted by their monotonicTime, since
that's not always the case in the trace file, where they are sorted by
the "response body retrieved" time.
2023-07-10 20:04:48 -07:00
Pavel Feldman
63915dc07a
feat(trace): render Node console messages in trace ( #24139 )
2023-07-10 18:36:28 -07:00
Pavel Feldman
e234a6a037
chore: make tracing before/after test more robust ( #24136 )
2023-07-10 18:36:15 -07:00
Pavel Feldman
67ad2c2bf4
feat(ui): render all console / network messages in trace ( #24115 )
2023-07-10 12:56:56 -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
Pavel Feldman
50ba25e9a1
fix(trace): do not allow after w/o before ( #24106 )
...
Fixes https://github.com/microsoft/playwright/issues/24087 ,
https://github.com/microsoft/playwright/issues/23802
2023-07-07 17:16:26 -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
Andrey Lushnikov
11dce8d127
feat(firefox): roll Firefox to 1417 ( #24069 )
...
Fixes https://github.com/microsoft/playwright/issues/23280
2023-07-06 12:18:02 -07:00
Pavel Feldman
0409bfca56
chore: ensure module deps in ct-core ( #24056 )
...
Fixes https://github.com/microsoft/playwright/issues/23823
2023-07-06 12:01:45 -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
Andrey Lushnikov
ea3a29eacd
feat(firefox): roll Firefox to 1415 ( #24046 )
...
Fixes https://github.com/microsoft/playwright/issues/23618
2023-07-05 11:58:38 -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
Dmitry Gozman
1d0b48f18b
fix(route): handle escapes in the glob pattern ( #23932 )
...
Fixes #23303 .
2023-06-28 16:33:04 -07:00
Dmitry Gozman
1ab99fe1b8
feat(electron): support tracesDir option ( #23947 )
...
References #23620 .
2023-06-28 16:32:16 -07:00
Dmitry Gozman
b0b429fed0
feat: support bigint in evaluates ( #23930 )
...
Fixes #22719 .
2023-06-28 08:55:45 -07:00
Max Schmitt
9980f054bc
docs: align Node.js code snippets with ESLint ( #23916 )
2023-06-27 11:53:53 +02: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
zhengjitf
6f67f6b52b
fix(chromium): can get correct orientation angle on non-mobile devices ( #23796 )
...
Fix #23772
2023-06-23 11:34:09 -07:00
Dmitry Gozman
5821c547aa
fix(selector generator): use the same label definition as getByLabel ( #23846 )
...
This extracts `getElementLabels` helper function to be used both for
generating and querying.
2023-06-22 08:34:08 -07:00
Ben Hofferber
752176fd23
feat(goto): better navigation error message ( #23609 )
...
While this log message is only a sanity check, it is still beneficial to
have a message that can better inform what is happening when this
occurs.
2023-06-21 11:10:35 -07: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
Max Schmitt
5927b5e92b
test: unflake 'should return url with basic auth info' test ( #23798 )
...
On android there is no localhost. We should never use just localhost.
2023-06-20 11:06:30 +02:00
Dmitry Gozman
fe5c9dad4d
fix(locators): allow identical frameLocators inside and/or/has ( #23740 )
...
So, the following will work:
```
page.frameLocator('iframe').locator('span').or(page.frameLoactor('iframe').locator('div'))
```
The following will not work, because frame locators are not exactly the
same:
```
page.frameLocator('#iframe1').locator('span').or(page.frameLoactor('#iframe2').locator('div'))
```
Also improve the error message to be more readable and include the
locator.
Fixes #23697 .
2023-06-19 15:22:26 -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
Sander
9d3edb0aa3
fix(ct): vue3 fallthrough events & callbacks ( #23649 )
...
closes:
https://github.com/microsoft/playwright/issues/23526#issuecomment-1583074280
closes: https://github.com/microsoft/playwright/issues/23435
2023-06-19 11:20:37 -07:00
Max Schmitt
0f9f863183
fix(codegen): generate no Enter keyboard events for textareas ( #23775 )
...
Fixes https://github.com/microsoft/playwright/issues/23774
2023-06-19 17:07:37 +02:00
Andrey Lushnikov
e171194c86
feat(firefox): roll Firefox to 1414 ( #23768 )
...
- roll Firefox stable to 1414
- roll Firefox beta to 1414
Fixes #23138
2023-06-17 12:10:20 -07:00
Dmitry Gozman
132a5a4bf5
fix(trace viewer): prefer latest resource with the same url ( #23763 )
...
When rendering snapshot, disregard earlier resources with the same url,
because it's most likely that the latest one was used for rendering.
An example would be reloading the page before the stylesheet has
finished loading. In this case, the stylesheet will be requested twice,
and the second copy that was not aborted should be used for the
snapshot.
Fixes #23709 .
2023-06-17 06:58:16 -07:00
Yury Semikhatsky
f6d86c20f3
chore: run more reporter tests through blob report, some fixes ( #23765 )
2023-06-16 21:30:55 -07:00
Dmitry Gozman
09b1e3ffa9
fix(chromium): response.body() for worker requests should work ( #23764 )
...
Previously, worker requests used page's session to call
`Network.getResponseBody`.
Fixes #23750 .
2023-06-16 20:44:32 -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
Max Schmitt
421872f130
test: rewrite 'should fulfill json' test ( #23735 )
2023-06-15 18:46:19 +02: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
Max Schmitt
9e636687ea
chore: add more logging for browser install process ( #23675 )
2023-06-14 15:33:06 +02:00
Dmitry Gozman
5b2e8a6a7a
chore: optional root for generateSelector ( #23692 )
2023-06-13 21:25:39 -07:00
Dmitry Gozman
c80a23842b
fix(css): relative-to-scope selectors work ( #23665 )
...
Chained selectors where the second part starts with a scope did not work
before:
```ts
page.locator('div').locator(':scope + span')
page.locator('div >> +span')
```
2023-06-13 10:27:25 -07:00
Dmitry Gozman
dd417d83d9
fix(locators): escape >> inside a regular expression ( #23631 )
...
To avoid selector being parsed as a chain.
Fixes #23540 .
2023-06-12 10:34:37 -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
Dmitry Gozman
734705e9b3
chore: elementHandle getters implemented through Frame ( #23557 )
...
This is a step towards not using handles for locator operations.
2023-06-09 07:18:13 -07:00
Sander
c9cedc78b1
chore(ct): inline reporter in ci ( #23608 )
2023-06-08 16:23:59 -07:00
Dmitry Gozman
11659ceb73
fix(role): handle display:contents elements ( #23607 )
...
Fixes #23521 .
2023-06-08 16:00:48 -07:00
Dmitry Gozman
5cfd6d9fe9
fix(cr network): emit sw-handled requests when routing is enabled ( #23589 )
...
Previously, such requests were skipped because they never receive
`Fetch.requestPaused` as there was no real network.
Also cleanup some redundant tests and move them from chromium-only file.
Fixes #23424 .
2023-06-08 10:33:28 -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
Dmitry Gozman
4f8680f7a3
fix(pause): revert timeouts after pause ( #23578 )
...
Fixes #23523 .
2023-06-07 12:30:10 -07:00
Andrey Lushnikov
2e327c9d0c
fix: miscellaneous improvements for tracing UI ( #23558 )
...
- feat(tracing): mark API requests with "API" label
- feat(tracing): do not attribute any resources to `route.` API calls;
otherwise, network traffic might get inside the `route.` actions.
- fix(tracing): map actionIds from primary contexts to actionIds from
non-primary contexts
- fix(tracing): show leading `/` in URL path in network panel
This is a result of a pair-programming session with @pavelfeldman
2023-06-06 17:38:44 -07:00
Andrey Lushnikov
0f4090472c
feat: add maskColor option to the toHaveScreenshot method ( #23555 )
2023-06-06 17:15:55 -07:00
Pavel Feldman
7579572688
chore: unflake the network status test ( #23551 )
2023-06-06 16:55:53 -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
Pavel Feldman
eacfff8127
chore: make trace viewer work over http ( #23531 )
2023-06-05 16:30:30 -07:00
Dmitry Gozman
6b687b6d69
fix(toHaveScreenshot): attach newly created missing expectations ( #23528 )
...
Fixes #23090 .
2023-06-05 14:57:06 -07:00
Pavel Feldman
2200892ac3
chore: unmute the console flush test ( #23525 )
...
Closes https://github.com/microsoft/playwright/issues/23107
2023-06-05 12:19:25 -07:00
Dmitry Gozman
b518d1f6da
chore: update error message when using wrong cli ( #23512 )
...
Now recommends uninstalling other packages. Fixes #23314 .
Example messages:
```
Please install @playwright/test package before running "npx playwright show-report"
npm uninstall playwright playwright-firefox
npm install -D @playwright/test
```
```
Please install @playwright/test package before running "yarn playwright show-report"
yarn remove playwright playwright-chromium playwright-firefox playwright-webkit
yarn add -D @playwright/test
```
```
Please install @playwright/test package before running "pnpm exec playwright show-report"
pnpm remove playwright
pnpm add -D @playwright/test
```
2023-06-05 09:51:08 -07:00
Max Schmitt
75971af55b
feat(cli): introduce npx playwright uninstall ( #23128 )
...
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2023-06-05 18:50:21 +02: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
Dmitry Gozman
e4a1273afa
test: enable user agent override for download in Chromium ( #23479 )
...
Fixes #22843 .
2023-06-02 15:02:54 -07:00
Pavel Feldman
5a14619bab
chore: render route markers in the trace network panel ( #23476 )
...
Fixes https://github.com/microsoft/playwright/issues/23040

2023-06-02 13:00:27 -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
b21c81d344
devops: add bot for Chromium --headless=new ( #23440 )
...
https://github.com/microsoft/playwright/issues/23389
2023-06-02 20:40:12 +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
Dmitry Gozman
835f14d7c9
fix(pause): ignore page.pause on the server ( #23417 )
...
Fixes #23051 .
2023-06-02 08:32:30 -07:00
Dmitry Gozman
1d5add6d99
test: fix should not fulfill with redirect status ( #23459 )
2023-06-01 23:11:03 -07: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
Dmitry Gozman
14a1eaa474
chore: add Playwright to attribution ( #23447 )
...
This makes it easier to plumb all kinds of options around.
2023-06-01 17:54:43 -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
Max Schmitt
5701ff1e9b
chore: do not always return 200 on component testing network requests ( #23408 )
...
Fixes https://github.com/microsoft/playwright/issues/23364
See here about their AppTypes:
https://vitejs.dev/config/shared-options.html#apptype
2023-06-01 01:33:48 +02:00
Dmitry Gozman
6bb5c0a549
fix: make evaluate not wait for scheduled navigations ( #23402 )
...
Fixes #23141 .
2023-05-31 14:08:44 -07:00
Dmitry Gozman
2505d48b32
test: skip and unflake tests ( #23399 )
...
- `should respect tracesDir and name` does not work with service mode;
- `isVisible during navigation should not throw` had a short timeout.
2023-05-31 10:52:29 -07:00
João Neves
7e6e5f0706
feat: Support React forwards refs and memo ( #23262 )
...
This PR fixes the react selector behavior to support components that are
wrapped by the memo or forwardRef React builtin functions.
Previously these components couldn't be selected. This PR fixes that
behavior, enabling selecting those components.
Current behavior:
```
const Foo = memo(() => <div id="foo_component" />);
Foo.displayName = "Foo";
...
playwright.$("_react=Foo") -> undefined
```
Fixed behavior:
```
const Foo = memo(() => <div id="foo_component" />);
Foo.displayName = "Foo";
...
playwright.$("_react=Foo") -> <div id ="foo_component" />
```
2023-05-30 17:14:47 -07:00
Pavel Feldman
7ad03027fb
chore: remove output dir before each test ( #23380 )
2023-05-30 16:03:50 -07:00
Dmitry Gozman
6db6498565
chore: replace sigint handler per browser with a single one ( #23317 )
...
Otherwise, multiple sigint handlers (one from each browser) would try to
`process.exit(130)` each.
2023-05-30 13:54:04 -07:00
Max Schmitt
2710fd8d6f
fix: should be able to upload multiple large files ( #23360 )
...
Fixes https://github.com/microsoft/playwright/issues/23258
2023-05-30 18:41:09 +02:00
Max Schmitt
1f7223eb21
chore: test on Node.js 20 ( #22651 )
...
Fixes https://github.com/microsoft/playwright/issues/22582
2023-05-30 18:16:34 +02:00
Max Schmitt
9e75b95153
fix: display testId as regex in trace-viewer ( #23361 )
...
Fixes https://github.com/microsoft/playwright/issues/23298
2023-05-30 17:45:48 +02: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
Yury Semikhatsky
e0600f4799
test: enable passing request type test ( #23273 )
...
Fixes #22812
2023-05-25 09:43:41 -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
Dmitry Gozman
b1db4a8191
test: skip connecting 20 times on non-linux ( #23239 )
2023-05-23 12:16:22 -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
Jasiel Guillén
700062c836
feat(screenshot): Add customizable color option for masked elements ( #23185 )
...
I added a new option to the screenshot method to customize the color of
the box when we want to mask some elements for the screenshot.
The default color is pink `#FF00FF`, but with this new option you can
specify the color you like the most, like a nice green `#00FF00`:
```js
await page.screenshot({
mask: [page.locator('div').nth(5)],
maskColor: "#00FF00",
})
```

---------
Signed-off-by: Jasiel Guillén <darkensses@gmail.com>
2023-05-22 18:44:44 -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
631edc9744
chore(internal): generate code in jsonl ( #23124 )
2023-05-20 10:15:33 -07:00
Yury Semikhatsky
33f3a6002d
test: xhr request type for main resource url ( #23174 )
2023-05-19 17:59:17 -07:00
Dmitry Gozman
bd33e5f8c0
fix(tracing): when zipping remotely, use correct file name ( #23171 )
...
Fixes #23108 .
2023-05-19 14:42:01 -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