Skip to content

[pull] main from microsoft:main #81

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 222 commits into from
Jul 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
8169ba0
feat(webkit): roll to r2182 (#36183)
microsoft-playwright-automation[bot] Jun 4, 2025
a0479cb
fix(test runner): prevent esm loader deadlock (#36187)
dgozman Jun 4, 2025
85519de
chore: update browser_patches to 9768715bd (#36191)
mxschmitt Jun 4, 2025
6e14ce0
chore: update WebKit version to 18.5 (#36190)
mxschmitt Jun 4, 2025
126239b
test: skip permission tests on Debian 11 (#36194)
mxschmitt Jun 4, 2025
5659432
test: skip scrolling tests on Android (#36195)
mxschmitt Jun 4, 2025
5f2e74a
test: skip another permission tests on Debian 11 (#36198)
mxschmitt Jun 4, 2025
0b2f80b
fix(chromium): refer to x86 and x86_64 as "x86" arch (#36193)
agg23 Jun 4, 2025
3abb8bd
test: unflake "should delete header with undefined value" (#36197)
dgozman Jun 4, 2025
6dc6651
test: mark inspector tests as slow (#36199)
mxschmitt Jun 4, 2025
2e57a78
chore: add release notes for v1.53 (#36196)
mxschmitt Jun 4, 2025
227b123
chore: mark v1.54.0-next (#36200)
mxschmitt Jun 4, 2025
e6bf21f
chore: launchServer() with userDataDir (#36185)
dgozman Jun 4, 2025
4b40a74
fix: allow matching against `about:blank` and other custom URLs (#36180)
agg23 Jun 4, 2025
085f7a8
fix: capture snapshot for ai during navigation (#36203)
pavelfeldman Jun 4, 2025
bd5a23f
chore: get rid of ready state type (#36177)
pavelfeldman Jun 4, 2025
090a451
fix(ai snapshot): wait for blocking CSS (#36206)
Skn0tt Jun 5, 2025
b25cb7f
chore: use 'Clear' step name for locator.clear() (#36208)
mxschmitt Jun 5, 2025
e313b8b
fix(trace-viewer): show fallback command on less precise paths (#36202)
agg23 Jun 5, 2025
3ab097b
chore: prepare to language ports roll (#36211)
dgozman Jun 5, 2025
a0eb891
chore: ensure progress runs with a timeout in fetch() (#36192)
dgozman Jun 5, 2025
2bc8ed0
docs(context): document the `browser()` call from persistent context …
agg23 Jun 5, 2025
1870739
fix: ensure ElementHandlerDispatcher has FrameDispatcher parent (#36214)
dgozman Jun 6, 2025
301481f
chore(client): remove unneeded _wrapApiCall(internal) (#36224)
Skn0tt Jun 6, 2025
34c2954
fix: java style selector string (#36227)
Skn0tt Jun 6, 2025
5f053c7
feat(chromium-tip-of-tree): roll to r1338 (#36221)
microsoft-playwright-automation[bot] Jun 6, 2025
237de4f
feat(chromium): roll to 1178 (#36231)
mxschmitt Jun 6, 2025
c930e67
feat(cookie): export/import chips cookies (#36168)
yury-s Jun 6, 2025
0ace76a
docs: mention trace viewer as debugging tool for the Mouse API class …
gwennlbh Jun 6, 2025
a7df837
test: remove special handling for getSelection() with Firefox from te…
whimboo Jun 7, 2025
f66a835
devops: add roll stable-test-runner automation (#36229)
mxschmitt Jun 10, 2025
937a921
feat(webkit): roll to r2183 (#36254)
microsoft-playwright-automation[bot] Jun 10, 2025
93dfdbf
chore(typo): if you intend (#36259)
Skn0tt Jun 10, 2025
92994a8
fix: restore proper class name escaping (#36258)
dgozman Jun 10, 2025
3cb987f
fix(html-reporter): race condition where form submission used stale f…
mxschmitt Jun 10, 2025
a8f9c4d
test: unflake a few tests on Android (#36262)
dgozman Jun 10, 2025
d86787d
chore: roll stable-test-runner to 1.53.0-beta-1749049851000 (#36201)
mxschmitt Jun 10, 2025
c396674
test: add cookie with SameSite attribute (#36255)
yury-s Jun 10, 2025
c3c842c
fix(network): Include subdomains of localhost when including cookies …
simenbrekken Jun 10, 2025
df0e0fb
chore: make sure dispatchers work with SdkObjects (#36158)
dgozman Jun 11, 2025
d101492
fix(tests): lookup localhost subdomains on Win and Mac (#36285)
yury-s Jun 11, 2025
5d0d573
chore: remove PW_TEST_DISABLE_TRACING and _playwrightInstance (#36282)
dgozman Jun 11, 2025
3186574
chore: remove PLAYWRIGHT_SKIP_NAVIGATION_CHECK (#36283)
dgozman Jun 11, 2025
0c5d3f2
test: send secure cookies to subdomain.localhost (#36268)
yury-s Jun 11, 2025
64dd5ca
feat(firefox-beta): roll to r1483 (#36289)
microsoft-playwright-automation[bot] Jun 12, 2025
3c248ed
chore: remove PLAYWRIGHT_INPUT_FILE_TEXTBOX (#36281)
dgozman Jun 12, 2025
33d87d9
chore: accept Progress instance for raw input (#36280)
dgozman Jun 12, 2025
19718c0
chore: fix android socket on('close') (#36293)
dgozman Jun 12, 2025
bf3101f
feat(chromium): add local-fonts API permission (#36186)
mxschmitt Jun 12, 2025
1655ae9
feat(chromium): roll to r1179 (#36301)
microsoft-playwright-automation[bot] Jun 12, 2025
468237d
feat(chromium-tip-of-tree): roll to r1340 (#36306)
microsoft-playwright-automation[bot] Jun 12, 2025
15d033f
feat(webkit): roll to r2184 (#36309)
microsoft-playwright-automation[bot] Jun 13, 2025
0bf6c3d
chore: validate launchOptions options (#36276)
mxschmitt Jun 13, 2025
357ebfe
chore: make input actions "strict" in terms of timeout/abort (#36302)
dgozman Jun 16, 2025
fa9d67e
test: should fill programmatically enabled textarea (#36319)
Skn0tt Jun 16, 2025
a02722a
test: roll stable-test-runner to 1.54.0-alpha-2025-06-16 (#36322)
microsoft-playwright-automation[bot] Jun 16, 2025
6caf344
fix(list): avoid overwriting stdio logs from tests when writing statu…
agg23 Jun 16, 2025
baded72
feat(html): parse and render links in HTML report title (#36326)
agg23 Jun 16, 2025
1072d14
test: use role based selectors in trace-viewer tests (#36295)
mxschmitt Jun 16, 2025
764deda
chore: hide locator(':root') in Steps for toHaveTitle/URL (#36213)
mxschmitt Jun 16, 2025
90c6921
test: add failing oopif cdp bug (#36329)
Skn0tt Jun 16, 2025
114c9c0
chore(html): revert baded72 and use existing linkifyText (#36328)
agg23 Jun 16, 2025
ada2372
feat(webkit): roll to r2185 (#36335)
microsoft-playwright-automation[bot] Jun 17, 2025
a439191
chore: move HTTP server behaviour from WSServer to PlaywrightServer (…
Skn0tt Jun 17, 2025
4334911
feat(chromium-tip-of-tree): roll to r1341 (#36338)
microsoft-playwright-automation[bot] Jun 17, 2025
7e87033
feat(firefox): roll to r1488 (#36340)
microsoft-playwright-automation[bot] Jun 18, 2025
a7ff65c
feat(firefox-beta): roll to r1484 (#36341)
microsoft-playwright-automation[bot] Jun 18, 2025
8fcf838
chore: move some playwright-wide options to be per browser (#36342)
dgozman Jun 18, 2025
2576ce2
Revert "chore: reduce scrolling during clicks (#36175)" (#36346)
dgozman Jun 18, 2025
2973b0b
test: prevent indexeddb race conditions (#36347)
Skn0tt Jun 18, 2025
f050c3f
fix(trace): include method into "Fetch" action title (#36350)
dgozman Jun 18, 2025
50cb8a1
chore: prevent launching more browsers in server mode (#36353)
Skn0tt Jun 19, 2025
66e9030
chore: lift up playwright prelaunch (#36330)
Skn0tt Jun 19, 2025
5f65f32
test: update expectation for secure cookie test on WK Win (#36361)
yury-s Jun 19, 2025
07d1824
docs: correct spelling of 'informational' in README badge link (#36367)
mxschmitt Jun 20, 2025
ab7b18e
fix(ct): fsWatcher update comparison (#36366)
mxschmitt Jun 20, 2025
d4c0d75
chore: make fetch progress "strict" (#36318)
dgozman Jun 20, 2025
55cb7c9
chore: make navigation actions' progress "strict" (#36321)
dgozman Jun 20, 2025
20b8784
chore: make screenshot progress "strict" (#36323)
dgozman Jun 20, 2025
777d1e5
chore: use different babel import in tsxTransform (#36370)
mxschmitt Jun 20, 2025
173b455
fix(html-reporter): show filtered stats when filtering for labels/ann…
mxschmitt Jun 20, 2025
1357f0a
chore: simplify bidi browsers handling (#36363)
dgozman Jun 20, 2025
84c69ed
chore: make launch, newContext and newPage progress "strict" (#36336)
dgozman Jun 20, 2025
c0da193
chore: make various progress instances "strict" (#36349)
dgozman Jun 20, 2025
d3970a2
chore: smaller codex fixes (#36374)
mxschmitt Jun 20, 2025
71088f6
chore: refactor browser creation from PlaywrightConnection into Playw…
Skn0tt Jun 20, 2025
73f840c
chore: use isNonRetriableError in more places (#36373)
dgozman Jun 20, 2025
556fea9
fix: adding trialing slash detection logic back in urlToWSEndpoint (#…
stkevintan Jun 20, 2025
0027bd9
chore: browserserver, design two (#36382)
Skn0tt Jun 20, 2025
d8c257f
feat(chromium): roll to r1180 (#36384)
microsoft-playwright-automation[bot] Jun 20, 2025
41bcfc9
feat(webkit): roll to r2186 (#36391)
microsoft-playwright-automation[bot] Jun 21, 2025
ed7e552
chore: don't close other browsers in reuse-browsers mode (#36383)
Skn0tt Jun 23, 2025
07c4958
docs(clock): add snippets for 'Test with predefined time' for ports (…
mxschmitt Jun 23, 2025
6c26c5f
feat(chromium-tip-of-tree): roll to r1342 (#36379)
microsoft-playwright-automation[bot] Jun 23, 2025
06a065d
test: skip `should handle timeout properly 2` on tracing bots (#36399)
dgozman Jun 23, 2025
184fb04
test: roll stable-test-runner to 1.54.0-alpha-2025-06-23 (#36401)
microsoft-playwright-automation[bot] Jun 23, 2025
6693417
chore: make progress strict by default (#36389)
dgozman Jun 23, 2025
5013e2c
test: chromium tracing test rebase (#36403)
mxschmitt Jun 23, 2025
a5b68a5
devops: remove redundant scripts (#36408)
mxschmitt Jun 23, 2025
68d7f66
chore: move Page.close() tests to tests/library (#36390)
yury-s Jun 23, 2025
b1a1e11
chore: delete utils/doclint/generateFullConfigDoc.js (#36413)
mxschmitt Jun 23, 2025
896cb85
chore: fix Cannot find module '@testIsomorphic/types' in recorder (#3…
mxschmitt Jun 23, 2025
1170578
chore: make sure _generateLocatorString does not timeout (#36381)
dgozman Jun 24, 2025
c68c3f3
test: make babel test pass under Node.js 24 (#36420)
mxschmitt Jun 24, 2025
17a5f42
test: remove usage of url.parse (#36419)
mxschmitt Jun 24, 2025
1c3488a
feat(chromium-tip-of-tree): roll to r1343 (#36424)
microsoft-playwright-automation[bot] Jun 24, 2025
86c2ee6
chore: do not select a disabled option (#36418)
dgozman Jun 24, 2025
04b10c5
chore: bump commander.js version to 13 (#36426)
yury-s Jun 24, 2025
a41e16b
chore: use a single Progress instance for expect (#36407)
dgozman Jun 24, 2025
25e64e9
fix(cli): throw an error if invalid choice is specified for --update-…
yury-s Jun 24, 2025
6b231cb
chore: add playwright-mdd experiment (#36430)
pavelfeldman Jun 24, 2025
56594a0
fix: get rid of url.parse in network code (#36423)
mxschmitt Jun 25, 2025
2c78f84
feat(webkit): roll to r2187 (#36428)
microsoft-playwright-automation[bot] Jun 25, 2025
4097023
test: fix installation tests under Node.js 24 (#36434)
mxschmitt Jun 25, 2025
5efa065
chore: set title from global teardown (#36433)
Skn0tt Jun 25, 2025
2cc526a
devops: introduce Node.js 24 (Current) bots (#36402)
mxschmitt Jun 25, 2025
a3eff54
chore: migrate some dispatchers from CallMetadata to Progress (part 1…
dgozman Jun 25, 2025
a03dcc3
chore: add assert tools to mdd (#36437)
dgozman Jun 25, 2025
8529ff0
chore: abstract tool from specific context types (#36445)
pavelfeldman Jun 25, 2025
e4355f7
chore: migrate some dispatchers from CallMetadata to Progress (part 3…
dgozman Jun 26, 2025
ad745c7
chore(driver): roll driver to recent Node.js LTS version (#36454)
microsoft-playwright-automation[bot] Jun 26, 2025
735c536
fix(blob): correctly type pre-1.53 onTestEnd event for attachments (#…
agg23 Jun 26, 2025
bf5fea2
chore: migrate some dispatchers from CallMetadata to Progress (part 2…
dgozman Jun 26, 2025
216e6be
chore: add the codegen tool (#36446)
pavelfeldman Jun 26, 2025
56ccccd
docs: move note (#36432)
patrik-csak Jun 26, 2025
98caf34
chore: follow-up to connectOverCDP fetch logic (#36377)
mxschmitt Jun 26, 2025
ae18bae
test: improve Chrome Extension coverage with CDP/MV3 (#36472)
mxschmitt Jun 27, 2025
536c273
chore: use mutation observer to reset hover model (#36478)
pavelfeldman Jun 27, 2025
3a02f89
chore: implement lightweight recording mode (#36463)
pavelfeldman Jun 27, 2025
7fd8ec2
chore: work towards streaming recorder backend (#36484)
pavelfeldman Jun 27, 2025
b17e2eb
chore(aria): don't ignore top-level `containerMode` (#36471)
Skn0tt Jun 30, 2025
7d34033
test: roll stable-test-runner to 1.54.0-alpha-2025-06-30 (#36495)
microsoft-playwright-automation[bot] Jun 30, 2025
bb033f7
fix(c# codegen): properly capitalise popup alias (#36468)
Skn0tt Jun 30, 2025
184e2be
chore: migrate some dispatchers from CallMetadata to Progress (part 4…
dgozman Jun 30, 2025
f15c761
chore(reporter): strict typing for teleReceiver and merge (#36481)
agg23 Jun 30, 2025
ffa4618
test: use http endpoint instead of local file for codegen tests (#36498)
mxschmitt Jun 30, 2025
ba26f95
fix(chromium): fix compatibility with Edge msRelaunchNoCompatLayer fe…
mxschmitt Jun 30, 2025
61aac77
test: allow running routeWebSocket tests on different host (#36500)
mxschmitt Jun 30, 2025
c22f1fc
fix(firefox): do not dispatch OPTIONS request (#36503)
yury-s Jun 30, 2025
cdd1f75
chore: merge contextRecorder into recorder (#36487)
pavelfeldman Jun 30, 2025
954730d
chore: throw early error selector name clash (#36469)
Skn0tt Jul 1, 2025
16252b3
chore: rename timeout to waitTimeout in waitForTimeout (#36497)
dgozman Jul 1, 2025
ec13331
fix: reset proper properties on reused context (#36501)
dgozman Jul 1, 2025
151ef89
feat(webkit): roll to r2188 (#36475)
microsoft-playwright-automation[bot] Jul 1, 2025
f93f232
test: skip extension tests on chrome (#36479)
mxschmitt Jul 1, 2025
3f15a6b
test: use less localhost for cookies test (#36508)
mxschmitt Jul 1, 2025
9c164ff
devops: move WebKit Tracing tests to Ubuntu 24.04 (#36510)
mxschmitt Jul 1, 2025
790e6a4
chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /packages/…
dependabot[bot] Jul 1, 2025
eacc204
fix(role): support `<search>` element (#36512)
dgozman Jul 1, 2025
73c7609
feat(chromium): roll to r1181 (#36457)
microsoft-playwright-automation[bot] Jul 1, 2025
97014c7
feat(webkit): roll to r2189 (#36514)
microsoft-playwright-automation[bot] Jul 1, 2025
3287f5a
feat(aria): capture active element state (#36506)
yury-s Jul 1, 2025
06c359c
feat(html): add view trace button to top of test view (#36520)
agg23 Jul 1, 2025
4c35451
chore: set CURL_COOKIE_JAR_PATH env var for WK only in persistent mod…
mxschmitt Jul 1, 2025
be637ae
test: unflake MV3 extension test (#36526)
mxschmitt Jul 2, 2025
ed9b6dd
test: unflake toBeInViewport test (#36527)
mxschmitt Jul 2, 2025
04d1c08
feat(firefox): roll to r1489 (#36533)
microsoft-playwright-automation[bot] Jul 2, 2025
fc0b770
chore(codegen): move action update into the recorder app (#36523)
pavelfeldman Jul 3, 2025
5f2a001
feat(cli): open directly opens browser and does not invoke codegen (#…
agg23 Jul 3, 2025
b4e0c0b
feat(playwright-html-report): Added snippet parameter to playwright c…
agamjots05 Jul 3, 2025
86bd3eb
test: do not rely on localhost in tests (#36545)
mxschmitt Jul 3, 2025
c921c38
feat(codegen): add user-data-dir option (#35814)
agg23 Jul 3, 2025
80f9325
chore: reverse recorder <-> recorder app dep (#36544)
pavelfeldman Jul 3, 2025
22820d3
fix: make sure `asLocatorDescription()` tolerates invalid selectors (…
dgozman Jul 4, 2025
3fb78b6
chore: abort pending operations upon disconnect (#36496)
dgozman Jul 4, 2025
bbf198a
fix: use literals as a return value in ConsoleMessage's type (#36036)…
ReaZzy Jul 7, 2025
db2a52d
feat: add ___location information for annotations (#36542)
aslushnikov Jul 7, 2025
962f5ea
test: roll stable-test-runner to 1.54.0-alpha-2025-07-07 (#36571)
microsoft-playwright-automation[bot] Jul 7, 2025
13dd4fd
fix(ct): properly type `_wrapApiCall` references and mark as internal…
agg23 Jul 7, 2025
1a03721
fix: various WebSocketRoute issues (#36517)
dgozman Jul 7, 2025
cbd040d
test: fix fs.rmdir deprecation warning (#36578)
mxschmitt Jul 7, 2025
73d8edd
chore: set minimum Node.js version to 18 (#36582)
mxschmitt Jul 7, 2025
3d80c43
docs: support Node.js 24 (#36580)
mxschmitt Jul 7, 2025
3fc31ff
chore(html): reverse noSnippets option and add documentation (#36583)
agg23 Jul 7, 2025
3401a18
fix(url): add more custom prefixes captured by URL globbing (#36579)
agg23 Jul 7, 2025
f67d632
docs(extensions): update to Manifest v3 (#36586)
mxschmitt Jul 7, 2025
5e17b30
test: fix tests in driver mode (#36587)
mxschmitt Jul 7, 2025
dfdd47a
test: no deprecation warning during installation tests (#36576)
mxschmitt Jul 7, 2025
ebd74e9
test: fix Node.js deprecation warning DEP0190 in primary tests (#36577)
mxschmitt Jul 7, 2025
90c6e14
chore: resolve unroute all race (#36588)
pavelfeldman Jul 8, 2025
0b3c79a
fix(aria): process children of hidden elements (#36316)
Skn0tt Jul 8, 2025
a0cdb16
feat(webkit): roll to r2190 (#36584)
microsoft-playwright-automation[bot] Jul 8, 2025
544017c
feat(chromium-tip-of-tree): roll to r1345 (#36590)
microsoft-playwright-automation[bot] Jul 8, 2025
39a9305
chore: remove unnecessary casts to any (#36555)
agg23 Jul 8, 2025
966f7f5
chore: update dotnet channels generator (#36593)
dgozman Jul 8, 2025
4c25573
fix(ct): enhance error messages when no index.html template is provid…
agg23 Jul 8, 2025
360c653
fix(test): support whitespace in test tags (#36557)
agg23 Jul 8, 2025
44614ba
docs: clarify that the installation command also works for existing p…
rkrisztian Jul 8, 2025
f575771
test: remove useless aria/active test (#36596)
Skn0tt Jul 8, 2025
d3647da
chore(ports): ConsoleMessage.type remains as string in java and dotne…
Skn0tt Jul 8, 2025
117dfd1
fix(types): remove `partitionKey` from `storageState()` type (#36599)
dgozman Jul 8, 2025
5f4a0c7
fix(toMatchSnapshot): use consistent diff colors (#36605)
pavelfeldman Jul 8, 2025
689886c
chore: experimental recorder api (#36604)
pavelfeldman Jul 8, 2025
677ebc0
feat(webkit): roll to r2191 (#36602)
microsoft-playwright-automation[bot] Jul 8, 2025
2cbe965
chore: group attachments in terminal reporters (#36607)
pavelfeldman Jul 8, 2025
82b3ffd
test: unflake Chromium tracing tests (#36612)
mxschmitt Jul 9, 2025
6af944e
chore: unflake tracing screencast frames (#36613)
mxschmitt Jul 9, 2025
cd33649
chore: remove --use-angle in Chromium switches (#36614)
mxschmitt Jul 9, 2025
145e158
test: fix debug-controller.spec (#36616)
dgozman Jul 9, 2025
2edbe25
chore: update browser_patches to 9638cca873674fdb6c97a524be0d3ae4874f…
dgozman Jul 9, 2025
090e5aa
chore: update WebKit version to 26.0 (#36619)
dgozman Jul 9, 2025
ba32a24
chore: push action in context to the recorder app (#36611)
pavelfeldman Jul 9, 2025
fab3043
chore: v1.54 release notes (#36620)
dgozman Jul 9, 2025
82ce736
test: remove stale fixme/skips in capabilities spec (#36617)
mxschmitt Jul 9, 2025
2066c25
feat(html): add keyboard shortcuts (#36609)
pavelfeldman Jul 9, 2025
9287ca0
chore: mark v1.55.0-next (#36623)
dgozman Jul 9, 2025
c64202d
chore: update v1.54 release notes (#36624)
dgozman Jul 9, 2025
5116bd4
chore: render overlay on top of modal dom content (#36625)
pavelfeldman Jul 9, 2025
5b9d836
docs: add note on recording HAR files with Browser.newContext (#36630)
mxschmitt Jul 10, 2025
d88944d
chore: do not pass --enable-use-zoom-for-dsf=false flag to Chromium (…
mxschmitt Jul 10, 2025
a109a27
chore: unflake page.pause() keyboard test (#36636)
mxschmitt Jul 11, 2025
87efb55
chore: remove unused disabled Chromium features (#36635)
mxschmitt Jul 11, 2025
b41508b
feat(chromium): roll to r1182 (#36641)
microsoft-playwright-automation[bot] Jul 11, 2025
4f9285f
feat(chromium-tip-of-tree): roll to r1348 (#36640)
microsoft-playwright-automation[bot] Jul 11, 2025
7e5f1eb
chore: roll stable-test-runner to v1.54.0-beta-1752093008000 (#36631)
dgozman Jul 11, 2025
7fed46b
Revert "fix: get rid of url.parse in network code" (#36654)
Skn0tt Jul 11, 2025
38e12ab
feat(webkit): roll to r2192 (#36642)
microsoft-playwright-automation[bot] Jul 11, 2025
bbb3f9f
fix(html): restore meta + F functionality (#36657)
agg23 Jul 11, 2025
e67c06c
chore: stop tracing upon client disconnect (#36656)
dgozman Jul 12, 2025
b59402a
feat(webkit): roll to r2193 (#36659)
microsoft-playwright-automation[bot] Jul 12, 2025
9605c78
test: roll stable-test-runner to 1.55.0-alpha-2025-07-14 (#36672)
microsoft-playwright-automation[bot] Jul 14, 2025
27ad487
chore: park -mdd experiment (#36660)
pavelfeldman Jul 14, 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
  •  
  •  
  •  
58 changes: 58 additions & 0 deletions .github/workflows/roll_stable_test_runner.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: "PR: bump stable-test-runner"
on:
workflow_dispatch:
schedule:
# At 10:00am UTC (3AM PST) every Monday
- cron: "0 10 * * 1"
jobs:
trigger-roll:
name: Trigger Roll
runs-on: ubuntu-24.04
if: github.repository == 'microsoft/playwright'
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: |
npm install @playwright/test@next
VERSION=$(node -e "console.log(require('./package.json').dependencies['@playwright/test'].replace('^', ''))")
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
working-directory: tests/playwright-test/stable-test-runner/
id: bump
- name: Prepare branch
id: prepare-branch
run: |
if [[ "$(git status --porcelain)" == "" ]]; then
echo "there are no changes";
exit 0;
fi
echo "HAS_CHANGES=1" >> $GITHUB_OUTPUT
BRANCH_NAME="roll-stable-test-runner/$(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 "test: roll stable-test-runner to ${{ steps.bump.outputs.VERSION }}"
git push origin $BRANCH_NAME
- uses: actions/create-github-app-token@v2
id: app-token
with:
app-id: ${{ vars.PLAYWRIGHT_APP_ID }}
private-key: ${{ secrets.PLAYWRIGHT_PRIVATE_KEY }}
- name: Create Pull Request
if: ${{ steps.prepare-branch.outputs.HAS_CHANGES == '1' }}
uses: actions/github-script@v7
with:
github-token: ${{ steps.app-token.outputs.token }}
script: |
await github.rest.pulls.create({
owner: 'microsoft',
repo: 'playwright',
head: 'microsoft:${{ steps.prepare-branch.outputs.BRANCH_NAME }}',
base: 'main',
title: 'test: roll stable-test-runner to ${{ steps.bump.outputs.VERSION }}',
});
21 changes: 21 additions & 0 deletions .github/workflows/tests_others.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,27 @@ jobs:
env:
PW_CLOCK: ${{ matrix.clock }}

test_legacy_progress_timeouts:
name: legacy progress timeouts
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
contents: read # This is required for actions/checkout to succeed
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/run-test
with:
node-version: 20
browsers-to-install: chromium
command: npm run test -- --project=chromium-*
bot-name: "legacy-progress-timeouts-linux"
flakiness-client-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_CLIENT_ID }}
flakiness-tenant-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_TENANT_ID }}
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}
env:
PLAYWRIGHT_LEGACY_TIMEOUTS: 1

test_electron:
name: Electron - ${{ matrix.os }}
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/tests_primary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ jobs:
- os: ubuntu-22.04
node-version: 22
browser: chromium
- os: ubuntu-22.04
node-version: 24
browser: chromium
runs-on: ${{ matrix.os }}
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
Expand Down Expand Up @@ -109,6 +112,14 @@ jobs:
node-version: 22
shardIndex: 2
shardTotal: 2
- os: ubuntu-latest
node-version: 24
shardIndex: 1
shardTotal: 2
- os: ubuntu-latest
node-version: 24
shardIndex: 2
shardTotal: 2
runs-on: ${{ matrix.os }}
permissions:
id-token: write # This is required for OIDC login (azure/login) to succeed
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/tests_secondary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ jobs:
node_version: 20
- os: ubuntu-latest
node_version: 22
- os: ubuntu-latest
node_version: 24
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -176,11 +178,16 @@ jobs:
matrix:
include:
- browser: chromium
runs-on: ubuntu-22.04
- browser: firefox
runs-on: ubuntu-22.04
# See https://github.com/microsoft/playwright/issues/35586
- browser: webkit
runs-on: ubuntu-24.04
- browser: chromium
runs-on: ubuntu-22.04
channel: chromium-tip-of-tree
runs-on: ubuntu-22.04
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/run-test
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# 🎭 Playwright

[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-138.0.7204.4-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-139.0-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-18.4-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-infomational)](https://aka.ms/playwright/discord)
[![npm version](https://img.shields.io/npm/v/playwright.svg)](https://www.npmjs.com/package/playwright) <!-- GEN:chromium-version-badge -->[![Chromium version](https://img.shields.io/badge/chromium-139.0.7258.31-blue.svg?logo=google-chrome)](https://www.chromium.org/Home)<!-- GEN:stop --> <!-- GEN:firefox-version-badge -->[![Firefox version](https://img.shields.io/badge/firefox-140.0.2-blue.svg?logo=firefoxbrowser)](https://www.mozilla.org/en-US/firefox/new/)<!-- GEN:stop --> <!-- GEN:webkit-version-badge -->[![WebKit version](https://img.shields.io/badge/webkit-26.0-blue.svg?logo=safari)](https://webkit.org/)<!-- GEN:stop --> [![Join Discord](https://img.shields.io/badge/join-discord-informational)](https://aka.ms/playwright/discord)

## [Documentation](https://playwright.dev) | [API reference](https://playwright.dev/docs/api/class-playwright)

Playwright is a framework for Web Testing and Automation. It allows testing [Chromium](https://www.chromium.org/Home), [Firefox](https://www.mozilla.org/en-US/firefox/new/) and [WebKit](https://webkit.org/) with a single API. Playwright is built to enable cross-browser web automation that is **ever-green**, **capable**, **reliable** and **fast**.

| | Linux | macOS | Windows |
| :--- | :---: | :---: | :---: |
| Chromium <!-- GEN:chromium-version -->138.0.7204.4<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| WebKit <!-- GEN:webkit-version -->18.4<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox <!-- GEN:firefox-version -->139.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Chromium <!-- GEN:chromium-version -->139.0.7258.31<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| WebKit <!-- GEN:webkit-version -->26.0<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Firefox <!-- GEN:firefox-version -->140.0.2<!-- GEN:stop --> | :white_check_mark: | :white_check_mark: | :white_check_mark: |

Headless execution is supported for all browsers on all platforms. Check out [system requirements](https://playwright.dev/docs/intro#system-requirements) for details.

Expand Down
4 changes: 2 additions & 2 deletions 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/gecko-dev"
REMOTE_URL="https://github.com/mozilla-firefox/firefox"
BASE_BRANCH="release"
BASE_REVISION="5e1efb776a56e399f6810204a2eca13f18a3eba6"
BASE_REVISION="00656c9425c51ee035578ca6ebebe13c755b0375"
10 changes: 3 additions & 7 deletions browser_patches/firefox/juggler/Helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

const uuidGen = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);

class Helper {
export class Helper {
decorateAsEventEmitter(objectToDecorate) {
const { EventEmitter } = ChromeUtils.import('resource://gre/modules/EventEmitter.jsm');
const { EventEmitter } = ChromeUtils.importESModule('resource://gre/modules/EventEmitter.sys.mjs');
const emitter = new EventEmitter();
objectToDecorate.on = emitter.on.bind(emitter);
objectToDecorate.addEventListener = emitter.on.bind(emitter);
Expand Down Expand Up @@ -172,7 +172,7 @@ class Helper {

const helper = new Helper();

class EventWatcher {
export class EventWatcher {
constructor(receiver, eventNames, pendingEventWatchers = new Set()) {
this._pendingEventWatchers = pendingEventWatchers;
this._pendingEventWatchers.add(this);
Expand Down Expand Up @@ -233,7 +233,3 @@ class EventWatcher {
}
}

var EXPORTED_SYMBOLS = [ "Helper", "EventWatcher" ];
this.Helper = Helper;
this.EventWatcher = EventWatcher;

8 changes: 3 additions & 5 deletions browser_patches/firefox/juggler/JugglerFrameParent.jsm
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
"use strict";

const { TargetRegistry } = ChromeUtils.import('chrome://juggler/content/TargetRegistry.js');
const { Helper } = ChromeUtils.import('chrome://juggler/content/Helper.js');
const { TargetRegistry } = ChromeUtils.importESModule('chrome://juggler/content/TargetRegistry.js');
const { Helper } = ChromeUtils.importESModule('chrome://juggler/content/Helper.js');

const helper = new Helper();

var EXPORTED_SYMBOLS = ['JugglerFrameParent'];

class JugglerFrameParent extends JSWindowActorParent {
export class JugglerFrameParent extends JSWindowActorParent {
constructor() {
super();
}
Expand Down
Loading
Loading