Simon Knott
dd36de7809
fix(html): encode all stdio attachments ( #33950 )
2024-12-13 12:01:20 +01:00
Yury Semikhatsky
0034c6b984
fix: parse locator with empty options ( #33990 )
2024-12-12 17:49:48 -08:00
Yury Semikhatsky
76d46d478f
fix: text-is() should ignore comments ( #33980 )
2024-12-12 17:49:31 -08:00
Pavel Feldman
29fd2df124
chore: send aria snapshot to the debug controller ( #33969 )
2024-12-12 08:21:53 -08:00
Pavel Feldman
0e2b984287
chore: prioritize role over label and placeholder ( #33970 )
2024-12-12 08:21:00 -08:00
Max Schmitt
e3629dc1df
fix: validate ffmpeg on context creation ( #33903 )
2024-12-11 23:07:03 -08:00
Max Schmitt
8d57b7543e
chore: introduce chromium-tip-of-tree-headless-shell ( #33964 )
2024-12-11 18:11:33 -08:00
Yury Semikhatsky
856704a176
chore: run server with headless shell for connect tests ( #33957 )
2024-12-11 10:35:14 -08:00
Pavel Feldman
4bcf505e19
chore: prefer generating role with text to css with text ( #33942 )
2024-12-10 16:03:33 -08:00
Pavel Feldman
acf1107220
chore: ignore checkbox/radio value in aria ( #33941 )
2024-12-10 14:04:18 -08:00
Pavel Feldman
a25bda6950
chore: allow storing aria snapshots in files ( #33919 )
2024-12-10 11:45:16 -08:00
Dmitry Gozman
0937d2f7b9
fix(types): update types for test.extend ( #33784 )
2024-12-09 08:59:01 -08:00
Simon Knott
4914f34a83
fix(recorder): allow clearing when recording is disabled ( #33821 )
2024-12-06 10:17:06 -08:00
Yury Semikhatsky
733f9a2926
chore: pdf generation now works in headed mode too ( #33879 )
2024-12-05 17:53:31 -08:00
Dmitry Gozman
be78e9e11f
fix: do not stall waiting for pending navigations after beforeunload dismiss ( #33834 )
2024-12-03 15:55:45 -08:00
Dmitry Gozman
b5bd543cc6
test: skip 'should not auto play audio' with frozen time ( #33799 )
2024-11-28 06:36:49 -08:00
Simon Knott
4fb6c4ed4c
fix(trace): in `indexTree` check `isVisible` before adding to result ( #33797 )
2024-11-28 14:04:34 +01:00
Dmitry Gozman
a84488edaa
fix(aria): escape even more yaml ( #33793 )
2024-11-28 03:21:52 -08:00
Segev Finer
f3ae940684
fix(ct-vue): Upgrade plugin-vue to be compatible with Vite 5 ( #33758 )
2024-11-26 17:42:36 +01:00
Pavel Feldman
0d9bcd45d5
chore: pin typescript while vue-tsc is broken ( #33746 )
2024-11-23 11:48:34 -08:00
Pavel Feldman
35dd3dd104
chore: use diff for snapshot delta ( #33739 )
2024-11-23 11:39:04 -08:00
Pavel Feldman
971b5da741
chore: introduce update-source-method ( #33738 )
2024-11-22 18:30:35 -08:00
Pavel Feldman
66d9f3acbe
chore: introduce update-snapshots=changed ( #33735 )
2024-11-22 17:41:31 -08:00
Yury Semikhatsky
66f709663e
fix(webkit): do not auto play audio without user gesture ( #33734 )
2024-11-22 14:53:29 -08:00
Dmitry Gozman
7e09aa07de
feat(trace): preserve the open state of popovers ( #33728 )
2024-11-22 09:35:19 -08:00
Dmitry Gozman
f123f7ac69
fix: isEditable/toBeEditable throw for elements that cannot be editable/readonly ( #33713 )
2024-11-22 03:40:43 -08:00
Pavel Feldman
e0f0996bbd
chore: climb file tree to git root for patches ( #33722 )
2024-11-21 17:32:07 -08:00
Max Schmitt
5da0b94357
feat(webkit): roll to r2108 ( #33710 )
...
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2024-11-21 14:42:21 -08:00
Max Schmitt
6a32589330
test: update 'should work for canvas' test expectation ( #33685 )
2024-11-20 17:13:07 +01:00
Simon Knott
1d3605d1fc
feat(trace viewer): add "Copy as Playwright Request" button ( #33298 )
2024-11-20 10:16:43 +01:00
Simon Knott
f1ddd379f3
fix(html): don't conflate file names ( #33600 )
2024-11-20 10:16:33 +01:00
Dmitry Gozman
50c8fbf750
fix(ui mode): do not render anonymous describe ( #33675 )
2024-11-20 00:51:31 -08:00
Pavel Feldman
b40889d1a8
chore: escape more yaml values ( #33686 )
2024-11-19 17:09:49 -08:00
Dmitry Gozman
6e19bc341f
fix(role): ignore invalid `aria-labelledby` attributes ( #33667 )
2024-11-19 03:56:16 -08:00
Yury Semikhatsky
6d71805f4a
fix: do not send favicon request to network when interception is on ( #33639 )
2024-11-18 11:01:39 -08:00
Max Schmitt
0b312248cd
test: add test for crash on label with input file ( #33654 )
2024-11-18 16:56:59 +01:00
aairiian
7f054ef8c6
feat(aria): extend toHaveAccessibleName() to accept an array of expected accessible names ( #33277 )
2024-11-18 07:46:47 -08:00
Simon Knott
5e8b469c1c
fix(test): hide response.* calls from reports ( #33620 )
2024-11-18 13:59:40 +01:00
Max Schmitt
d7d8ab62a2
chore: roll stable-test-runner to 1.49.0-beta-1731772650000 ( #33648 )
2024-11-18 10:21:48 +01:00
Rui Figueira
82c77a5e9e
fix(ui-mode): prevent websocket connection leaks on reload ( #33643 )
2024-11-18 01:03:21 -08:00
Pavel Feldman
46321e5bf2
chore: clear highlight when performing action ( #33638 )
2024-11-16 07:56:33 -08:00
Pavel Feldman
a98021499f
chore: add cm placeholder text ( #33635 )
2024-11-15 16:19:35 -08:00
Rui Figueira
c36b5a6059
fix: ensure toMatchAriaSnapshot is properly commented in javascript c… ( #33593 )
2024-11-15 14:44:27 -08:00
Pavel Feldman
44cd1d03cc
chore: highlight edited locator while recording ( #33632 )
2024-11-15 13:43:00 -08:00
Yury Semikhatsky
e24780f825
chore: unshift shortest whitespace prefix only ( #33618 )
2024-11-15 12:47:25 -08:00
Dmitry Gozman
77dee44984
fix(rebase): do not apply multiple rebaselines to the same assertion ( #33629 )
2024-11-15 09:08:31 -08:00
Dmitry Gozman
2aa9e11a7f
fix(aria): normalize whitespace in toMatchAccessible{Name,Description} ( #33619 )
2024-11-15 02:49:03 -08:00
Dmitry Gozman
eaf3536014
fix(trace): afterAll hook should not break tracing with reused context ( #33616 )
2024-11-14 13:24:02 -08:00
Max Schmitt
358fad45cd
chore: add ESRP CDN for browser downloads ( #33585 )
2024-11-14 16:19:42 +01:00
Simon Knott
25c039401d
fix(canvas snapshots): position mismatch in headless mode ( #33575 )
2024-11-14 15:27:09 +01:00
Dmitry Gozman
31a2b7bbdc
chore: update headless shell treatment ( #33603 )
2024-11-14 04:20:44 -08:00
Pavel Feldman
4817483ff2
chore: allow highlighting aria template from extension ( #33594 )
2024-11-13 21:33:38 -08:00
Yury Semikhatsky
a8af7cc435
chore: remove macOS <=12 checks ( #33591 )
2024-11-13 17:21:21 -08:00
Yury Semikhatsky
5203c780ae
feat: step timeout option ( #33560 )
2024-11-13 11:17:54 -08:00
Max Schmitt
eab6447ad9
test: add 'should show errors with causes in the error tab' ( #33577 )
2024-11-13 17:32:32 +01:00
Dmitry Gozman
f54d3f44c2
chore: download and launch chromium-headless-shell for headless chromium ( #33454 )
2024-11-13 02:52:28 -08:00
Pavel Feldman
d685763c49
chore: use diff instead of diffmatchpatch ( #33550 )
2024-11-12 14:46:29 -08:00
Max Schmitt
0aa8da8035
test: fix csharp har tests on Windows ( #33556 )
2024-11-12 14:42:07 +01:00
Dmitry Gozman
33f9c8279c
chore: more aria snapshot fixes ( #33534 )
2024-11-12 02:26:54 -08:00
Pengoose
a501232bf0
fix(expect): adjust normalization for regex values in toHaveText matcher ( #33533 )
2024-11-11 17:19:04 -08:00
Pavel Feldman
e534fba60f
chore: render recorder placeholders ( #33548 )
2024-11-11 16:38:02 -08:00
Max Schmitt
d8a98a2bf5
test: fix flaky page.pause() tests end up stalling ( #33544 )
2024-11-11 22:19:58 +01:00
Yury Semikhatsky
e691ca7fbf
fix(codegen): generate routeFromHAR for --save-har option ( #33480 )
2024-11-11 11:59:20 -08:00
Yury Semikhatsky
e3ed9fa7c3
chore: drop support for solid component testing ( #33523 )
2024-11-11 10:26:50 -08:00
Pavel Feldman
649e0e0235
chore: nicer cm widgets for aria ( #33524 )
2024-11-11 09:40:50 -08:00
Max Schmitt
d5ebe285c1
fix(transform): allow import attributes always ( #33527 )
2024-11-11 10:26:13 +01:00
Pavel Feldman
503f74da90
chore: allow editing aria template in recorder (tests) ( #33522 )
2024-11-08 17:18:51 -08:00
Dmitry Gozman
c29f573243
fix(aria snapshot): assorted fixes ( #33512 )
2024-11-08 10:25:05 -08:00
Pavel Feldman
b021b58379
chore: allow editing aria template in recorder ( #33482 )
2024-11-08 07:43:01 -08:00
Dmitry Gozman
d561ba7b86
fix(chromium-headless-shell): fallback to chromium when running headed ( #33490 )
2024-11-08 07:04:41 -08:00
Dmitry Gozman
43e4ba9f2f
fix(click): better compensate for integer click coordinates in firefox ( #33467 )
2024-11-07 00:01:00 -08:00
Yury Semikhatsky
50775698ae
fix: parent step for API calls inside waitForEvent callback ( #33409 )
2024-11-06 17:35:16 -08:00
Yury Semikhatsky
523e50088a
test: do not rely on http://localhost2 dns resolution failure ( #33479 )
2024-11-06 14:20:38 -08:00
Pavel Feldman
2f8a14c6e2
test: cover more aria escaping edge cases ( #33463 )
2024-11-06 08:31:32 -08:00
Simon Knott
f554f42b82
feat(trace viewer): link from attach action to attachment tab ( #33265 )
2024-11-06 10:22:15 +01:00
Pavel Feldman
d4ad520a9b
chore: fix more aria escaping edge cases ( #33460 )
2024-11-05 16:22:02 -08:00
Pavel Feldman
9d94ad152e
chore: dedupe tags in base reporter title ( #33461 )
2024-11-05 16:18:10 -08:00
Pavel Feldman
a655b0bfb3
chrome: aria api review ( #33458 )
2024-11-05 15:23:38 -08:00
Dmitry Gozman
697d7a40b1
fix(routeWebSocket): make it work with http(s) baseURL ( #33457 )
2024-11-05 11:46:05 -08:00
Dmitry Gozman
9b2ca93a50
chore: followup to tracing.group ( #33450 )
2024-11-05 04:45:54 -08:00
René
fa10bcd5a3
feat(tracing) Adding groups to trace via pw-api ( #33081 )
...
Signed-off-by: René <snooz@posteo.de>
Signed-off-by: René <41592183+Snooz82@users.noreply.github.com>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-11-05 03:45:37 -08:00
Max Schmitt
9a668aeab3
fix(websocket): pass through underlying WebSocket protocol ( #33446 )
2024-11-05 11:13:33 +01:00
Simon Knott
8e140a4873
fix(global setup): simplify ordering ( #33444 )
2024-11-05 10:36:29 +01:00
Simon Knott
26a7dd4dd4
chore(reporter): add another surrogate pair test case ( #33428 )
2024-11-05 07:55:17 +01:00
Pavel Feldman
f138c30915
chore: improve aria template error reporting ( #33438 )
2024-11-04 15:33:09 -08:00
Pavel Feldman
8b49d568de
docs: start adding the aria snapshot documentation ( #33407 )
2024-11-04 10:53:46 -08:00
Max Schmitt
4560686427
test: re-add headless-new fixme's ( #33426 )
2024-11-04 16:18:36 +01:00
Simon Knott
b148ce1ad1
fix(debug controller): highlight selectors in iframe ( #33273 )
2024-11-04 14:41:06 +01:00
Dmitry Gozman
82f6c15e6a
feat(chromium): switch to headless=new by default ( #33262 )
...
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-11-04 12:56:00 +01:00
Pavel Feldman
1d4650cea2
chore(snapshot): support aria-owns ( #33404 )
2024-11-01 15:25:38 -07:00
Pavel Feldman
c76f004ec3
chore: move compress call log to server ( #33399 )
2024-11-01 13:38:01 -07:00
Pavel Feldman
fc0ce7046b
chore: perform e2e rebase test ( #33390 )
2024-11-01 12:25:05 -07:00
Playwright Service
18453f3889
feat(webkit): roll to r2100 ( #33395 )
2024-11-01 17:45:58 +01:00
Yury Semikhatsky
c95feccce4
chore: support reverse in ansi2html, drop ansi-to-html ( #33389 )
2024-10-31 21:42:06 -07:00
Pavel Feldman
26c2049d5a
chore: treat input value as text in templates ( #33388 )
2024-10-31 20:41:52 -07:00
Pavel Feldman
135ed28740
chore: more yaml escaping tests ( #33387 )
2024-10-31 17:14:11 -07:00
Pavel Feldman
c462e29e73
chore(aria): generate single patch for all baselines ( #33384 )
2024-10-31 15:34:17 -07:00
Pavel Feldman
a2e901e080
chore: generate aria name regex when possible ( #33373 )
2024-10-31 11:25:38 -07:00
Pavel Feldman
676f014b5f
chore: use objects for string aria template notes ( #33371 )
2024-10-30 17:25:51 -07:00
Pavel Feldman
a43b99368e
chore: support aria snapshots in tsx ( #33369 )
2024-10-30 17:25:30 -07:00
Max Schmitt
512645463e
test: rebase headless-shell/--headless=new/Edge tests ( #33350 )
2024-10-30 15:12:05 +01:00
Simon Knott
64802fc284
fix(line reporter): wrap chinese characters correctly ( #33322 )
2024-10-30 13:29:31 +01:00
Pavel Feldman
9ce401d44a
chore: suggest aria snapshots w/ regex ( #33334 )
2024-10-29 16:19:08 -07:00
Max Schmitt
9eb4fe5546
feat(pwt): serialize and expose Error.cause from Worker process ( #32833 )
2024-10-29 00:01:59 +01:00
Max Schmitt
5c0fdfed50
chore: throw when using headless-shell with headed mode ( #33292 )
2024-10-28 22:33:21 +01:00
Max Schmitt
19e863191c
test: use 'chrome' for UI mode tests ( #33329 )
2024-10-28 21:56:46 +01:00
Max Schmitt
c9a93486a1
test: update macOS-15 WebKit cookie tests expectations ( #33332 )
2024-10-28 20:34:08 +01:00
Pavel Feldman
4b7c8d8a20
chore: use stable library along with the test runner in ttest ( #33312 )
2024-10-25 23:15:10 -07:00
Yury Semikhatsky
0ace47e7cf
chore: revert exposed expect error details on TestError ( #33310 )
2024-10-25 16:20:18 -07:00
Pavel Feldman
74e5e5560f
chore: update missing snapshots by default ( #33311 )
2024-10-25 16:13:38 -07:00
Yury Semikhatsky
87b896e597
chore: remove playwright-ct-vue2 ( #33302 )
2024-10-25 13:31:55 -07:00
Yury Semikhatsky
1e8884621a
chore: unify toHaveScreenshot error formatting ( #33300 )
2024-10-25 12:36:39 -07:00
Yury Semikhatsky
f98531baee
chore: remove check for node < 16 ( #33301 )
2024-10-25 10:33:43 -07:00
Pavel Feldman
9707e97867
chore: revert #33228 - it needs a proper review ( #33284 )
2024-10-25 09:36:03 +02:00
Pavel Feldman
ff5f1628dc
chore: allow aria snapshot rebaselines ( #33256 )
2024-10-24 16:49:10 -07:00
Max Schmitt
adc38cfd8b
test: rebaseline test expectations ( #33270 )
2024-10-24 16:49:35 +02:00
Dmitry Gozman
67471cb3c5
test: make a few tests headed/headless agnostic ( #33268 )
2024-10-24 06:03:36 -07:00
Simon Knott
3641e5984f
chore: HMR for Trace Viewer ( #33228 )
2024-10-24 14:34:59 +02:00
Dmitry Gozman
2e01154bb5
feat: screenshot:on-first-failure ( #33266 )
2024-10-24 04:41:35 -07:00
Dmitry Gozman
1950bbdc6e
test: unflake "should not leak recorders" ( #33264 )
2024-10-24 02:47:34 -07:00
Max Schmitt
487134fbaf
devops: add chromium-headless-shell bots ( #33242 )
2024-10-24 11:34:41 +02:00
Simon Knott
69f56b9f63
fix(locator generator): handle `frameLocator()` and `locator().contentFrame()` ( #33208 )
2024-10-24 10:52:54 +02:00
Pavel Feldman
9a0a6cec10
chore: remove the leaf node notion ( #33249 )
2024-10-23 17:34:21 -07:00
Pavel Feldman
24cafbc8cb
chore: use diff_match_patch with types ( #33254 )
2024-10-23 16:04:37 -07:00
Dmitry Gozman
993a6b2a2a
fix(recorder): do not leak when instantiated in snapshots ( #33240 )
2024-10-23 10:24:53 -07:00
Max Schmitt
0d12fbe002
fix: have more friendly playwright-report error when opening TV via file:// ( #33239 )
2024-10-23 12:19:29 +02:00
Simon Knott
3322a7f3bb
chore(trace): remove screenshot instead of snapshot code ( #33225 )
2024-10-23 12:17:02 +02:00
Pavel Feldman
6bfdad068c
chore: introduce accessibility tab in recorder ( #33235 )
2024-10-22 16:36:03 -07:00
Max Schmitt
6800fd45a2
feat(webkit): roll to r2095 ( #33229 )
2024-10-22 22:30:54 +02:00
Simon Knott
ef84051c91
feat(tracing): clip `canvas` contents from screenshots ( #33119 )
2024-10-22 14:12:25 +02:00
Rui Figueira
b194d6a1e9
fix(recorder): fix recorder injected icons ( #33198 )
2024-10-22 12:44:18 +02:00
Pavel Feldman
2a3d67195d
chore: use aria snapshots in some ui mode tests ( #33212 )
2024-10-21 21:54:06 -07:00
Yury Semikhatsky
aebceb345e
chore: expose expect error details on TestError ( #33183 )
2024-10-21 11:15:55 -07:00
Simon Knott
40d5a1cb4a
fix(ff): resource type for image sets should be `image` ( #33195 )
2024-10-21 11:14:48 +02:00
Pavel Feldman
97d26e8166
chore: add aria attribute tests ( #33184 )
2024-10-19 14:23:08 -07:00
Pavel Feldman
64bf1bc107
chore: support basic aria attributes ( #33182 )
2024-10-18 20:18:18 -07:00
Max Schmitt
b1fb4f16a7
chore: hide 'markdown' reporter ( #33140 )
2024-10-18 23:00:05 +02:00
Pavel Feldman
2e8e7a66cd
chore: implement tree w/o list ( #33169 )
2024-10-18 13:50:43 -07:00
Simon Knott
0d63df4875
feat(test runner): allow multiple global setups ( #32955 )
...
Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-10-18 11:03:00 +02:00
Pavel Feldman
29c84a33c3
chore: compute aria text consistently with the role accumulated text ( #33157 )
2024-10-17 17:06:18 -07:00
Pavel Feldman
623a8916f9
chore: implement tree w/o list ( #33167 )
2024-10-17 16:57:45 -07:00
Dmitry Gozman
aa952c1b03
fix(html report): generate test snippets when test dir is non-root ( #33162 )
2024-10-17 08:33:15 -07:00
Pengoose
d10a5e5693
feat(testType): add support for test.fail.only method ( #33001 )
2024-10-16 06:47:23 -07:00
Pavel Feldman
94321fef1c
chore: implement locator.ariaSnapshot ( #33125 )
2024-10-15 18:47:26 -07:00
Pavel Feldman
b92b855638
test: unflake ff debugger test ( #33124 )
2024-10-15 16:21:55 -07:00
Pavel Feldman
b421bd8b0d
chore: add a basic snapshot generator test ( #33123 )
2024-10-15 15:21:45 -07:00
Pavel Feldman
4b1fbde2ad
chore: generate match snapshot ( #33105 )
2024-10-15 13:38:55 -07:00
Pavel Feldman
23b1012c70
chore: fix ff test for codegen ( #33122 )
2024-10-15 13:34:08 -07:00
Dmitry Gozman
59a50cf596
fix(chromium): disable PlzDedicatedWorker again ( #33110 )
2024-10-15 02:13:19 -07:00
Dmitry Gozman
17837e564d
fix(routeWebSocket): make sure ws url without trailing slash is supported ( #33095 )
2024-10-15 02:08:27 -07:00
Pavel Feldman
2c05d294a8
chore: fix webkit visibility check in aria matcher ( #33102 )
2024-10-14 15:55:21 -07:00
Pavel Feldman
a38ff6e0d8
chore: experimental toMatchAriaSnapshot ( #33014 )
2024-10-14 14:07:19 -07:00
Pavel Feldman
6cfcbe0d6d
chore: fix codegen selector while debugging ( #33099 )
...
Fixes #33052
2024-10-14 14:04:24 -07:00
Dmitry Gozman
ecd147ce43
fix(test runner): when sharding with beforeAll, use shards total instead of workers ( #33083 )
...
Otherwise, we might split the `beforeAll`-grouped test group into
`workers` parts instead of `shard.total` parts as the user would expect.
Fixes #33077 .
2024-10-14 13:46:06 -07:00
Playwright Service
c7fbeddaf4
feat(webkit): roll to r2092 ( #33078 )
2024-10-14 22:21:49 +02:00
Simon Knott
a8df750a48
fix(har): account for reused sockets ( #33087 )
...
Closes https://github.com/microsoft/playwright/issues/32960
If the socket is reused, the connect and DNS timings are set to -1,
because that timing doesn't apply to the current request. The time
between request start and the socket being free is counted as `blocked`.
2024-10-14 17:22:29 +02:00
Max Schmitt
87624c5434
Revert "fix(codegen): fix unselect issue ( #32127 )" ( #33065 )
...
This reverts commit 5121b19ac6
.
The tree is red and fixing seems non-trivial.
Closes https://github.com/microsoft/playwright/issues/33064
Closes https://github.com/microsoft/playwright/pull/33060
2024-10-11 16:33:17 +02:00
Yury Semikhatsky
b9cce598dd
fix(screenshot): show image diff inline in errors list ( #32997 )
...
The diff is now shown inline in the errors list.
There are 2 possible failures of toHaveScreenshot
* Previous and actual snapshot mismatch. In this case html report will
show diff between Actual/Previous and have Expected as a separate
screenshot.
* Actual/Previous are equal but they differ from the expected. In this
case html report only contains Actual/Expected images and the diff.
Reference: https://github.com/microsoft/playwright/issues/32341
<img width="1039" alt="image"
src="https://github.com/user-attachments/assets/b458f986-cc25-4721-862c-0cc2c1b01a42 ">
2024-10-10 16:49:17 -07:00
Playwright Service
10a9e1c730
feat(webkit): roll to r2090 ( #33050 )
2024-10-11 00:08:03 +02:00
Yury Semikhatsky
82fe882004
fix(webkit): scroll mobile page with background-attachment: fixed ( #33048 )
...
Fixes #31551
Fixes #23573
2024-10-10 14:32:27 -07:00
Dmitry Gozman
25dd9b5cd4
feat: config.build.tsconfig ( #33026 )
...
Allows to specify `tsconfig` in the configuration file, which applies to
test files but not the config file itself.
Fixes #32808 .
2024-10-10 01:37:46 -07:00
Max Schmitt
6210fef681
test: fix android tests ( #33021 )
2024-10-09 11:22:27 +02:00
Yury Semikhatsky
bcf4ff1e47
chore(bidi): update setContent expectations for ff ( #32992 )
2024-10-08 11:58:01 -07:00
Simon Knott
892d67ffef
feat(test runner): allow stopping testrun with escape ( #32584 )
...
Closes https://github.com/microsoft/playwright/issues/32579
2024-10-08 11:39:54 -07:00
Fumiaki MATSUSHIMA
5121b19ac6
fix(codegen): fix unselect issue ( #32127 )
...
Fixes https://github.com/microsoft/playwright/issues/31290
2024-10-08 11:38:52 -07:00
Max Schmitt
d0f2170e21
Revert "fix(test): do not allow mixing tests from different types ( #29284 )" ( #33002 )
...
This reverts commit 4784139bb0
.
Closes https://github.com/microsoft/playwright/issues/29734
2024-10-08 16:00:40 +02:00
Simon Knott
042161e1ce
Reapply "fix(har timing): record connect timing for proxied connections" ( #32855 ) ( #33003 )
...
This reapplies what we reverted in
https://github.com/microsoft/playwright/pull/32989 .
Max and me debugged this, and found that the test failures come from
SOCKS proxy now preferring IPv6 over IPv4. We've updated the tests and
made sure that this doesn't mask any breaking change.
I'm enabling CQ1 to make sure we don't oversee any other CI failures.
2024-10-08 14:17:50 +02:00
Max Schmitt
47a889ac48
chore: roll stable-test-runner to 1.48.0-beta-1728384960000 ( #33008 )
2024-10-08 14:01:45 +02:00
Dmitry Gozman
814f7eb556
test: fix/fixme/update a few tests ( #33006 )
2024-10-08 03:59:35 -07:00
Simon Knott
1b589c4bd3
Revert "fix(har timing): record `connect` timing for proxied connections" ( #32989 )
...
Reverts microsoft/playwright#32855 . This broke two tests on main, and we
don't yet know how to fix it other than downgrading.
2024-10-08 10:13:21 +02:00
Mark
04bf425268
feat(base-reporter): Add tags to test output ( #32930 )
2024-10-07 17:14:46 -07:00
Pavel Feldman
7047c3a6c6
fix(codegen): do not codegen non-existing fixtures ( #32993 )
...
Closes https://github.com/microsoft/playwright/issues/32981
2024-10-07 17:12:36 -07:00
Yury Semikhatsky
6ba5ee3a83
chore(ui-mode): expand all button ( #32994 )
...
<img width="230" alt="image"
src="https://github.com/user-attachments/assets/dd7fa3a1-39ec-4b88-9279-d664c9c4e5cd ">
Reference https://github.com/microsoft/playwright/issues/32825
2024-10-07 15:42:12 -07:00
Yury Semikhatsky
4ab857ce8e
test: fetch header propagation on redirect ( #32970 )
...
Documenting current behavior with and without interception.
Reference https://github.com/microsoft/playwright/issues/32939
2024-10-07 14:06:28 -07:00
Dmitry Gozman
e6afb650be
test: mark a few tests as fixme ( #32985 )
2024-10-07 02:58:03 -07:00
Max Schmitt
001ba37706
test: update webview2 skipme's ( #32984 )
...
This leaves only reasonable skipmes for WebView2 in the code base.
2024-10-07 11:08:07 +02:00
Simon Knott
de4a4d1ce1
fix(har timing): record `connect` timing for proxied connections ( #32855 )
...
Fixes a bug discovered in
https://github.com/microsoft/playwright/pull/32647 . When using http
proxy, the `connect` event isn't emitted so we don't populate
`tcpConnectionAt`. The updated version of `https-proxy-agent` emits a
`proxyConnect` as a replacement, so this PR updates and listens to that
event.
For socks proxies, the `on("socket")` event is emitted once the SOCKS
connection is established, which is the equivalent of having a TCP
connection available.
---------
Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-10-07 09:59:13 +02:00
Dmitry Gozman
b284df984b
test: enable test after chromium roll to 1140 ( #32965 )
...
Fixes #32355 . Fixed after the last roll #32949 .
2024-10-04 09:23:11 -07:00
Dmitry Gozman
9f842da8b3
fix: throw when element handle is detached while waiting for selector ( #32961 )
2024-10-04 08:23:25 -07:00
Dmitry Gozman
eaeaa0b158
test: remove tests that we are not going to ever fix ( #32962 )
2024-10-04 08:22:36 -07:00
Dmitry Gozman
34ad67659f
test: remove some fixmes ( #32953 )
2024-10-04 08:22:27 -07:00
Dmitry Gozman
84b4fd4e40
feat: wait for pending navigation to resolve before many actions ( #32899 )
...
This includes all actions that perform locator handler check.
Note this makes it impossible to interact with the page while a main
frame navigation is ongoing. This was already the case for Chromium, but
now WebKit and Firefox align with it.
Setting `PLAYWRIGHT_SKIP_NAVIGATION_CHECK` environment variable disables
this behavior.
2024-10-04 07:25:18 -07:00
Simon Knott
ff0c498904
fix(ct-vue): update default slot should work ( #32952 )
...
Closes https://github.com/microsoft/playwright/issues/32809
We were writing onto the wrong object.
2024-10-04 14:18:21 +02:00
Max Schmitt
dfa4ab8726
test: speed up only-changed CT test ( #32947 )
2024-10-04 10:06:56 +02:00
Yury Semikhatsky
d7020cba63
test: scroll mobile page with background-attachment: fixed ( #31992 )
...
Reference: https://github.com/microsoft/playwright/issues/31551
Reference: https://github.com/microsoft/playwright/issues/23573
2024-10-03 18:16:49 -07:00
Dmitry Gozman
6b1d0361cd
fix(chromium): reset mouse position upon page reuse ( #32944 )
...
Similarly to Firefox, move the mouse to (-1, -1) upon page reuse. This
fixes the corresponding test on all platforms.
2024-10-03 08:09:00 -07:00
Dmitry Gozman
d98fa5da2f
test: update some expectations for headed chromium, unskip tests ( #32943 )
2024-10-03 07:59:48 -07:00
Dmitry Gozman
0ffac886e8
test: fix android tests ( #32932 )
...
One test is removed, since it's impossible to fix. Hopefully, the rest
will pass.
2024-10-03 03:37:43 -07:00
Dmitry Gozman
3c5967d4f5
fix(trace viewer): clear old highlighted elements upon change ( #32917 )
...
When the list of highlighted elements changes over time, we should
update the elements marked as `__playwright_target__` in the snapshot.
A good example is an `expect(locator).toHaveText([...])` where the list
of elements changes from 4 items to 3 after clicking a "Delete" button.
2024-10-02 23:48:26 -07:00
Max Schmitt
8715652a0d
devops: don't run codegen tests in trace-events mode ( #32810 )
2024-10-02 23:22:00 +02:00
Simon Knott
29ffcdfc4e
test(html reporter): filtering by type works ( #32931 )
...
The folks who opened
https://github.com/microsoft/playwright/issues/32925 would benefit from
filtering by annotation existence. Turns out we already have it! This PR
adds a test to ensure it stays that way.
2024-10-02 16:29:27 +02:00
Dmitry Gozman
face24dc66
test: unflake/skip a few tests ( #32929 )
2024-10-02 06:58:21 -07:00
Simon Knott
3a5bf1cc1d
fix(trace viewer): reveal stack for highlighted action ( #32919 )
...
Closes https://github.com/microsoft/playwright/issues/32915 .
In the `Call` and `Logs` tabs, we update the contents based on the
hovered action. We document that this is also the case for the `Source`
tab:
78054a7652/docs/src/test-ui-mode-js.md
?plain=1#L61-L65
But it isn't. Not sure if it's a regression or not, but this PR fixes
it.
2024-10-02 13:30:44 +02:00
Simon Knott
208a54529d
fix(ct-react): support shorthand fragment notation ( #32900 )
...
Closes https://github.com/microsoft/playwright/issues/32853
Vite turns the shorthand fragment notation `<></>` into `import {
Fragment } from "react"; <Fragment></Fragment>`. On the Node.js side of
things, this `react` import resolves to our mock version of React, which
currently mocks `Fragment` as `{}`. Currently, we pass that straight to
`React.createElement`, which throws an error.
The fix is to make our `Fragment` mock detectable with a tag, and when
we render it replace it with the real `__pwReact.Fragment`.
2024-10-02 11:19:09 +02:00
Dmitry Gozman
773202867d
feat(trace): highlight strict mode violation elements in the snapshot ( #32893 )
...
This is fixing a case where the test failed with strict mode violation,
but all the matched elements are not highlighted in the trace.
For example, all the buttons will be highlighted when the following line
fails due to strict mode violation:
```ts
await page.locator('button').click();
```
To achieve this, we mark elements during `querySelector` phase instead
of inside `onBeforeInputAction`. This allows us to only mark from inside
the `InjectedScript` and remove the other way of marking from inside the
`Snapshotter`.
2024-10-02 00:00:45 -07:00
Max Schmitt
daac0ddd24
fix(fetch): fallback to given URL if baseURL is invalid ( #32911 )
2024-10-01 22:43:32 +02:00
Max Schmitt
c84305ed73
test: retry installation tests up to 3 times ( #32910 )
...
Installation tests can fail due to e.g. network issues. Lets align with
library tests and retry up to 3 times.
2024-10-01 13:12:38 -07:00
Yury Semikhatsky
228eb141db
chore(bidi): enable logs in Firefox on CI ( #32908 )
2024-10-01 11:15:27 -07:00
Max Schmitt
6f16b6cc08
chore: unflake 'should record' ( #32880 )
2024-09-30 20:32:04 +02:00
Dmitry Gozman
6f99d48a12
test: unflake two tests ( #32879 )
...
- the test that closes a context must not be a "page test";
- account for stray browser requests in the proxy test.
2024-09-30 07:49:18 -07:00
Simon Knott
c67a7335ab
chore(ui): ensure that --ignore-snapshots is respected ( #32875 )
...
Closes https://github.com/microsoft/playwright/issues/32868 .
The actual fix was already delivered in
https://github.com/microsoft/playwright/pull/32798/files#diff-98ff2ff92b08ca7e8b274abb3ba6b2eec9bab332e340d062cc18ad1dfe505bf2R299 ,
this PR adds a test to ensure we don't regress.
2024-09-30 15:12:37 +02:00
Max Schmitt
df16f6efb4
test: skip avif test on linux/webkit ( #32869 )
2024-09-30 10:30:45 +02:00
Max Schmitt
ded567d8f8
test: add test for avif image format ( #32815 )
...
Fixes https://github.com/microsoft/playwright/issues/32673
2024-09-27 10:02:54 -07:00
Dmitry Gozman
5947c21dc7
test: brush up fixtures, unflake some tests ( #32854 )
2024-09-27 07:06:37 -07:00
Dmitry Gozman
a395fb22c4
feat(routeWebSocket): address api review feedback ( #32850 )
2024-09-27 04:01:31 -07:00
Pavel Feldman
bcb6860ef5
chore: fix cross browser leak tests ( #32843 )
2024-09-26 19:33:07 -07:00
Yury Semikhatsky
728b4814b4
test: fix recently added junit tests ( #32844 )
2024-09-26 19:32:54 -07:00
Pavel Feldman
1a3d3f699b
chore: render recorded action list in tv mode ( #32841 )
2024-09-26 16:46:27 -07:00
Yury Semikhatsky
5b85c71722
fix(junit): env variable should take precedence over config ( #32842 )
...
Fixes https://github.com/microsoft/playwright/issues/32826
2024-09-26 15:29:09 -07:00
Max Schmitt
0d79291604
chore: hide screenshot instead of snapshot Trace Viewer feature ( #32832 )
2024-09-26 22:30:41 +02:00
Playwright Service
463bd55cf0
feat(webkit): roll to r2083 ( #32813 )
2024-09-26 21:49:02 +02:00
Pavel Feldman
9bff4d7eab
chore: move sw files into the sw/ folder ( #32837 )
2024-09-26 11:22:20 -07:00
Dmitry Gozman
6465f0b1bd
test: make sure custom asymmetric matchers work ( #32829 )
...
This adds a test for a regression introduced by #32366 and fixed by
#32795 .
2024-09-26 06:27:37 -07:00
Dmitry Gozman
a9d5c39d40
chore: address api review for page.forceGarbageCollection ( #32824 )
...
- Renamed to `page.requestGC`.
- Added a useful snippet to the docs.
References #32278 .
---------
Signed-off-by: Dmitry Gozman <dgozman@gmail.com>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-09-26 05:08:33 -07:00
Dmitry Gozman
ff954b58eb
fix(test runner): cleanup DEBUG_COLORS usage ( #32764 )
...
`DEBUG_COLORS` we default to `1`, but we should not do that when it is
already defined to some value supplied by the user.
Closes #32543 .
2024-09-26 03:15:46 -07:00
Pavel Feldman
61801aa1ee
chore: more codegen fixes ( #32816 )
2024-09-25 18:18:36 -07:00
Yury Semikhatsky
b6783bb18b
fix(ui-mode): respect --tsconfig option ( #32798 )
...
Fixes https://github.com/microsoft/playwright/issues/32797
2024-09-24 19:59:15 -07:00
Pavel Feldman
35158feec0
chore: fix codegen flakiness ( #32799 )
2024-09-24 19:56:31 -07:00
Pavel Feldman
755edfba5b
chore: fallback expect.extend to legacy ( #32795 )
2024-09-24 14:00:13 -07:00
Max Schmitt
dd91afa736
test: retry page-leak object count checks ( #32794 )
2024-09-24 18:48:54 +02:00
Max Schmitt
5e7d7f356b
test: skip codegen tracing tests in PWTEST_TRACE mode ( #32788 )
2024-09-24 12:35:05 +02:00
Max Schmitt
137f192d55
test: add different expectation for macOS/headed 'should work for canvas' ( #32774 )
2024-09-24 12:27:36 +02:00
Max Schmitt
76c3077a69
test: retry oopif boundingBox assertions ( #32787 )
2024-09-24 12:02:40 +02:00
Max Schmitt
995c73e9d9
test: skip WebKit WebGL tests on Intel macOS ( #32784 )
2024-09-24 11:55:17 +02:00
Yury Semikhatsky
fbeba6619a
devops(bidi): increase global timeout to 60m ( #32775 )
...
Firefox tests are running out of time on CI.
2024-09-23 17:55:30 -07:00
Max Schmitt
8557b98aee
test: fix CR/LF warning on only-changed tests ( #32772 )
2024-09-24 01:32:36 +02:00
Pavel Feldman
0c8b2a7c32
chore: take snapshot tab apart ( #32756 )
2024-09-23 15:51:15 -07:00
Yury Semikhatsky
11320d34c6
Revert chore: ignore third-party execution contexts ( #32437 ) ( #32771 )
...
Partially revert #32437 and add a test that console.log() messages from
content scripts are properly reported
Fixes https://github.com/microsoft/playwright/issues/32762
2024-09-23 15:48:11 -07:00
Max Schmitt
0ee9a82926
test: skip 'should work with error after successful open' on WebKit Windows ( #32769 )
2024-09-23 23:31:04 +02:00
Yury Semikhatsky
c9a26e60f5
fix(webkit): 204 response is not a failure ( #32768 )
...
The login being changed was added in
https://github.com/microsoft/playwright/pull/1260 and is supposed to
only work for navigation requests.
Reference: https://github.com/microsoft/playwright/issues/32752
2024-09-23 14:30:40 -07:00
Dmitry Gozman
b3a82bef46
feat: do not record route calls in the trace ( #32723 )
...
These are represented in the network pane instead.
2024-09-21 10:17:59 -07:00
Pavel Feldman
418d1c0c55
chore: allow starting recorder in traceviewer ( #32741 )
2024-09-20 15:25:49 -07:00
Yury Semikhatsky
bef1e990ac
chore(bidi): run firefox tests against nightly build ( #32737 )
2024-09-20 12:57:10 -07:00
Yury Semikhatsky
5c20f0c534
test: pressing tab should trigger blur event ( #32719 )
...
Reference: https://github.com/microsoft/playwright/issues/32339
2024-09-20 12:03:25 -07:00
Max Schmitt
7cd69beed2
test: unflake 'should properly synchronize local and remote time' test ( #32733 )
2024-09-20 20:21:57 +02:00
Playwright Service
33890eb6c5
feat(webkit): roll to r2080 ( #32721 )
...
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>
2024-09-20 08:28:46 -07:00
Dmitry Gozman
cdcaa7fab6
feat: routeWebSocket ( #32675 )
...
This introduces `WebSocketRoute` class and
`page/context.routeWebSocket()` methods.
2024-09-20 03:20:06 -07:00
Dmitry Gozman
ace8cb2427
fix(test runner): page.pause() should enable debug mode ( #32714 )
...
Fixes #32706 .
2024-09-20 00:41:16 -07:00
Pavel Feldman
01b44ba077
chore: remove PWTEST_RECORDER_PORT as it was ignored ( #32717 )
2024-09-19 13:35:52 -07:00
Pavel Feldman
a00e1c9c4b
chore: make recorder tests match order of codegen calls ( #32716 )
2024-09-19 10:31:44 -07:00
Max Schmitt
2b2a57abad
chore: enable @babel/plugin-syntax-import-attributes all the time ( #32713 )
2024-09-19 16:51:35 +02:00
Dmitry Gozman
cc302fa515
fix(chromium): allow PlzDedicatedWorker ( #32711 )
...
With the recent Chromium fixes in v129, it is now safe to enable this
feature.
Fixes #31747 .
2024-09-19 06:38:58 -07:00
Dmitry Gozman
5089d9f293
fix(chromium): disable ThirdPartyStoragePartitioning ( #32701 )
...
See
https://developers.google.com/privacy-sandbox/cookies/storage-partitioning
for more details.
References #32230 .
2024-09-19 03:12:21 -07:00
Max Schmitt
61cbca6695
test: fix client-certificate tests ( #32691 )
2024-09-19 12:03:05 +02:00
Max Schmitt
48030a4eff
test: fix test expecations after Node.js 22.9.0 ( #32695 )
2024-09-19 10:52:29 +02:00
Pavel Feldman
2f4acbb001
chore: use contentFrame() as a canonical locator representation ( #32697 )
2024-09-18 20:15:01 -07:00
Pavel Feldman
790dbfd78f
fix(codegen): use content_frame property in python ( #32699 )
2024-09-18 19:11:14 -07:00
Dmitry Gozman
f9d9ad25de
feat(locator handler): perform checkpoit during `locator.waitFor` ( #32683 )
...
Fixes #32255 .
2024-09-18 09:34:06 -07:00
Max Schmitt
d4eecafa8a
test: listen always on 127.0.0.1 for client certificate tests ( #32677 )
2024-09-18 17:09:08 +02:00
Max Schmitt
523ec83cad
chore: move Location type from testReporter.d.ts to test.d.ts ( #32687 )
2024-09-18 16:57:11 +02:00
Max Schmitt
ec3db20743
test: fix toolbar hydration test under frozen suite ( #32684 )
2024-09-18 15:35:33 +02:00
Simon Knott
825df6c074
feat(har): record `serverIPAddress` for API requests ( #32660 )
...
Discovered working on
https://github.com/microsoft/playwright/pull/32658 . We're recording the
remote server address for browser requests, but not for API requests.
This PR adds that for API requests.
2024-09-18 14:51:42 +02:00
Max Schmitt
9fc195bff5
test: update cookie expectations for macOS 15 ( #32674 )
2024-09-18 11:08:17 +02:00
Simon Knott
4460c98710
fix(har tracing): record `response.bodySize` for API requests ( #32656 )
...
A small drive-by that came out of working on
https://github.com/microsoft/playwright/issues/32653 .
2024-09-18 08:21:10 +02:00
Simon Knott
8a97050822
feat(har): record `securityDetails` for API Requests ( #32664 )
...
While working on https://github.com/microsoft/playwright/pull/32658 I
discovered that we're recording `securityDetails` for browser requests,
but not for API requests. This PR fixes that.
2024-09-18 08:18:47 +02:00
Simon Knott
443f72dcbe
feat(watch): hide show-report prompt ( #32666 )
...
Closes https://github.com/microsoft/playwright/issues/32665
2024-09-18 08:17:13 +02:00
Pavel Feldman
355c88f48f
chore: iterate towards recording into trace ( #32646 )
2024-09-17 18:26:44 -07:00
Yury Semikhatsky
4c4d74ca5b
chore: page.screenshot() in bidi ( #32671 )
...
The results are copied from the existing chromium expectations.
2024-09-17 16:51:56 -07:00
Yury Semikhatsky
ad70e7a783
fix(trace-viewer): time delta between local and remote actions ( #32661 )
2024-09-17 11:14:15 -07:00
Simon Knott
f1390cc269
chore(har recorder): ensure we respect minimal mode ( #32658 )
...
Closes https://github.com/microsoft/playwright/issues/32653 .
Adds some test coverage to ensure we respect minimal mode for API
Requests in HAR tracing.
| omit setting | result |
| - | - |
| `omitCookies` | added test for it |
| `omitTiming` | already covered |
| `omitSecurityDetails` | not recorded yet |
| `omitServerIP` | we don't record it yet, so no action here. gonna open
a separate issue |
| `omitPages` | not relevant to API requests |
| `omitSizes` | added test for it |
| `omitScripts` | not relevant to API requests |
2024-09-17 19:59:44 +02:00
오소현
8761dafc73
feat(test runner): allow to pass arbitrary location to test.step ( #32504 )
...
Fixes https://github.com/microsoft/playwright/issues/30160
### Description:
This pull request introduces the ability to specify custom locations for
test steps in Playwright. By enabling the provision of arbitrary
locations to the test.step method, it resolves the limitation where
helper methods obfuscate the original call site, providing more accurate
and meaningful location data in test reports.
### Motivation:
To enhance the utility and clarity of test reports in Playwright.
Specifically, it addresses the need to trace test steps back to their
precise location in the code, which is especially important when steps
are abstracted in helper functions. This feature is crucial for
maintaining accurate documentation and facilitating debugging processes.
### Changes:
Added functionality to pass a custom location object to test.step.
### Expected Outcome:
This PR is expected to significantly improve the precision and
usefulness of diagnostic data in test reports by allowing specific
locations within helper functions to be accurately documented. It
facilitates better tracking of test executions and simplifies the
debugging process, making it easier for developers to understand and
address issues within complex tests.
### References:
Closes https://github.com/microsoft/playwright/issues/30160 -
"[Feature]: allow to pass arbitrary location to test.step"
**Code Check**
I conducted tests on this new feature by integrating it into some
existing test codes, and it worked well. I will attach the code used for
testing and a screenshot showing the successful outcome.
<details>
<summary>toggle dropdown</summary>
<div markdown="1">
```
import type { Location } from '../../../packages/playwright/types/testReporter'
...
test('should respect the back button', async ({ page }) => {
await page.locator('.todo-list li .toggle').nth(1).check();
await checkNumberOfCompletedTodosInLocalStorage(page, 1);
...
await test.step('Showing active items', async () => {
await page.getByRole('link', { name: 'Active' }).click();
}, {location});
```
<img width="1109" alt="image"
src="https://github.com/user-attachments/assets/359feafa-0949-4c71-9426-46debef21bdd ">
</div>
</details>
2024-09-17 08:11:21 -07:00
Simon Knott
751b939d3a
feat(fetch): record timings ( #32613 )
...
Related to https://github.com/microsoft/playwright/issues/19621
Adds some instrumentation to collect timings for `APIRequestContext`
requests and adds them to the HAR trace. Doesn't yet expose them via an
API, but makes our `Duration` field in the trace viewer show a nice
duration:
<img width="1392" alt="Screenshot 2024-09-14 at 11 46 04"
src="https://github.com/user-attachments/assets/8020382d-9494-4634-9cfd-22b6f4a1d770 ">
I'm gonna add it to our API in a separate PR.
---------
Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-09-17 16:11:21 +02:00
Simon Knott
f6219e6e79
Revert "feat(tracing): add .pwtrace to trace file extension" ( #32648 )
...
Reverts microsoft/playwright#32581
Relates
https://github.com/microsoft/playwright/issues/32226#issuecomment-2351164727
2024-09-17 15:32:30 +02:00
Simon Knott
ec2ae1ed2d
feat(watch mode): buffer mode ( #32631 )
...
Closes https://github.com/microsoft/playwright/issues/32578 .
Adds a buffer mode that can be toggled by pressing <kbd>b</kbd>. When
engaged, changed test files are collected and shown on screen. The test
run is then kicked off by pressing <kbd>Enter</kbd>.
This changes the signal to start a test run from <kbd>Cmd+s</kbd> to a
<kbd>Enter</kbd> press in the test terminal. It should help users with
auto-save and make it easier to run on long-running tests. It feels very
similar to running `npx playwright test`, but without having to write a
filter.
https://github.com/user-attachments/assets/71e16139-9427-4e90-b523-8d218f09ed9d
2024-09-17 08:45:44 +02:00
Simon Knott
b0f15b320f
fix(recorder): reattach toolbar if it was unmounted by framework hydration ( #32637 )
...
Closes https://github.com/microsoft/playwright/issues/32632 . A side
effect of Remix's hydration implementation is that it throws away the
entire DOM. This is broadly discussed in
https://github.com/remix-run/remix/issues/4822 - there might be a fix in
coming React versions, but who knows.
Besides breaking browser extensions, this also deletes our toolbar!
This PR fixes it by periodically checking in on `x-pw-glass`, and
remounting it if it was unmounted. Hacky but effective!
2024-09-17 08:37:49 +02:00
Pavel Feldman
6dbde62a6b
chore: simplify signal handling while recording ( #32624 )
2024-09-16 14:39:36 -07:00
Max Schmitt
21d162c945
feat(client-certificates): add support for proxies ( #32611 )
...
Fixes https://github.com/microsoft/playwright/issues/32370
2024-09-16 17:57:33 +02:00
Dmitry Gozman
268357238a
fix(expect): respect custom message in expect.poll ( #32603 )
...
Fixes #32582 .
2024-09-16 00:10:06 -07:00
Simon Knott
aeb4d182f7
feat(tracing): add .pwtrace to trace file extension ( #32581 )
...
Closes https://github.com/microsoft/playwright/issues/32226
I've updated every mention of `.trace.zip` except for the release notes.
2024-09-14 10:17:07 +02:00
Yury Semikhatsky
34876e9291
chore: cookies in intercepted bidi requests ( #32623 )
2024-09-13 18:29:35 -07:00
Matthew Jee
f2a974b045
feat(api): add method to force garbage collection ( #32383 )
2024-09-13 23:09:36 +02:00
Max Schmitt
79cba7d704
chore: introduce option overrides on context/browser ( #32606 )
2024-09-13 17:34:34 +02:00
Simon Knott
9bb1c86f93
feat(test runner): don't run tests on --watch start ( #32583 )
...
Closes https://github.com/microsoft/playwright/issues/32580 .
2024-09-13 17:24:38 +02:00
Simon Knott
48c7fb6b06
feat(library): accept `FormData` in `fetch` ( #32602 )
...
Closes https://github.com/microsoft/playwright/issues/26520 by accepting
`FormData`, which became stable in Node.js in v21.
2024-09-13 13:21:02 +02:00
Pavel Feldman
d051495c7a
chore: perform double click while recording ( #32576 )
2024-09-12 11:40:44 -07:00
Max Schmitt
8e82f53ceb
test: unskip various proxy tests ( #32595 )
...
Unskipping of various tests and revert the rest of
https://github.com/microsoft/playwright/pull/6350 since the upstream bug
has been fixed.
2024-09-12 20:31:22 +02:00
Simon Knott
ef4be6afff
feat(test runner): make `expect.extend` immutable ( #32366 )
...
Changes `expect.extend` behaviour so that it doesn't mutate the global
instance and behaves closer to what users expect. This is formally a
breaking change, and I had to remove a test that asserts the breaking
behaviour.
TODO:
- [x] decide wether this is a separate method or a flag for
`expect.extend`
- [x] figure out if we need to change docs
2024-09-12 19:56:38 +02:00
Yury Semikhatsky
d1926e2f9b
chore: do not store project name in expectations ( #32575 )
2024-09-11 15:15:10 -07:00
Yury Semikhatsky
678c454fea
test: update bidi expectations from recent run ( #32574 )
2024-09-11 14:59:28 -07:00
Yury Semikhatsky
fd1f32556b
chore: run all tests with bidi by default ( #32572 )
...
Only use expectation files on CI to save resources
2024-09-11 14:24:32 -07:00
Yury Semikhatsky
a8103abee6
chore: incremental bidi expectation update, ff expectations ( #32570 )
...
* Do not override expectations for the tests that didn't run or already
had expectations
* Sort expectations alphabetically
* Add firefox expectations
2024-09-11 13:33:25 -07:00
Max Schmitt
7458c3292c
fix(test-runner): do not consider retries for maxFailures ( #32533 )
...
Fixes https://github.com/microsoft/playwright/issues/26350
2024-09-11 20:35:26 +02:00
Yury Semikhatsky
1f0514536e
chore: add bidi test expectations in separate file ( #32549 )
...
Based on the expectations the tests that are expected to timeout or fail
will be skipped to save resources. The expectations can be manually
updated when corresponding feature is fixed.
2024-09-11 08:28:29 -07:00
Dmitry Gozman
7335fa602c
fix(trace viewer): do not show multiple action points in iframes ( #32537 )
...
When action has an input target, we assume there is a target element in
one of the frames and show action point in its center.
Fixes #32453 .
2024-09-11 03:04:03 -07:00
Rui Figueira
f8562e4ca7
chore: improve error message when Array.toJSON misbehaves ( #32508 )
...
Fixes : #32507
2024-09-10 04:14:24 -07:00
Max Schmitt
9fa06be49e
fix(ct): throw error if inline component is getting mounted ( #32531 )
...
What was happening?
- When we use CT, we go over the test files, look at the imports using
`tsxTransform.ts` and store them inside a map, these we feed into the
import registry which we build using Vite and have access inside the
browser
- In case of an inline component in the same file as where the test file
is, this is not happening.
- jsx-runtime via babel kicks in, transforms every JSX component in
something like that:
```
{
__pw_type: 'jsx',
type: [Function: MyInlineComponent],
props: { value: 'Max' },
key: undefined
}
```
this then gets passed into `wrapObject` which maps any function from the
Node.js side into expose function calls so they work inside the browser.
The assumption for `wrapObject` was to do it mostly for callbacks. So it
does for `type` - which is actually our component. We then pass this to
the React render function, which calls back the exposed function but we
never return anything, so it mounts `undefined`.
---
While there have been experiments from certain vendors to get the
'client only' code inside a server side file, we should throw for now to
not confuse users. We might revisit this in the future since Babel / TSX
doesn't support it outside of the box.
Fixes https://github.com/microsoft/playwright/issues/32167
2024-09-10 11:15:20 +02:00
Yury Semikhatsky
c8a72d63ad
chore: run bidi firefox tests on ci ( #32527 )
2024-09-09 17:22:19 -07:00
Pavel Feldman
6d5889a52c
chore: revert the matcherResult in API ( #32524 )
2024-09-09 16:44:32 -07:00
Dmitry Gozman
ae118674b8
fix(test runner): allow directory imports with path mapping ( #32491 )
...
We now hopefully align with `moduleResolution: bundler` tsconfig option,
allowing directory imports in every scenario, and allowing proper module
imports when not going through the type mapping.
This regressed in #32078 . Fixes #32480 , fixes #31811 .
2024-09-09 14:01:20 -07:00
Dmitry Gozman
6bb005db85
fix(test runner): improve error message when not able to parse tsconfig ( #32526 )
2024-09-09 14:01:02 -07:00
Dmitry Gozman
e6c5b6054d
test: fix project filter test ( #32525 )
...
It was erroneously passing projects separate by comma, which never
worked.
2024-09-09 14:00:51 -07:00
Pavel Feldman
9a313eecc9
chore: roll expect and move it to third party ( #32458 )
2024-09-09 13:12:20 -07:00
Simon Knott
cc9c4cdd9a
chore: fix flaky screenshot test ( #32517 )
...
In this test, the trace recording goes super fast. Sometimes, this means
that the recording is finished before the screen recorder got a chance
to take a screenshot. If that happens, the tests fail because we never
show a screenshot.
This PR fixes the flakiness by delaying the trace recording so that
there's always a screenshot taken.
2024-09-09 14:00:38 +02:00
Max Schmitt
ae02331d00
test: fix stress tests bots ( #32513 )
2024-09-09 12:52:40 +02:00
Max Schmitt
718bd9b35f
devops: run BiDi tests ( #32493 )
2024-09-07 09:16:42 +02:00
Yury Semikhatsky
a113553f14
test: allow running oopif test without newBrowserCDPSession ( #32496 )
2024-09-06 13:49:37 -07:00
Yury Semikhatsky
df2bc2d0dc
test: worker interception for existing workers ( #32494 )
...
Failing test for https://github.com/microsoft/playwright/issues/32355
2024-09-06 13:17:49 -07:00
Yury Semikhatsky
d85527e9f6
test: some tests for expected API behavior ( #32495 )
...
Adding some tests discussed in
https://github.com/microsoft/playwright/pull/32434
2024-09-06 13:13:44 -07:00
Dmitry Gozman
1402dee9e6
Revert "fix(test runner): align with typescript behaviour for resolving `index.js` and `package.json` through path mapping ( #32078 )" ( #32492 )
...
This reverts commit effb1ae234
.
This broke path mapping into directories in ESM mode. References #32480 .
2024-09-06 12:08:10 -07:00
Simon Knott
3fe1263643
feat(trace viewer): show Screenshot instead of Snapshot ( #32248 )
...
Closes https://github.com/microsoft/playwright/issues/23964 .
Trace snapshots are a best-effort snapshots of the browser DOM, but we
can't guarantee them to be exactly what the browser showed. One example
of this is `canvas` elements, where you just can't see their contents.
That makes snapshots useful, but not perfect.
For those cases where the snapshot doesn't show everything, this PR
introduces a new setting to show a screenshot instead. You won't be able
to scroll or inspect the DOM or select a locator anymore. But if the
snapshot was missing something, or displaying something wrong, you can
now check the screenshot instead.
2024-09-06 16:24:33 +02:00
Max Schmitt
ed303208b3
test: update to android-35 SDK (Android 15) ( #32430 )
2024-09-06 14:27:56 +02:00
Simon Knott
0e3f4736cc
fix(test runner): always show all projects in selection ( #32450 )
...
Follow-up to
https://github.com/microsoft/playwright/pull/32156#discussion_r1741628770 ,
alternative solution to
https://github.com/microsoft/playwright/pull/32425 .
Ensures we always show all projects in the watch mode project selector
by performing the initial `listTests` without any filters, and using its
result for the project selector.
2024-09-06 11:35:20 +02:00
Pavel Feldman
a52eb0c9a0
chore: expose matcherResult on TestError ( #32455 )
2024-09-05 21:36:51 -07:00
Yury Semikhatsky
f0e13164d7
chore: split firefox and chromium bidi implementations ( #32478 )
2024-09-05 18:31:56 -07:00
Yury Semikhatsky
752b171a13
chore: support bidi connection to chromium ( #32474 )
2024-09-05 14:56:07 -07:00
Dmitry Gozman
1ba3db6864
chore: implement clear-cache through plugins ( #32471 )
...
Also switches it to task runner.
2024-09-05 13:50:16 -07:00
Dmitry Gozman
d4c77ce260
chore: make find-related-test-files work through plugins ( #32465 )
...
Also switches it to the task runner.
2024-09-05 06:52:11 -07:00
Simon Knott
29f1541b14
chore: roll stable test runner to 1.47 beta ( #32469 )
2024-09-05 13:44:22 +02:00
Dmitry Gozman
91012833c6
chore: move 'dev-server' extensibility point to plugin ( #32448 )
...
Instead of plumbing it through a custom unspecified config field, make
it a part of plugin interface.
Additionally, use task runner for starting/stopping dev server.
2024-09-05 02:22:27 -07:00
Yury Semikhatsky
9a2c60a77c
chore: identify largest gaps in Bidi API ( #32434 )
...
This pull request introduces initial support for the WebDriver BiDi
protocol in Playwright. The primary goal of this PR is not to fully
implement BiDi but to experiment with the current state of the
specification and its implementation. We aim to identify the biggest
gaps and challenges that need to be addressed before considering BiDi as
the main protocol for Playwright.
2024-09-04 11:36:52 -07:00
Kuba Janik
ee91bdc585
feat(ui-mode): display list of query params in request tab ( #32443 )
2024-09-04 07:54:44 -07:00
Dmitry Gozman
60631409d6
chore: make dev server only use public config ( #32441 )
...
In preparation to make it a part of a plugin.
2024-09-04 01:29:55 -07:00
Yury Semikhatsky
565aed6c39
Revert "chore: enforce tags format via typescript types ( #32384 )" ( #32431 )
...
After API review we decided to revert it:
* VSCode extension and UI mode users already get the (runtime) error if
the tag is not prefixed
* The typescript error message is not very nice
* The type change would break those clients that generate tests with
tags passed as string
This reverts commit 90e7b9ebac
.
2024-09-03 10:07:08 -07:00
Simon Knott
201bad75d3
chore(test runner): rebase watch mode onto TestServerConnection ( #32156 )
...
Closes https://github.com/microsoft/playwright/issues/32076 .
This PR rewrites `watchMode.ts` to use `TestServer` under the hood. It's
essentially a complete rewrite, so don't pay too much attention on the
old implementation. Note that there's no changes to tests, so all
behaviour we have specced out there still works.
To make this work without a superfluous WebSocket connection, I had to
refactor `TestServerConnection` a little. Originally, I pulled this into
a [separate PR](https://github.com/microsoft/playwright/pull/32132 ), but
then realised how small the refactoring is. So it's in this PR now. Let
me know if you'd like to land it separately.
2024-09-03 15:15:44 +02:00
Simon Knott
f62f85ba51
fix(test runner): fix types to allow calling custom matchers on `expect.poll` ( #32407 )
...
The `'should support custom matchers'` test asserts that the
functionality works, but it was a type error. This PR updates the types
so that it's allowed.
Closes https://github.com/microsoft/playwright/issues/32408
---------
Signed-off-by: Simon Knott <info@simonknott.de>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-09-02 13:42:15 +02:00
Simon Knott
cf8c14f884
feat(html reporter): open html attachments in new tab ( #32389 )
...
Closes https://github.com/microsoft/playwright/issues/32281 .
HTML attachments get a linkified name that opens the attachment in a new
tab.
2024-09-02 08:35:53 +02:00
Kuba Janik
a6b320e362
fix(ui-mode): format request body when headers are lower case ( #32395 )
...
Resolves https://github.com/microsoft/playwright/issues/32396
Currently, the request body is not formatted when content type header is
lower case (`content-type`). Even though the value is
`application/json`.
It happens because we are looking only for `Content-Type` header
ignoring headers that are lower case.
<img width="674" alt="363197933-5178ec23-b9cf-46b5-8284-e8d4d730b036"
src="https://github.com/user-attachments/assets/0ef01b52-7dd8-4f33-b836-9adb86f94cc9 ">
2024-08-30 16:21:51 +02:00
Simon Knott
ed5c21b827
fix(ui): respect --output param ( #32351 )
...
Closes https://github.com/microsoft/playwright/issues/32331
We're already passing the `outputDir` param to the UI, but the UI isn't
passing it back to the TestServer. This PR fixes that. I've added it to
`listTests`, which is requires to that
`TestServerDispatcher#_ignoredProjectOutputs` is populated with the
correct output dir. And i've added it to `runGlobalSetup`, which is what
the bug report was about.
2024-08-30 08:29:49 +02:00
Yury Semikhatsky
90e7b9ebac
chore: enforce tags format via typescript types ( #32384 )
...
Leverage [template literal
types](https://www.typescriptlang.org/docs/handbook/2/template-literal-types.html ).
Fixes https://github.com/microsoft/playwright/issues/32382
2024-08-29 14:16:49 -07:00
Yury Semikhatsky
896190edbb
Revert feat(addInitScript): support cjs modules ( #32364 )
...
Reverting https://github.com/microsoft/playwright/pull/32282 and
https://github.com/microsoft/playwright/pull/32240 .
2024-08-28 15:39:48 -07:00
Playwright Service
d61b207ce3
feat(webkit): roll to r2066 ( #32343 )
...
Fixes https://github.com/microsoft/playwright/issues/30305
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
2024-08-28 08:23:39 -07:00
Yury Semikhatsky
0fd97cb9ed
tests: delete flaky COOP test ( #32346 )
...
The scenario that the test covers is inherently racy and has been flaky
in all browsers.
Fixes https://github.com/microsoft/playwright/issues/32107
2024-08-27 14:53:27 -07:00
Pavel Feldman
bc87467b25
chore: generate simple dom descriptions in codegen ( #32333 )
2024-08-27 11:52:14 -07:00
Yury Semikhatsky
3f085d5689
chore: remove same-site expectations for old browsers ( #32334 )
2024-08-26 18:41:58 -07:00
Pavel Feldman
4340d153df
chore: deprecate locator.frameLocator() ( #32306 )
2024-08-26 10:28:54 -07:00
Max Schmitt
67d3d5f203
fix(clock): don't throw for |null| or |undefined| callbacks ( #32309 )
...
Fixes https://github.com/microsoft/playwright/issues/32293
This aligns it how Chromium and other browsers are doing it.
2024-08-26 09:26:38 -07:00
Max Schmitt
54709880c2
test: update Modernizir expectations ( #32308 )
...
Looks like `hiddenscroll` was different when an external monitor was
connected.
2024-08-26 08:32:22 -07:00
Max Schmitt
596f497633
fix: don't throw error on about:blank when blocking ServiceWorker ( #32310 )
...
Fixes https://github.com/microsoft/playwright/issues/32292
2024-08-26 08:27:21 -07:00
Simon Knott
1511d8643e
fix(test runner): expect.poll error reporting should handle non-expect errors ( #32257 )
...
Closes https://github.com/microsoft/playwright/issues/32256
We were expecting all errors to be of type `ExpectError`, but apparently
`expect` propagates rejections in the polling functions right through.
So we also need to handle that case.
I wonder if we have more cases of this. Would it make sense to enable
`useUnknownInCatchVariables` in TypeScript?
2024-08-26 09:39:25 +02:00
Max Schmitt
54c487c939
test: unskip 'should use ipv6 proxy' for Docker
2024-08-24 11:49:18 +02:00
Pavel Feldman
9d86bc5336
fix(dupe): render dupe test error indicator ( #32303 )
...
Fixes https://github.com/microsoft/playwright/issues/32093
2024-08-23 14:33:37 -07:00
Playwright Service
8703dd4f06
feat(webkit): roll to r2063 ( #32295 )
2024-08-23 17:57:18 +02:00
Max Schmitt
0d4d5758c4
test: update Modernizer tests to Safari 18 ( #32290 )
...
Fixes https://github.com/microsoft/playwright/issues/32288
---------
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-08-23 16:59:55 +02:00
Max Schmitt
1b220c5289
chore: remove Chromium Windows proxy hacks ( #31724 )
...
Fixes https://github.com/microsoft/playwright/issues/17252
2024-08-23 15:17:00 +02:00
Simon Knott
3fb33e7144
chore(ui): decouple TestServerConnection from websocket transport ( #32274 )
...
Preparation for https://github.com/microsoft/playwright/issues/32076 .
2024-08-23 14:58:34 +02:00
Max Schmitt
8c0e173d6c
test: rebase modernizer Linux tests ( #32268 )
2024-08-23 12:51:49 +02:00
Dmitry Gozman
3a75f23ea1
fix(addInitScript): require non-undefined arg to trigger commonjs module ( #32282 )
2024-08-23 02:48:56 -07:00
Simon Knott
0b9c036505
chore(ui): add test for font preview ( #32225 )
...
Adds a test for the font preview feature.
2024-08-22 17:56:07 +02:00
Max Schmitt
16e76cb71a
fix(client-certificates): errors during http2 TLS handshake ( #32258 )
2024-08-22 15:13:54 +02:00
Simon Knott
5368fd7ca7
fix(only-changed): exit successfully if there were no changes ( #32197 )
...
Closes https://github.com/microsoft/playwright/issues/32180
I was briefly wondering if we should output a log line a la "no tests
found", but my understanding is that that's the reporters job - so I
didn't change anything in that regard.
2024-08-22 14:53:00 +02:00
Dmitry Gozman
7758b330b1
fix(ui mode): make sure that reload does correctly restart the webserver ( #32263 )
...
Fixes #32103 .
2024-08-22 05:48:31 -07:00
Max Schmitt
e3480d1886
test: add test for TLS renegotiation and client-certificates ( #32252 )
2024-08-22 08:42:09 +02:00
Dmitry Gozman
571f25a7d3
fix(role): hidden pseudos should not contribute to accessible name ( #32251 )
2024-08-21 11:14:41 -07:00
Dmitry Gozman
d5a7495041
feat(addInitScript): support cjs modules when passing both `path` and `arg` ( #32240 )
...
This works with scripts bundled by:
- `esbuild entrypoint.ts --bundle --format=cjs --outfile=injected.js`
- webpack with a typical config
```js
module.exports = {
entry: { 'injected': './entrypoint.js', },
output: {
path: require('path').resolve(__dirname),
filename: '[name].js',
libraryTarget: 'commonjs2',
},
};
```
2024-08-21 09:46:38 -07:00
Yury Semikhatsky
918dbe5e3a
chore: start listening for navigation events before navigation starts ( #32237 )
...
There is a chance in case of cross-process navigation that the
navigation event comes before `navigateFrame` finishes.
2024-08-21 08:34:55 -07:00
Dmitry Gozman
b4a9b247b4
fix(role): make sure to ignore style/script/noscript/template ( #32231 )
...
Even when these are a part of a hidden `aria-labelledby` traversal, all
browsers ignore them anyway.
2024-08-20 09:02:23 -07:00
Simon Knott
b599335404
chore(ui): enable `react/recommended` lint rules ( #32214 )
...
Closes https://github.com/microsoft/playwright/issues/32159 . I
originally set out to enable Strict Mode for our React UI, but found a
way better thing: Enabling the lint rules we had already installed!
`eslint-plugin-react` is already in of our `package.json`, and this PR
enables it and fixes some of the reported issues. Most of them are
around the `key` prop which is mostly about performance, but there's
also fixes for misspelled `data-testid` props.
2024-08-20 14:16:28 +02:00
Dmitry Gozman
5271c26af1
fix(trace viewer): do not serve resources with x-unknown content type ( #32219 )
...
`x-unknown` is used as a placeholder for "no content-type" in the har.
We should not send it to the browser, because it is meaningfully
different from not sending `Content-Type` header. For example, Chromium
refuses to interpret stylesheets served with `x-unknown` content type.
Fixes https://github.com/microsoft/playwright-java/issues/1651 .
2024-08-19 10:29:51 -07:00
Playwright Service
18694f6843
feat(webkit): roll to r2062 ( #32147 )
2024-08-19 19:29:23 +02:00
Max Schmitt
010778f6c5
feat(client-certificates): allow passing certificates from memory ( #32210 )
2024-08-19 09:24:32 +02:00