Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
251 commits
Select commit Hold shift + click to select a range
288bd87
chore(mcp): unguessable mdb url (#37677)
yury-s Oct 2, 2025
d2a6174
chore: update browser_patches to 7eee05d75 (#37688)
agg23 Oct 2, 2025
adaef27
Revert "fix(trace): should survive ping as the first command after re…
pavelfeldman Oct 2, 2025
0193454
Revert "fix(trace): survive sw restart" (#37690)
pavelfeldman Oct 2, 2025
7f3c4f6
chore: remove the wrong heap test (#37682)
dgozman Oct 2, 2025
530761f
docs: use VS Code images for test agents (#37693)
pavelfeldman Oct 2, 2025
42a623f
chore: move best practices into the journal (#37694)
pavelfeldman Oct 3, 2025
258b4dc
chore: fix context._disableRecorder (#37685)
dgozman Oct 3, 2025
6fa48c1
fix(library): don't dirty page state when calling page.close() (#37608)
agg23 Oct 3, 2025
c85932f
chore(bidi): use firefox browser type with moz-firefox- channel (#37696)
yury-s Oct 3, 2025
83d5165
chore(bidi): use bidi- channels with playwright.chromium (#37702)
yury-s Oct 3, 2025
2c95eb1
docs: pageErrors should return strings in Java and C# (#37703)
yury-s Oct 3, 2025
eee0d95
docs: Enhance `docs/src/api/class-browsercontext.md` (#37680)
stefanseeger Oct 6, 2025
30ddf7a
test: roll stable-test-runner to 1.57.0-alpha-2025-10-06 (#37716)
microsoft-playwright-automation[bot] Oct 6, 2025
1a20269
chore: disable RenderDocument feature (#37715)
dgozman Oct 6, 2025
957cf54
docs: v1.56 release notes (#37687)
agg23 Oct 6, 2025
ce1082e
fix: `exposeBinding` should work in parallel (#37721)
Skn0tt Oct 6, 2025
15869b4
devops: fix NPM release step (#37727)
agg23 Oct 6, 2025
3270ee6
chore: update https-proxy-agent (#37713)
Skn0tt Oct 6, 2025
c0243cb
chore(mcp): fix file download test flake (#37725)
agg23 Oct 6, 2025
cd09071
chore: roll stable-test-runner to v1.56.0-beta-1759754009000 (#37723)
agg23 Oct 6, 2025
dfc9316
test(bidi): fix the csv reporter (#37729)
hbenl Oct 6, 2025
e232ae1
test(bidi): always use a channel for bidi chromium (#37732)
yury-s Oct 6, 2025
26d0024
docs: add agents video to agents page (#37731)
agg23 Oct 6, 2025
d963d12
fix(trace-viewer): decode + quote report path in fallback “Copy Comma…
nilgaar Oct 7, 2025
232ea01
fix: httpRequest for http url via https proxy (#37743)
Skn0tt Oct 7, 2025
eb42923
fix: step id not found error log (#37748)
Skn0tt Oct 7, 2025
490fd6b
chore: update socks-proxy-agent (#37752)
Skn0tt Oct 7, 2025
952b643
chore(mcp): minimal vscode version notice (#37755)
yury-s Oct 7, 2025
ef257ec
chore(mcp): fallback to cwd when resolving test config (#37757)
pavelfeldman Oct 7, 2025
4997caf
docs: mention VS Code insiders in the agents docs (#37758)
pavelfeldman Oct 7, 2025
e467923
chore: rename agents to test agents (#37759)
pavelfeldman Oct 7, 2025
47f3da3
feat(mcp): support test-id-attribute option (#37760)
pavelfeldman Oct 7, 2025
2c0c709
chore: simplify trace sw (#37706)
pavelfeldman Oct 7, 2025
9f3fce1
chore: migrate proxy handling to WHATWG URL (#37745)
Skn0tt Oct 8, 2025
6d7eafb
test: cft bot (#37770)
dgozman Oct 8, 2025
485aaf7
test: allow for new properties on window.performance (#37773)
yury-s Oct 8, 2025
e396b9f
chore(mcp): merge refLocator and generateSelector (#37781)
dgozman Oct 9, 2025
47fbd3a
chore: remove HMR support from trace viewer (#37785)
pavelfeldman Oct 9, 2025
e8bf688
fix: do not advance real time while forwarding (#37705)
pavelfeldman Oct 9, 2025
d5c299d
chore: remove unwrap popout url (#37787)
pavelfeldman Oct 9, 2025
7f31ab6
test(bidi): unskip some Firefox BiDi tests (#37751)
hbenl Oct 9, 2025
ea3fab6
chore(trace): pass trace param to sha1 requests (#37788)
pavelfeldman Oct 10, 2025
ccb908a
fix(shadow dom): follow assigned slot when hit-testing (#37777)
Skn0tt Oct 10, 2025
99515d7
docs: update demo trace URL (#37794)
Skn0tt Oct 10, 2025
e553669
Fix: Add unique key prop to React elements in FilmStrip component (#3…
Copilot Oct 13, 2025
bd60309
feat: incremental aria snapshot (#37795)
dgozman Oct 13, 2025
dce402c
test: roll stable-test-runner to 1.57.0-alpha-2025-10-13 (#37819)
microsoft-playwright-automation[bot] Oct 13, 2025
e6e6525
docs: improve testing library migration docs for within (#37796)
codfish Oct 13, 2025
25ca30f
docs: discourage Download.createReadStream (#37831)
Skn0tt Oct 13, 2025
8b19607
test(bidi): remove newlines from fixme descriptions in the csv report…
hbenl Oct 13, 2025
271ab26
test: produce merged report for MCP tests (#37828)
dgozman Oct 13, 2025
4f9ba4b
fix(test-runner): attachments push enumerable property (#37814)
vladlearns Oct 13, 2025
2efc46a
feat(uimode): add pick locator button to inspector tab (#37753)
agg23 Oct 13, 2025
e514ea6
fix(trace): Remove dangling semicolon (#37839)
cpAdm Oct 13, 2025
3afe7ba
chore(trace): survive the sw restart in most cases (#37833)
pavelfeldman Oct 14, 2025
b2236c8
fix(clock): do not advance into the past (#37820)
dgozman Oct 14, 2025
3f67e71
fix(glob): do not treat custom schema as special (#37851)
yury-s Oct 14, 2025
8120834
chore: use flexbox size for network details (#37842)
yury-s Oct 14, 2025
7e7455b
chore: include trace viewer webmanifest into npm (#37841)
yury-s Oct 14, 2025
7fbba75
chore(mcp): encourage relative path usage (#37857)
pavelfeldman Oct 14, 2025
45e1a89
test(bidi): update test expectations for Firefox BiDi (#37827)
hbenl Oct 14, 2025
6e775c7
fix: reset element not found error when element is present (#37860)
yury-s Oct 14, 2025
1532d51
chore(mcp): cap image size (#37856)
pavelfeldman Oct 15, 2025
ea2360e
chore(agents): render tool names (#37848)
Skn0tt Oct 15, 2025
068b62e
chore: skip progress and download size checks for chunked transfer (#…
Skn0tt Oct 15, 2025
0927650
chore(ct): add further checks to prevent React injection (#37847)
agg23 Oct 15, 2025
7fef644
fix(ui-mode): recalculate dialog position (#37849)
agg23 Oct 15, 2025
63d41d2
chore(test): hopefully fix ct tests on Windows (#37852)
agg23 Oct 15, 2025
766a93b
chore: enable service worker networking by default (#37868)
dgozman Oct 15, 2025
9eefb6e
fix: allow screenshot capture when filename is an empty string (#37678)
ogadra Oct 15, 2025
1604a2e
feat: add Locator.description() getter (#37870)
yury-s Oct 15, 2025
9f1fcc6
chore: generate coverage.md with init-agents (#37876)
pavelfeldman Oct 15, 2025
499e1c6
chore(ci): remove tests_cft (#37884)
agg23 Oct 16, 2025
deca3ac
chore: refactor init-agents (#37877)
pavelfeldman Oct 16, 2025
c347bb4
chore(trace-viewer): fix actions header alignment (#37889)
agg23 Oct 16, 2025
630345d
chore(ui): fix TreeView tree role (#37888)
agg23 Oct 16, 2025
e953dce
chore(ui): fix Expandable aria attributes (#37885)
agg23 Oct 16, 2025
6f965ad
fix(agents): remove workspaceFolder ref from vscode mcp (#37891)
pavelfeldman Oct 16, 2025
ed73b26
fix: do not zip live stack traces in ui mode (#37887)
yury-s Oct 16, 2025
eed1f19
chore: allow local-network-access permission in chromium (#37871)
yury-s Oct 16, 2025
d8b75e5
feat(webkit): roll to r2221 (#37873)
microsoft-playwright-automation[bot] Oct 17, 2025
1ca9f66
feat(mcp): add headers capability (#37583)
lupuletic Oct 17, 2025
a8bc0a0
docs: release notes for langs (#37762)
yury-s Oct 17, 2025
94037eb
chore: update mcp test expectations after #37583 (#37904)
yury-s Oct 17, 2025
7498e6a
chore: generate loop-specific prompts (#37911)
pavelfeldman Oct 17, 2025
6c335d6
test: allow adding cookies with >400 days expiration (#37913)
yury-s Oct 18, 2025
9cc54a9
chore: roll to chromium-tip-of-tree 1379, update for builds being CfT…
dgozman Oct 20, 2025
fd84e37
fix(junit): Replace spread operator with for-of loop to prevent Range…
Copilot Oct 20, 2025
299158e
feat(firefox): roll to r1496 (#37918)
microsoft-playwright-automation[bot] Oct 20, 2025
a6056db
feat(firefox-beta): roll to r1491 (#37917)
microsoft-playwright-automation[bot] Oct 20, 2025
3c4194e
chore(docs): Fix typo in codegen.md (#37925)
ATrogolo Oct 20, 2025
9959a4d
docs: Add note about swallowing of custom reporter errors (#37915)
cpAdm Oct 20, 2025
9b2fbec
test: unskip cookie test for firefox (#37926)
yury-s Oct 20, 2025
b47ae6c
docs: missing box: true in step (#37928)
pavelfeldman Oct 20, 2025
fbdb757
feat(trace): filter network on multiple types (#37910)
cpAdm Oct 20, 2025
246c51c
fix(trace-viewer): make Call tab Time rendering consistent, with copy…
agg23 Oct 20, 2025
791ae34
fix(trace-viewer): restore displaying selected call title in call tab…
agg23 Oct 20, 2025
d2ffd0d
fix(ui): collapse multiline log entries (#37854)
agg23 Oct 20, 2025
9a74559
feat(webkit): roll to r2222 (#37914)
microsoft-playwright-automation[bot] Oct 20, 2025
b4eef24
fix(trace-viewer): properly size copy button to prevent bounce (#37900)
agg23 Oct 20, 2025
9aa5539
feat(trace): Pin copy address button to the right in the address bar …
cpAdm Oct 20, 2025
63472ee
feat(html-report): Keep query when clicking project filter and right …
cpAdm Oct 20, 2025
676866d
test: roll stable-test-runner to 1.57.0-alpha-2025-10-20 (#37922)
microsoft-playwright-automation[bot] Oct 20, 2025
0a51cf8
feat(test runner): config.tag for a global tag (#37846)
dgozman Oct 20, 2025
b57d673
chore(deps): bump vite from 6.3.6 to 6.4.1 (#37931)
dependabot[bot] Oct 20, 2025
60ebe94
Revert "fix(trace-viewer): don't preserve network selections across r…
pavelfeldman Oct 20, 2025
3978aab
feat(trace): Only allow zip files to be selected for upload (#37905)
cpAdm Oct 20, 2025
1377d26
chore: drop HMR leftovers (#37950)
Skn0tt Oct 21, 2025
f1eeaf5
tests: update some webkit test expectations (#37953)
yury-s Oct 21, 2025
10fc934
chore(driver): roll driver to recent Node.js LTS version (#37942)
microsoft-playwright-automation[bot] Oct 21, 2025
21e7681
test: unflake recently added toHaveText test (#37954)
yury-s Oct 21, 2025
6aa42e6
devops: allow to trigger trace viewer deployment manually (#37956)
yury-s Oct 21, 2025
c7900cc
fix(test-runner): fix RangeError when running thousands of tests (#37…
rodrigojmr Oct 22, 2025
10bcf90
feat(web): Add `matchBrackets` and `autoCloseBrackets` to CodeMirror …
cpAdm Oct 22, 2025
065d1e8
chore: use agents as a generic folder (#37957)
pavelfeldman Oct 22, 2025
e79a9c8
chore: use zod to validate annotations (#37959)
pavelfeldman Oct 22, 2025
0e2df69
fix(aria): frame refs should be persistent (#37962)
dgozman Oct 22, 2025
927f055
test: more clear test for click on child text node (#37968)
yury-s Oct 22, 2025
26b3862
fix(aria): no snapshot diff without tracks or with iframes (#37966)
dgozman Oct 22, 2025
02708fa
test: update new cookie test expectation on wk win (#37971)
yury-s Oct 22, 2025
21bb265
Revert "feat(mcp): add headers capability (#37583)" (#37970)
yury-s Oct 23, 2025
14c8908
fix: allow to show uncompressed trace dir (#37986)
yury-s Oct 24, 2025
2686c09
chore(trace): split settings into ui and per-model (#37974)
pavelfeldman Oct 24, 2025
2d770a5
fix(glob): /**/ should match single / (#37996)
yury-s Oct 24, 2025
1a06851
chore(aria): extract compareSnapshots (#37987)
dgozman Oct 24, 2025
7249e20
feat(aria): only include changed chunks into snapshot diff (#37988)
dgozman Oct 26, 2025
59d6972
fix(aria): produce snapshot diffs for iframes (#37991)
dgozman Oct 27, 2025
b491434
chore: use new chatmodes location (#37973)
pavelfeldman Oct 27, 2025
87d40b4
chore: ensure ffmpeg is installed when saving video (#37997)
pavelfeldman Oct 27, 2025
175bf4f
chore: move registry parts out of program.ts (#37998)
pavelfeldman Oct 27, 2025
74f8a88
feat(chromium-tip-of-tree): roll to r1380 (#38011)
microsoft-playwright-automation[bot] Oct 28, 2025
4a83d62
chore: bump svelte to 5.42.3 (#38028)
dgozman Oct 28, 2025
95a56d6
docs(html): typo fix (#37999)
ikosumi Oct 28, 2025
7df103a
Fix `webServer` option casing (#38008)
karlhorky Oct 28, 2025
3d08c2b
test: unskip some tests in Firefox (#38033)
dgozman Oct 28, 2025
b8f3338
chore(html): add speedboard with list of slowest tests (#37994)
Skn0tt Oct 28, 2025
ff5abc2
feat(trace-viewer): Show version on trace viewer home screen (#38018)
cpAdm Oct 28, 2025
6664140
chore: escape markdown front matter (#38025)
pavelfeldman Oct 28, 2025
5b04cf5
chore: add copilot setup boilerplates (#38037)
pavelfeldman Oct 28, 2025
e86d620
chore(ui): ensure isTTY is correct (#38044)
Skn0tt Oct 29, 2025
c3aa5f8
chore(html): preserve query params in relative links (#38042)
dgozman Oct 29, 2025
23588a7
feat(web-server): allow waiting for given output (#38055)
pavelfeldman Oct 29, 2025
0cc12d3
chore: use full qualified agent names (#38056)
pavelfeldman Oct 29, 2025
1207544
chore: run global setup in test tools (#38040)
pavelfeldman Oct 30, 2025
9cb51c8
chore: use run-server for webkit-wsl tests (#38057)
yury-s Oct 30, 2025
7856af4
test: unflake html reporter test that uses non-strict locator (#38049)
dgozman Oct 30, 2025
e45b573
fix(trace-viewer): Don't show 'Merge files' setting in trace viewer (…
cpAdm Oct 30, 2025
388bc6a
chore(trace-viewer): improve aria tab roles (#38016)
agg23 Oct 30, 2025
cdf2c22
fix(codegen): only close dialog via buttons or on clicks outside (#38…
agg23 Oct 30, 2025
bf92ffe
feat(locator): click mouse movement steps (#38036)
agg23 Oct 30, 2025
040864d
fix(trace-viewer): Remove unwanted semicolon (#38054)
cpAdm Oct 30, 2025
18cc19a
chore(deps): bump the actions group with 2 updates (#38026)
dependabot[bot] Oct 30, 2025
9849538
test: roll stable-test-runner to 1.57.0-alpha-2025-10-27 (#38012)
microsoft-playwright-automation[bot] Oct 30, 2025
b7980a7
chore(driver): roll driver to recent Node.js LTS version (#38059)
microsoft-playwright-automation[bot] Oct 30, 2025
14ccd43
fix(trace-viewer): prevent browser snapshot from moving out of bounds…
agg23 Oct 30, 2025
7088c80
feat(webkit): roll to r2225 (#38000)
microsoft-playwright-automation[bot] Oct 30, 2025
45c6cc8
chore: link semi in jsx (#38065)
pavelfeldman Oct 30, 2025
1bc15f3
fix(mcp): do not fail on wsl client w/ windows server (#38063)
pavelfeldman Oct 30, 2025
007f577
test: retry cdp tests for windows flake (#38066)
pavelfeldman Oct 30, 2025
fefc5cc
chore: roll expect to 30.2 (#38069)
pavelfeldman Oct 30, 2025
352a360
chore: support arrayOf (#38070)
pavelfeldman Oct 30, 2025
7549558
chore(webkit): make sure npx command is used from the wsl container (…
yury-s Oct 31, 2025
e1f18f6
feat(chromium): roll to r1198 (#38064)
microsoft-playwright-automation[bot] Oct 31, 2025
db01e0b
chore(docs): note that VSCode 1.105 has been released (#38076)
agg23 Oct 31, 2025
3802e94
chore(mcp): do not render page state when snapshot has not changed (#…
dgozman Oct 31, 2025
3f5cbd5
test(mouse): disable click steps test on headed (#38080)
agg23 Oct 31, 2025
87e8059
chore: run wsl as pwuser (#38081)
yury-s Oct 31, 2025
2145807
chore(html): hide "show more" when list is exhaustive (#38058)
Skn0tt Oct 31, 2025
f3cb73d
chore: pass isUnderTest to wsl (#38087)
yury-s Oct 31, 2025
719f756
test: allow startRemoteServer and launchPersistent only in default mo…
yury-s Oct 31, 2025
1bbd8ad
test: explicit tests for selected=false (#38089)
pavelfeldman Oct 31, 2025
b5f94f6
Revert "fix(trace-viewer): prevent browser snapshot from moving out o…
pavelfeldman Oct 31, 2025
3570954
feat(webkit): roll to r2226 (#38083)
microsoft-playwright-automation[bot] Oct 31, 2025
ed38b53
feat(webkit): roll to r2227 (#38093)
microsoft-playwright-automation[bot] Nov 3, 2025
e7bff52
chore(mcp): log tool responses for debugging (#38110)
pavelfeldman Nov 5, 2025
dc2ad65
test: roll stable-test-runner to 1.57.0-alpha-2025-11-03 (#38099)
microsoft-playwright-automation[bot] Nov 6, 2025
a96c870
chore: roll chromium to 1200, update for CfT paths (#38128)
dgozman Nov 7, 2025
25958de
fix(chromium): wait until workerScriptLoaded event before evaluating …
dgozman Nov 7, 2025
0f7c8e9
chore: drop duplicate runGlobalTeardown (#38148)
Skn0tt Nov 7, 2025
9212916
chore(bidi): add support for network.setExtraHeaders (#38079)
hbenl Nov 7, 2025
2c2557c
chore: emit webServer on telereporter (#38149)
Skn0tt Nov 7, 2025
a6fb467
chore(testRunner): expose pauseAtEnd/pauseOnError (#37923)
dgozman Nov 8, 2025
daae9b5
chore(deps): bump chromium-bidi to ^11.0.0 (#38142)
OrKoN Nov 8, 2025
9d40b1a
chore: delete page.accessibilitiy (#38152)
yury-s Nov 10, 2025
f8db254
test: roll stable-test-runner to 1.57.0-alpha-2025-11-10 (#38156)
microsoft-playwright-automation[bot] Nov 10, 2025
9457089
docs: Update GitHub Actions versions in CI documentation (#38155)
Copilot Nov 10, 2025
90c84f1
chore: disable infobars in Chromium (#38146)
dgozman Nov 10, 2025
a1059db
docs: remove mentions of test-examples (#38161)
yury-s Nov 10, 2025
c22c883
chore(mcp): introduce browser_run_code (#38153)
pavelfeldman Nov 10, 2025
efd7b61
chore(mcp): introduce init-page (#38167)
pavelfeldman Nov 10, 2025
0b7307d
fix(registry): correct binary path for headless-shell on linux arm64 …
dgozman Nov 10, 2025
e9ef0ea
chore(agent): allow submitting structured plans (#38123)
pavelfeldman Nov 11, 2025
55eddb8
chore(trace): show playwright version in metadata (#38158)
Skn0tt Nov 11, 2025
8c3be44
chore(ci): automatically update Docker to latest NodeJS LTS (#38163)
agg23 Nov 11, 2025
20e2d63
chore: roll driver/Dockerfile to recent Node.js LTS version (#38175)
microsoft-playwright-automation[bot] Nov 11, 2025
590d5d3
chore: locator.description improvements (#38183)
yury-s Nov 11, 2025
454f154
chore: expose submit tests tool (#38186)
pavelfeldman Nov 11, 2025
130a0fa
feat: add request.body async getters (#38179)
yury-s Nov 11, 2025
d604a92
chore: delete component tests for web and html-reporter (#38187)
yury-s Nov 11, 2025
68161ba
fix(selector generator): heuristic for icon fonts (#38182)
dgozman Nov 11, 2025
129ac60
chore: run headlessly in copilot cli (#38188)
pavelfeldman Nov 12, 2025
3485acc
chore(docs): fix asymmetric matcher expressions (#38177)
agg23 Nov 12, 2025
cba5826
feat(locator): extend mouse movement steps to dragTo (#38184)
agg23 Nov 12, 2025
81711db
test: drop "large number of logs" test (#38195)
Skn0tt Nov 12, 2025
fef8251
chore(bidi): fix finding the opener for popups (#38199)
hbenl Nov 12, 2025
60e6df4
chore(bidi): don't set Accept-Language header for a locale override (…
hbenl Nov 12, 2025
684f550
chore: allow capturing port in webServer stdio (#38181)
pavelfeldman Nov 12, 2025
7c5ffb6
chore(mcp): remove --allow-origins param (#38202)
pavelfeldman Nov 12, 2025
34a09f3
chore: remove mdb, replace by `sendMessage` ipc into test worker (#38…
dgozman Nov 13, 2025
b3c4932
chore: roll driver/Dockerfile to recent Node.js LTS version (#38206)
microsoft-playwright-automation[bot] Nov 13, 2025
3089df7
feat: worker.on('console') event for web workers (#38201)
dgozman Nov 13, 2025
3515739
docs: fix docs roll (#38208)
Skn0tt Nov 13, 2025
aab804e
fix(reporter): properly record result annotations when all tests are …
agg23 Nov 13, 2025
468570f
feat: console messages in service worker (#38214)
dgozman Nov 13, 2025
5525566
chore: remove unused indexes in image scale (#38215)
pavelfeldman Nov 13, 2025
1abcdef
fix(chromium): disable sync to avoid crash in three dots menu (#38216)
dgozman Nov 13, 2025
d18d7d9
chore(test mcp): simplify pause handling in test backend (#38205)
dgozman Nov 14, 2025
2db5eff
chore: pass "live" flag explicitly instead of through env var (#38217)
dgozman Nov 14, 2025
3af9725
chore(ui): Speedboard UI improvements (#38194)
Skn0tt Nov 14, 2025
bec07c0
chore(aria): properly calculate columnheader and rowheader (#38160)
agg23 Nov 14, 2025
5620cc7
fix(html): preserve rounded corners when hovering bottom of chip (#38…
agg23 Nov 15, 2025
f26e07f
fix(video): map video time to frames to reduce skew (#38228)
pavelfeldman Nov 17, 2025
a764706
chore(bidi): add support for the input.fileDialogOpened event (#38224)
hbenl Nov 17, 2025
d893c00
feat: show locator for expect steps in report (#38218)
dgozman Nov 17, 2025
e87ed84
test: roll stable-test-runner to 1.57.0-alpha-2025-11-17 (#38236)
microsoft-playwright-automation[bot] Nov 18, 2025
c73129a
docs: clarify default reporter (#38256)
yury-s Nov 18, 2025
f98bcc5
Revert "chore: remove PLAYWRIGHT_SKIP_NAVIGATION_CHECK (#36283)" (#38…
dgozman Nov 18, 2025
a8728d9
chore: introduce env.PLAYWRIGHT_DISABLE_SERVICE_WORKER_CONSOLE to opt…
dgozman Nov 18, 2025
af45107
docs: update web server wait docs (#38266)
pavelfeldman Nov 18, 2025
acabbaa
feat: Move actions filter to toolbar (#38231)
cpAdm Nov 18, 2025
7671e2b
feat(trace-viewer): Collapse sections inside network request (#38086)
cpAdm Nov 18, 2025
53f146a
chore: mirror testserver close rejecting callbacks (#38271)
Skn0tt Nov 19, 2025
d92591a
fix(ui): dont mutate searchparams (#38275)
Skn0tt Nov 19, 2025
bf6a60f
chore: default to ubuntu 24.04 for unsupported distros (#38269)
yury-s Nov 19, 2025
0778fcf
chore: hide run-server command (#38277)
yury-s Nov 19, 2025
46d5ea0
Revert "feat: add request.body async getters (#38179)" (#38281)
dgozman Nov 20, 2025
483b722
docs: 1.57 release notes (#38267)
Skn0tt Nov 20, 2025
019900f
chore: update browser_patches (#38286)
Skn0tt Nov 20, 2025
3756978
chore: fix lint warning about useEffect (#38285)
Skn0tt Nov 20, 2025
ae3da48
cherry-pick(#38124): feat(firefox): roll to latest firefox and firefo…
dgozman Nov 21, 2025
414c4f5
cherry-pick(#38301): fix(android): dont pass "--disable-sync" (#38301)
Skn0tt Nov 21, 2025
54818c5
chore: mark 1.57.0 (#38320)
Skn0tt Nov 25, 2025
8058197
cherry-pick(#38328): docs: update 1.57 release notes
dgozman Nov 25, 2025
5dccf74
Merge upstream v1.57.0
ruifigueira Dec 3, 2025
0b0311f
fix: adjust to 1.57.0 changes
ruifigueira Dec 3, 2025
b63aef9
chore: pin jest submodule to tag v30.2.0
ruifigueira Dec 7, 2025
690d20e
chore: use jest source code instead of its package
ruifigueira Dec 7, 2025
eaacf7a
chore: remove playwright-core from dev dependencies, not needed
ruifigueira Oct 17, 2025
8b59bc3
test: remove multiple projects, use single binding
ruifigueira Oct 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/cf_prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
- name: Generate Pre-Release
run: |
npm ci
git submodule update --init
cd packages/playwright-cloudflare
npm run build
npx pkg-pr-new publish
6 changes: 4 additions & 2 deletions .github/workflows/cf_publish_release_npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ jobs:
# Set the output for later steps
echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT"

- name: Run npm ci
run: npm ci
- name: Run npm ci and submodule update
run: |
npm ci
git submodule update --init

- name: Run playwright-cloudflare build
run: |
Expand Down
14 changes: 2 additions & 12 deletions .github/workflows/cf_test_full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,6 @@ name: "Playwright for Cloudflare - Full Test Suite"

on:
workflow_dispatch:
inputs:
project:
description: 'Project to test'
required: true
default: 'BISO'
type: choice
options:
- BISO
- BRAPI Staging
- BRAPI Production
grep:
description: 'Test filter grep'
required: false
Expand All @@ -23,7 +13,6 @@ jobs:
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
BROWSER_BINDINGS: ${{ secrets.BROWSER_BINDINGS }}
TESTS_SERVER_URL: https://playwright-test-workers.rendering.cfdata.org
CF_ACCESS_CLIENT_SECRET: ${{ secrets.CF_ACCESS_CLIENT_SECRET }}
CF_ACCESS_CLIENT_ID: ${{ secrets.CF_ACCESS_CLIENT_ID }}
Expand All @@ -35,14 +24,15 @@ jobs:
registry-url: 'https://registry.npmjs.org'
- run: |
npm ci
git submodule update --init
cd packages/playwright-cloudflare
npm run build
npm run test:deploy

- name: Run tests
run: |
cd packages/playwright-cloudflare
npm run test:full -- --reporter=html --project="${{ github.event.inputs.project || 'BISO' }}" ${{ github.event.inputs.grep && format('--grep="{0}"', github.event.inputs.grep) }}
npm run test:full -- --reporter=html ${{ github.event.inputs.grep && format('--grep="{0}"', github.event.inputs.grep) }}

- name: Upload HTML report
uses: actions/upload-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cf_test_smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ jobs:
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
BROWSER_BINDINGS: ${{ secrets.BROWSER_BINDINGS }}
TESTS_SERVER_URL: https://playwright-test-workers.rendering.cfdata.org
CF_ACCESS_CLIENT_SECRET: ${{ secrets.CF_ACCESS_CLIENT_SECRET }}
CF_ACCESS_CLIENT_ID: ${{ secrets.CF_ACCESS_CLIENT_ID }}
Expand All @@ -22,6 +21,7 @@ jobs:

- run: |
npm ci
git submodule update --init
cd packages/playwright-cloudflare
npm run build
npm run test:deploy
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:

steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: "22"
- run: npm ci
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/create_test_report.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Publish Test Results
on:
workflow_run:
workflows: ["tests 1", "tests 2", "tests others"]
workflows: ["tests 1", "tests 2", "tests others", "MCP"]
types:
- completed
jobs:
Expand All @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/infra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand All @@ -41,7 +41,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- uses: actions/setup-python@v6
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
environment: allow-publish-driver-to-cdn # This is required for OIDC login (azure/login)
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
if: github.repository == 'microsoft/playwright'
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- uses: actions/create-github-app-token@v2
Expand All @@ -82,17 +82,22 @@ jobs:
private-key: ${{ secrets.PLAYWRIGHT_PRIVATE_KEY }}
repositories: trace.playwright.dev
- name: Deploy Canary
if: contains(github.ref, 'main') && github.event.schedule
run: bash utils/build/deploy-trace-viewer.sh --canary
if: contains(github.ref, 'main')
env:
GH_SERVICE_ACCOUNT_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Deploy Beta
run: bash utils/build/deploy-trace-viewer.sh --beta
if: contains(github.ref, 'release') && github.event_name == 'push'
run: bash utils/build/deploy-trace-viewer.sh --beta
env:
GH_SERVICE_ACCOUNT_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Deploy Stable
if: github.event_name == 'release' && github.event.action == 'published'
run: bash utils/build/deploy-trace-viewer.sh --stable
env:
GH_SERVICE_ACCOUNT_TOKEN: ${{ steps.app-token.outputs.token }}
- name: Deploy Stable (manually)
if: contains(github.ref, 'release') && github.event_name == 'workflow_dispatch'
run: bash utils/build/deploy-trace-viewer.sh --stable
if: contains(github.ref, 'release') && github.event_name == 'release'
env:
GH_SERVICE_ACCOUNT_TOKEN: ${{ steps.app-token.outputs.token }}
2 changes: 1 addition & 1 deletion .github/workflows/publish_release_docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
environment: allow-publishing-docker-to-acr
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/roll_browser_into_playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "PR: bump driver Node.js"
name: "PR: bump driver/Docker Node.js"
on:
workflow_dispatch:
schedule:
Expand All @@ -13,10 +13,10 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: node utils/build/update-playwright-driver-version.mjs
- run: node utils/build/update-playwright-node.mjs
- name: Prepare branch
id: prepare-branch
run: |
Expand All @@ -25,13 +25,13 @@ jobs:
exit 0;
fi
echo "HAS_CHANGES=1" >> $GITHUB_OUTPUT
BRANCH_NAME="roll-driver-nodejs/$(date +%Y-%b-%d)"
BRANCH_NAME="roll-platform-nodejs/$(date +%Y-%b-%d)"
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT
git config --global user.name microsoft-playwright-automation[bot]
git config --global user.email 203992400+microsoft-playwright-automation[bot]@users.noreply.github.com
git checkout -b "$BRANCH_NAME"
git add .
git commit -m "chore(driver): roll driver to recent Node.js LTS version"
git commit -m "chore: roll driver/Dockerfile to recent Node.js LTS version"
git push origin $BRANCH_NAME
- uses: actions/create-github-app-token@v2
id: app-token
Expand All @@ -49,5 +49,5 @@ jobs:
repo: 'playwright',
head: 'microsoft:${{ steps.prepare-branch.outputs.BRANCH_NAME }}',
base: 'main',
title: 'chore(driver): roll driver to recent Node.js LTS version',
title: 'chore: roll driver/Dockerfile to recent Node.js LTS version',
});
2 changes: 1 addition & 1 deletion .github/workflows/roll_stable_test_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 22
- run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/tests_bidi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
if: github.event_name == 'workflow_dispatch'
with:
ref: ${{ github.event.inputs.ref }}
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand All @@ -58,15 +58,15 @@ jobs:
PWTEST_USE_BIDI_EXPECTATIONS: '1'
- name: Upload csv report to GitHub
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: csv-report-${{ matrix.channel }}
path: test-results/report.csv
retention-days: 7

- name: Upload json report to GitHub
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: json-report-${{ matrix.channel }}
path: test-results/report.json
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests_components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/tests_mcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
DEBUG_GIT_COMMIT_INFO: 1

jobs:
test_mcp:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests_others.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand Down
37 changes: 1 addition & 36 deletions .github/workflows/tests_primary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ env:
# Force terminal colors. @see https://www.npmjs.com/package/colors
FORCE_COLOR: 1
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
DEBUG_GIT_COMMIT_INFO: 1

jobs:
test_linux:
Expand Down Expand Up @@ -139,48 +138,14 @@ jobs:
env:
PWTEST_CHANNEL: firefox-beta

test_web_components:
name: Web Components
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: 20
- run: npm ci
- run: npm run build

- run: npx playwright install --with-deps
- run: npm run test-html-reporter
env:
PWTEST_BOT_NAME: "web-components-html-reporter"
- name: Upload blob report
if: ${{ !cancelled() }}
uses: ./.github/actions/upload-blob-report
with:
report_dir: packages/html-reporter/blob-report
job_name: "web-components-html-reporter"

- run: npm run test-web
if: ${{ !cancelled() }}
env:
PWTEST_BOT_NAME: "web-components-web"
- name: Upload blob report
if: ${{ !cancelled() }}
uses: ./.github/actions/upload-blob-report
with:
report_dir: packages/web/blob-report
job_name: "web-components-web"

test_vscode_extension:
name: VSCode Extension
runs-on: ubuntu-latest
env:
PWTEST_BOT_NAME: "vscode-extension"
DEBUG_GIT_COMMIT_INFO: ""
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests_secondary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: 20
- run: npm ci
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "packages/playwright-cloudflare/submodules/jest"]
path = packages/playwright-cloudflare/submodules/jest
url = https://github.com/jestjs/jest.git
10 changes: 0 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,6 @@ npm run watch
npx playwright install
```

**Experimental dev mode with Hot Module Replacement for recorder/trace-viewer/UI Mode**

```
PW_HMR=1 npm run watch
PW_HMR=1 npx playwright show-trace
PW_HMR=1 npm run ctest -- --ui
PW_HMR=1 npx playwright codegen
PW_HMR=1 npx playwright show-report
```

Playwright is a multi-package repository that uses npm workspaces. For browser APIs, look at [`packages/playwright-core`](https://github.com/microsoft/playwright/blob/main/packages/playwright-core). For test runner, see [`packages/playwright`](https://github.com/microsoft/playwright/blob/main/packages/playwright).

Note that some files are generated by the build, so the watch process might override your changes if done in the wrong file. For example, TypeScript types for the API are generated from the [`docs/src`](https://github.com/microsoft/playwright/blob/main/docs/src).
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Fork of [Playwright](https://github.com/microsoft/playwright/) that was modified to be compatible with [Cloudflare Workers](https://developers.cloudflare.com/workers/) and [Browser Rendering](https://developers.cloudflare.com/browser-rendering/).

🏷️ Upstream Playwright version: [1.56.0](https://github.com/microsoft/playwright/releases/tag/v1.56.0)
🏷️ Upstream Playwright version: [1.57.0](https://github.com/microsoft/playwright/releases/tag/v1.57.0)

## Getting Started

Expand Down Expand Up @@ -146,6 +146,7 @@ To build Playwright for Cloudflare:

```sh
npm ci
git submodule update --init
cd packages/playwright-cloudflare
npm run build
```
Expand Down
2 changes: 1 addition & 1 deletion browser_patches/firefox/UPSTREAM_CONFIG.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
REMOTE_URL="https://github.com/mozilla-firefox/firefox"
BASE_BRANCH="release"
BASE_REVISION="361373160356d92cb5cd4d67783a3806c776ee78"
BASE_REVISION="e0df3d598dba47de812bb5144cbc187557377095"
Loading
Loading