@checkly/playwright-core 1.51.17-beta.2 → 1.54.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/ThirdPartyNotices.txt +65 -123
  2. package/browsers.json +16 -14
  3. package/index.js +1 -1
  4. package/lib/androidServerImpl.js +47 -50
  5. package/lib/browserServerImpl.js +89 -69
  6. package/lib/checkly/escapeRegExp.js +23 -27
  7. package/lib/checkly/fetch.js +64 -46
  8. package/lib/checkly/secretsFilter.js +49 -35
  9. package/lib/cli/driver.js +71 -69
  10. package/lib/cli/program.js +400 -359
  11. package/lib/cli/programWithTestStub.js +51 -45
  12. package/lib/client/accessibility.js +31 -32
  13. package/lib/client/android.js +151 -242
  14. package/lib/client/api.js +135 -283
  15. package/lib/client/artifact.js +39 -36
  16. package/lib/client/browser.js +96 -71
  17. package/lib/client/browserContext.js +314 -345
  18. package/lib/client/browserType.js +103 -127
  19. package/lib/client/cdpSession.js +29 -31
  20. package/lib/client/channelOwner.js +90 -113
  21. package/lib/client/clientHelper.js +48 -39
  22. package/lib/client/clientInstrumentation.js +40 -37
  23. package/lib/client/clientStackTrace.js +41 -37
  24. package/lib/client/clock.js +36 -36
  25. package/lib/client/connection.js +188 -214
  26. package/lib/client/consoleMessage.js +31 -28
  27. package/lib/client/coverage.js +25 -22
  28. package/lib/client/dialog.js +30 -31
  29. package/lib/client/download.js +25 -25
  30. package/lib/client/electron.js +80 -77
  31. package/lib/client/elementHandle.js +120 -159
  32. package/lib/client/errors.js +53 -53
  33. package/lib/client/eventEmitter.js +124 -121
  34. package/lib/client/events.js +72 -68
  35. package/lib/client/fetch.js +166 -190
  36. package/lib/client/fileChooser.js +25 -24
  37. package/lib/client/fileUtils.js +31 -28
  38. package/lib/client/frame.js +207 -306
  39. package/lib/client/harRouter.js +42 -52
  40. package/lib/client/input.js +42 -69
  41. package/lib/client/jsHandle.js +54 -69
  42. package/lib/client/jsonPipe.js +27 -23
  43. package/lib/client/localUtils.js +29 -29
  44. package/lib/client/locator.js +145 -237
  45. package/lib/client/network.js +282 -307
  46. package/lib/client/page.js +269 -318
  47. package/lib/client/platform.js +46 -43
  48. package/lib/client/playwright.js +51 -76
  49. package/lib/client/selectors.js +45 -63
  50. package/lib/client/stream.js +29 -25
  51. package/lib/client/timeoutSettings.js +55 -41
  52. package/lib/client/tracing.js +49 -96
  53. package/lib/client/types.js +26 -22
  54. package/lib/client/video.js +35 -27
  55. package/lib/client/waiter.js +69 -88
  56. package/lib/client/webError.js +25 -23
  57. package/lib/client/webSocket.js +43 -56
  58. package/lib/client/worker.js +48 -56
  59. package/lib/client/writableStream.js +27 -23
  60. package/lib/generated/bindingsControllerSource.js +28 -0
  61. package/lib/generated/clockSource.js +26 -6
  62. package/lib/generated/consoleApiSource.js +26 -6
  63. package/lib/generated/injectedScriptSource.js +26 -6
  64. package/lib/generated/pollingRecorderSource.js +26 -6
  65. package/lib/generated/storageScriptSource.js +28 -0
  66. package/lib/generated/utilityScriptSource.js +26 -6
  67. package/lib/generated/webSocketMockSource.js +333 -5
  68. package/lib/inProcessFactory.js +51 -53
  69. package/lib/inprocess.js +2 -19
  70. package/lib/outofprocess.js +51 -46
  71. package/lib/protocol/serializers.js +153 -134
  72. package/lib/protocol/validator.js +2807 -2739
  73. package/lib/protocol/validatorPrimitives.js +114 -73
  74. package/lib/remote/playwrightConnection.js +88 -242
  75. package/lib/remote/playwrightServer.js +305 -92
  76. package/lib/server/accessibility.js +44 -37
  77. package/lib/server/android/android.js +251 -241
  78. package/lib/server/android/backendAdb.js +87 -82
  79. package/lib/server/artifact.js +78 -55
  80. package/lib/server/bidi/bidiBrowser.js +297 -158
  81. package/lib/server/bidi/bidiChromium.js +119 -89
  82. package/lib/server/bidi/bidiConnection.js +66 -83
  83. package/lib/server/bidi/bidiExecutionContext.js +129 -113
  84. package/lib/server/bidi/bidiFirefox.js +86 -76
  85. package/lib/server/bidi/bidiInput.js +106 -117
  86. package/lib/server/bidi/bidiNetworkManager.js +142 -159
  87. package/lib/server/bidi/bidiOverCdp.js +57 -58
  88. package/lib/server/bidi/bidiPage.js +260 -260
  89. package/lib/server/bidi/bidiPdf.js +52 -86
  90. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  91. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  92. package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
  93. package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
  94. package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
  95. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  96. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  97. package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
  98. package/lib/server/browser.js +93 -95
  99. package/lib/server/browserContext.js +419 -429
  100. package/lib/server/browserType.js +186 -216
  101. package/lib/server/callLog.js +47 -44
  102. package/lib/server/chromium/chromium.js +235 -203
  103. package/lib/server/chromium/chromiumSwitches.js +100 -67
  104. package/lib/server/chromium/crAccessibility.js +157 -131
  105. package/lib/server/chromium/crBrowser.js +310 -292
  106. package/lib/server/chromium/crConnection.js +95 -121
  107. package/lib/server/chromium/crCoverage.js +121 -131
  108. package/lib/server/chromium/crDevTools.js +60 -51
  109. package/lib/server/chromium/crDragDrop.js +68 -84
  110. package/lib/server/chromium/crExecutionContext.js +89 -83
  111. package/lib/server/chromium/crInput.js +118 -113
  112. package/lib/server/chromium/crNetworkManager.js +274 -375
  113. package/lib/server/chromium/crPage.js +536 -593
  114. package/lib/server/chromium/crPdf.js +54 -86
  115. package/lib/server/chromium/crProtocolHelper.js +92 -80
  116. package/lib/server/chromium/crServiceWorker.js +84 -73
  117. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  118. package/lib/server/chromium/protocol.d.js +16 -0
  119. package/lib/server/chromium/videoRecorder.js +66 -99
  120. package/lib/server/clock.js +107 -83
  121. package/lib/server/codegen/csharp.js +192 -162
  122. package/lib/server/codegen/java.js +156 -129
  123. package/lib/server/codegen/javascript.js +163 -148
  124. package/lib/server/codegen/jsonl.js +32 -28
  125. package/lib/server/codegen/language.js +75 -52
  126. package/lib/server/codegen/languages.js +65 -27
  127. package/lib/server/codegen/python.js +141 -126
  128. package/lib/server/codegen/types.js +15 -4
  129. package/lib/server/console.js +28 -32
  130. package/lib/server/cookieStore.js +108 -86
  131. package/lib/server/debugController.js +147 -151
  132. package/lib/server/debugger.js +86 -78
  133. package/lib/server/deviceDescriptors.js +37 -24
  134. package/lib/server/deviceDescriptorsSource.json +238 -128
  135. package/lib/server/dialog.js +84 -39
  136. package/lib/server/dispatchers/androidDispatcher.js +257 -148
  137. package/lib/server/dispatchers/artifactDispatcher.js +79 -79
  138. package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
  139. package/lib/server/dispatchers/browserDispatcher.js +96 -148
  140. package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
  141. package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
  142. package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
  143. package/lib/server/dispatchers/dialogDispatcher.js +34 -31
  144. package/lib/server/dispatchers/dispatcher.js +208 -248
  145. package/lib/server/dispatchers/electronDispatcher.js +66 -70
  146. package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
  147. package/lib/server/dispatchers/frameDispatcher.js +211 -272
  148. package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
  149. package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
  150. package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
  151. package/lib/server/dispatchers/networkDispatchers.js +117 -128
  152. package/lib/server/dispatchers/pageDispatcher.js +256 -248
  153. package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
  154. package/lib/server/dispatchers/streamDispatcher.js +52 -48
  155. package/lib/server/dispatchers/tracingDispatcher.js +47 -52
  156. package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
  157. package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
  158. package/lib/server/dom.js +485 -582
  159. package/lib/server/download.js +47 -37
  160. package/lib/server/electron/electron.js +216 -243
  161. package/lib/server/electron/loader.js +9 -37
  162. package/lib/server/errors.js +47 -46
  163. package/lib/server/fetch.js +317 -360
  164. package/lib/server/fileChooser.js +25 -24
  165. package/lib/server/fileUploadUtils.js +66 -60
  166. package/lib/server/firefox/ffAccessibility.js +153 -131
  167. package/lib/server/firefox/ffBrowser.js +268 -305
  168. package/lib/server/firefox/ffConnection.js +63 -84
  169. package/lib/server/firefox/ffExecutionContext.js +92 -73
  170. package/lib/server/firefox/ffInput.js +82 -84
  171. package/lib/server/firefox/ffNetworkManager.js +137 -114
  172. package/lib/server/firefox/ffPage.js +261 -293
  173. package/lib/server/firefox/firefox.js +80 -72
  174. package/lib/server/firefox/protocol.d.js +16 -0
  175. package/lib/server/formData.js +107 -35
  176. package/lib/server/frameSelectors.js +98 -114
  177. package/lib/server/frames.js +845 -1055
  178. package/lib/server/har/harRecorder.js +85 -77
  179. package/lib/server/har/harTracer.js +290 -223
  180. package/lib/server/harBackend.js +80 -80
  181. package/lib/server/helper.js +55 -59
  182. package/lib/server/index.js +59 -99
  183. package/lib/server/input.js +151 -189
  184. package/lib/server/instrumentation.js +57 -44
  185. package/lib/server/javascript.js +133 -134
  186. package/lib/server/launchApp.js +113 -75
  187. package/lib/server/localUtils.js +150 -142
  188. package/lib/server/macEditingCommands.js +141 -137
  189. package/lib/server/network.js +299 -303
  190. package/lib/server/page.js +513 -544
  191. package/lib/server/pipeTransport.js +49 -45
  192. package/lib/server/playwright.js +58 -67
  193. package/lib/server/progress.js +137 -68
  194. package/lib/server/protocolError.js +34 -31
  195. package/lib/server/recorder/chat.js +70 -86
  196. package/lib/server/recorder/recorderApp.js +341 -176
  197. package/lib/server/recorder/recorderInTraceViewer.js +65 -94
  198. package/lib/server/recorder/recorderRunner.js +93 -116
  199. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  200. package/lib/server/recorder/recorderUtils.js +104 -47
  201. package/lib/server/recorder/throttledFile.js +42 -30
  202. package/lib/server/recorder.js +395 -275
  203. package/lib/server/registry/browserFetcher.js +106 -101
  204. package/lib/server/registry/dependencies.js +245 -196
  205. package/lib/server/registry/index.js +930 -803
  206. package/lib/server/registry/nativeDeps.js +1073 -464
  207. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  208. package/lib/server/screenshotter.js +160 -191
  209. package/lib/server/selectors.js +90 -51
  210. package/lib/server/socksClientCertificatesInterceptor.js +171 -186
  211. package/lib/server/socksInterceptor.js +62 -70
  212. package/lib/server/trace/recorder/snapshotter.js +76 -102
  213. package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
  214. package/lib/server/trace/recorder/tracing.js +354 -362
  215. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  216. package/lib/server/trace/viewer/traceViewer.js +160 -147
  217. package/lib/server/transport.js +119 -134
  218. package/lib/server/types.js +26 -22
  219. package/lib/server/usKeyboardLayout.js +135 -545
  220. package/lib/server/utils/ascii.js +39 -26
  221. package/lib/server/utils/comparators.js +105 -103
  222. package/lib/server/utils/crypto.js +157 -112
  223. package/lib/server/utils/debug.js +36 -32
  224. package/lib/server/utils/debugLogger.js +77 -48
  225. package/lib/server/utils/env.js +52 -37
  226. package/lib/server/utils/eventsHelper.js +29 -28
  227. package/lib/server/utils/expectUtils.js +31 -26
  228. package/lib/server/utils/fileUtils.js +123 -136
  229. package/lib/server/utils/happyEyeballs.js +141 -126
  230. package/lib/server/utils/hostPlatform.js +84 -120
  231. package/lib/server/utils/httpServer.js +106 -121
  232. package/lib/server/utils/image_tools/colorUtils.js +42 -51
  233. package/lib/server/utils/image_tools/compare.js +44 -43
  234. package/lib/server/utils/image_tools/imageChannel.js +38 -30
  235. package/lib/server/utils/image_tools/stats.js +40 -40
  236. package/lib/server/utils/linuxUtils.js +50 -37
  237. package/lib/server/utils/network.js +152 -96
  238. package/lib/server/utils/nodePlatform.js +87 -79
  239. package/lib/server/utils/pipeTransport.js +44 -42
  240. package/lib/server/utils/processLauncher.js +111 -121
  241. package/lib/server/utils/profiler.js +52 -39
  242. package/lib/server/utils/socksProxy.js +280 -339
  243. package/lib/server/utils/spawnAsync.js +37 -41
  244. package/lib/server/utils/task.js +31 -38
  245. package/lib/server/utils/userAgent.js +73 -66
  246. package/lib/server/utils/wsServer.js +68 -75
  247. package/lib/server/utils/zipFile.js +36 -37
  248. package/lib/server/utils/zones.js +37 -34
  249. package/lib/server/webkit/protocol.d.js +16 -0
  250. package/lib/server/webkit/webkit.js +77 -61
  251. package/lib/server/webkit/wkAccessibility.js +161 -118
  252. package/lib/server/webkit/wkBrowser.js +193 -184
  253. package/lib/server/webkit/wkConnection.js +59 -83
  254. package/lib/server/webkit/wkExecutionContext.js +85 -70
  255. package/lib/server/webkit/wkInput.js +97 -95
  256. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  257. package/lib/server/webkit/wkPage.js +568 -667
  258. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  259. package/lib/server/webkit/wkWorkers.js +79 -79
  260. package/lib/utils/expectUtils.js +31 -26
  261. package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
  262. package/lib/utils/isomorphic/assert.js +28 -22
  263. package/lib/utils/isomorphic/colors.js +66 -59
  264. package/lib/utils/isomorphic/cssParser.js +120 -125
  265. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  266. package/lib/utils/isomorphic/headers.js +38 -37
  267. package/lib/utils/isomorphic/locatorGenerators.js +358 -357
  268. package/lib/utils/isomorphic/locatorParser.js +96 -105
  269. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  270. package/lib/utils/isomorphic/manualPromise.js +46 -39
  271. package/lib/utils/isomorphic/mimeType.js +447 -25
  272. package/lib/utils/isomorphic/multimap.js +34 -27
  273. package/lib/utils/isomorphic/protocolFormatter.js +68 -0
  274. package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  275. package/lib/utils/isomorphic/recorderUtils.js +140 -181
  276. package/lib/utils/isomorphic/rtti.js +35 -33
  277. package/lib/utils/isomorphic/selectorParser.js +182 -193
  278. package/lib/utils/isomorphic/semaphore.js +27 -24
  279. package/lib/utils/isomorphic/stackTrace.js +87 -98
  280. package/lib/utils/isomorphic/stringUtils.js +98 -112
  281. package/lib/utils/isomorphic/time.js +46 -22
  282. package/lib/utils/isomorphic/timeoutRunner.js +53 -53
  283. package/lib/utils/isomorphic/traceUtils.js +37 -41
  284. package/lib/utils/isomorphic/types.js +15 -4
  285. package/lib/utils/isomorphic/urlMatch.js +113 -67
  286. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  287. package/lib/utils.js +101 -443
  288. package/lib/utilsBundle.js +101 -52
  289. package/lib/utilsBundleImpl/index.js +160 -150
  290. package/lib/zipBundle.js +32 -23
  291. package/lib/zipBundleImpl.js +4 -4
  292. package/package.json +1 -1
  293. package/types/protocol.d.ts +1267 -1057
  294. package/types/types.d.ts +131 -29
  295. package/lib/common/socksProxy.js +0 -569
  296. package/lib/common/timeoutSettings.js +0 -73
  297. package/lib/common/types.js +0 -5
  298. package/lib/image_tools/colorUtils.js +0 -98
  299. package/lib/image_tools/compare.js +0 -108
  300. package/lib/image_tools/imageChannel.js +0 -70
  301. package/lib/image_tools/stats.js +0 -102
  302. package/lib/protocol/debug.js +0 -27
  303. package/lib/protocol/transport.js +0 -82
  304. package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
  305. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
  306. package/lib/server/recorder/contextRecorder.js +0 -290
  307. package/lib/server/recorder/recorderCollection.js +0 -104
  308. package/lib/server/recorder/recorderFrontend.js +0 -5
  309. package/lib/server/storageScript.js +0 -160
  310. package/lib/server/timeoutSettings.js +0 -74
  311. package/lib/third_party/diff_match_patch.js +0 -2222
  312. package/lib/utils/ascii.js +0 -31
  313. package/lib/utils/comparators.js +0 -171
  314. package/lib/utils/crypto.js +0 -174
  315. package/lib/utils/debug.js +0 -46
  316. package/lib/utils/debugLogger.js +0 -91
  317. package/lib/utils/env.js +0 -49
  318. package/lib/utils/eventsHelper.js +0 -38
  319. package/lib/utils/fileUtils.js +0 -205
  320. package/lib/utils/happy-eyeballs.js +0 -210
  321. package/lib/utils/headers.js +0 -52
  322. package/lib/utils/hostPlatform.js +0 -133
  323. package/lib/utils/httpServer.js +0 -237
  324. package/lib/utils/index.js +0 -368
  325. package/lib/utils/linuxUtils.js +0 -78
  326. package/lib/utils/manualPromise.js +0 -109
  327. package/lib/utils/multimap.js +0 -75
  328. package/lib/utils/network.js +0 -160
  329. package/lib/utils/processLauncher.js +0 -248
  330. package/lib/utils/profiler.js +0 -53
  331. package/lib/utils/rtti.js +0 -44
  332. package/lib/utils/semaphore.js +0 -51
  333. package/lib/utils/spawnAsync.js +0 -45
  334. package/lib/utils/stackTrace.js +0 -121
  335. package/lib/utils/task.js +0 -58
  336. package/lib/utils/time.js +0 -37
  337. package/lib/utils/timeoutRunner.js +0 -66
  338. package/lib/utils/traceUtils.js +0 -44
  339. package/lib/utils/userAgent.js +0 -105
  340. package/lib/utils/wsServer.js +0 -127
  341. package/lib/utils/zipFile.js +0 -75
  342. package/lib/utils/zones.js +0 -62
  343. package/lib/vite/htmlReport/index.html +0 -69
  344. package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +0 -24
  345. package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
  346. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  347. package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
  348. package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
  349. package/lib/vite/recorder/index.html +0 -29
  350. package/lib/vite/recorder/playwright-logo.svg +0 -9
  351. package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
  352. package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
  353. package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
  354. package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
  355. package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
  356. package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
  357. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  358. package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
  359. package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
  360. package/lib/vite/traceViewer/embedded.html +0 -18
  361. package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
  362. package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
  363. package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
  364. package/lib/vite/traceViewer/index.html +0 -47
  365. package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
  366. package/lib/vite/traceViewer/playwright-logo.svg +0 -9
  367. package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
  368. package/lib/vite/traceViewer/recorder.html +0 -17
  369. package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
  370. package/lib/vite/traceViewer/snapshot.html +0 -21
  371. package/lib/vite/traceViewer/sw.bundle.js +0 -3
  372. package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
  373. package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
  374. package/lib/vite/traceViewer/uiMode.html +0 -21
  375. package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
  376. package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
package/types/types.d.ts CHANGED
@@ -3974,9 +3974,9 @@ export interface Page {
3974
3974
  *
3975
3975
  * **NOTE** Enabling routing disables http cache.
3976
3976
  *
3977
- * @param url A glob pattern, regex pattern or predicate receiving [URL] to match while routing. When a
3978
- * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) via the context
3979
- * options was provided and the passed URL is a path, it gets merged via the
3977
+ * @param url A glob pattern, regex pattern, or predicate that receives a [URL] to match during routing. If
3978
+ * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) is set in the
3979
+ * context options and the provided URL is a string that does not start with `*`, it is resolved using the
3980
3980
  * [`new URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor.
3981
3981
  * @param handler handler function to route the request.
3982
3982
  * @param options
@@ -8830,6 +8830,13 @@ export interface BrowserContext {
8830
8830
  * Optional.
8831
8831
  */
8832
8832
  sameSite?: "Strict"|"Lax"|"None";
8833
+
8834
+ /**
8835
+ * For partitioned third-party cookies (aka
8836
+ * [CHIPS](https://developer.mozilla.org/en-US/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies)), the
8837
+ * partition key. Optional.
8838
+ */
8839
+ partitionKey?: string;
8833
8840
  }>): Promise<void>;
8834
8841
 
8835
8842
  /**
@@ -8840,7 +8847,8 @@ export interface BrowserContext {
8840
8847
  backgroundPages(): Array<Page>;
8841
8848
 
8842
8849
  /**
8843
- * Returns the browser instance of the context. If it was launched as a persistent context null gets returned.
8850
+ * Gets the browser instance that owns the context. Returns `null` if the context is created outside of normal
8851
+ * browser, e.g. Android or Electron.
8844
8852
  */
8845
8853
  browser(): null|Browser;
8846
8854
 
@@ -8985,6 +8993,7 @@ export interface BrowserContext {
8985
8993
  * - `'notifications'`
8986
8994
  * - `'payment-handler'`
8987
8995
  * - `'storage-access'`
8996
+ * - `'local-fonts'`
8988
8997
  * @param options
8989
8998
  */
8990
8999
  grantPermissions(permissions: ReadonlyArray<string>, options?: {
@@ -9068,9 +9077,9 @@ export interface BrowserContext {
9068
9077
  *
9069
9078
  * **NOTE** Enabling routing disables http cache.
9070
9079
  *
9071
- * @param url A glob pattern, regex pattern or predicate receiving [URL] to match while routing. When a
9072
- * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) via the context
9073
- * options was provided and the passed URL is a path, it gets merged via the
9080
+ * @param url A glob pattern, regex pattern, or predicate that receives a [URL] to match during routing. If
9081
+ * [`baseURL`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-base-url) is set in the
9082
+ * context options and the provided URL is a string that does not start with `*`, it is resolved using the
9074
9083
  * [`new URL()`](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor.
9075
9084
  * @param handler handler function to route the request.
9076
9085
  * @param options
@@ -9274,9 +9283,6 @@ export interface BrowserContext {
9274
9283
  * Set to `true` to include [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) in the storage
9275
9284
  * state snapshot. If your application uses IndexedDB to store authentication tokens, like Firebase Authentication,
9276
9285
  * enable this.
9277
- *
9278
- * **NOTE** IndexedDBs with typed arrays are currently not supported.
9279
- *
9280
9286
  */
9281
9287
  indexedDB?: boolean;
9282
9288
 
@@ -9885,6 +9891,7 @@ export interface Browser {
9885
9891
 
9886
9892
  /**
9887
9893
  * Logger sink for Playwright logging.
9894
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
9888
9895
  */
9889
9896
  logger?: Logger;
9890
9897
 
@@ -12200,6 +12207,17 @@ export interface Locator {
12200
12207
  * rejects, this method throws.
12201
12208
  *
12202
12209
  * **Usage**
12210
+ *
12211
+ * Passing argument to
12212
+ * [`pageFunction`](https://playwright.dev/docs/api/class-locator#locator-evaluate-option-expression):
12213
+ *
12214
+ * ```js
12215
+ * const result = await page.getByTestId('myId').evaluate((element, [x, y]) => {
12216
+ * return element.textContent + ' ' + x * y;
12217
+ * }, [7, 8]);
12218
+ * console.log(result); // prints "myId text 56"
12219
+ * ```
12220
+ *
12203
12221
  * @param pageFunction Function to be evaluated in the page context.
12204
12222
  * @param arg Optional argument to pass to
12205
12223
  * [`pageFunction`](https://playwright.dev/docs/api/class-locator#locator-evaluate-option-expression).
@@ -12225,6 +12243,17 @@ export interface Locator {
12225
12243
  * rejects, this method throws.
12226
12244
  *
12227
12245
  * **Usage**
12246
+ *
12247
+ * Passing argument to
12248
+ * [`pageFunction`](https://playwright.dev/docs/api/class-locator#locator-evaluate-option-expression):
12249
+ *
12250
+ * ```js
12251
+ * const result = await page.getByTestId('myId').evaluate((element, [x, y]) => {
12252
+ * return element.textContent + ' ' + x * y;
12253
+ * }, [7, 8]);
12254
+ * console.log(result); // prints "myId text 56"
12255
+ * ```
12256
+ *
12228
12257
  * @param pageFunction Function to be evaluated in the page context.
12229
12258
  * @param arg Optional argument to pass to
12230
12259
  * [`pageFunction`](https://playwright.dev/docs/api/class-locator#locator-evaluate-option-expression).
@@ -12890,6 +12919,21 @@ export interface Locator {
12890
12919
  trial?: boolean;
12891
12920
  }): Promise<void>;
12892
12921
 
12922
+ /**
12923
+ * Describes the locator, description is used in the trace viewer and reports. Returns the locator pointing to the
12924
+ * same element.
12925
+ *
12926
+ * **Usage**
12927
+ *
12928
+ * ```js
12929
+ * const button = page.getByTestId('btn-sub').describe('Subscribe button');
12930
+ * await button.click();
12931
+ * ```
12932
+ *
12933
+ * @param description Locator description.
12934
+ */
12935
+ describe(description: string): Locator;
12936
+
12893
12937
  /**
12894
12938
  * Programmatically dispatch an event on the matching element.
12895
12939
  *
@@ -14704,11 +14748,15 @@ export interface BrowserType<Unused = {}> {
14704
14748
  * Launches browser that uses persistent storage located at
14705
14749
  * [`userDataDir`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context-option-user-data-dir)
14706
14750
  * and returns the only context. Closing this context will automatically close the browser.
14707
- * @param userDataDir Path to a User Data Directory, which stores browser session data like cookies and local storage. More details for
14751
+ * @param userDataDir Path to a User Data Directory, which stores browser session data like cookies and local storage. Pass an empty
14752
+ * string to create a temporary directory.
14753
+ *
14754
+ * More details for
14708
14755
  * [Chromium](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md#introduction) and
14709
- * [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options#User_Profile). Note that Chromium's
14710
- * user data directory is the **parent** directory of the "Profile Path" seen at `chrome://version`. Pass an empty
14711
- * string to use a temporary directory instead.
14756
+ * [Firefox](https://wiki.mozilla.org/Firefox/CommandLineOptions#User_profile). Chromium's user data directory is the
14757
+ * **parent** directory of the "Profile Path" seen at `chrome://version`.
14758
+ *
14759
+ * Note that browsers do not allow launching multiple instances with the same User Data Directory.
14712
14760
  * @param options
14713
14761
  */
14714
14762
  launchPersistentContext(userDataDir: string, options?: {
@@ -14876,6 +14924,9 @@ export interface BrowserType<Unused = {}> {
14876
14924
  /**
14877
14925
  * Firefox user preferences. Learn more about the Firefox user preferences at
14878
14926
  * [`about:config`](https://support.mozilla.org/en-US/kb/about-config-editor-firefox).
14927
+ *
14928
+ * You can also provide a path to a custom [`policies.json` file](https://mozilla.github.io/policy-templates/) via
14929
+ * `PLAYWRIGHT_FIREFOX_POLICIES_JSON` environment variable.
14879
14930
  */
14880
14931
  firefoxUserPrefs?: { [key: string]: string|number|boolean; };
14881
14932
 
@@ -14927,7 +14978,7 @@ export interface BrowserType<Unused = {}> {
14927
14978
  /**
14928
14979
  * Whether to run browser in headless mode. More details for
14929
14980
  * [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
14930
- * [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode). Defaults to `true` unless the
14981
+ * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true` unless the
14931
14982
  * [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
14932
14983
  * `true`.
14933
14984
  */
@@ -14992,6 +15043,7 @@ export interface BrowserType<Unused = {}> {
14992
15043
 
14993
15044
  /**
14994
15045
  * Logger sink for Playwright logging.
15046
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
14995
15047
  */
14996
15048
  logger?: Logger;
14997
15049
 
@@ -15300,6 +15352,9 @@ export interface BrowserType<Unused = {}> {
15300
15352
  /**
15301
15353
  * Firefox user preferences. Learn more about the Firefox user preferences at
15302
15354
  * [`about:config`](https://support.mozilla.org/en-US/kb/about-config-editor-firefox).
15355
+ *
15356
+ * You can also provide a path to a custom [`policies.json` file](https://mozilla.github.io/policy-templates/) via
15357
+ * `PLAYWRIGHT_FIREFOX_POLICIES_JSON` environment variable.
15303
15358
  */
15304
15359
  firefoxUserPrefs?: { [key: string]: string|number|boolean; };
15305
15360
 
@@ -15321,7 +15376,7 @@ export interface BrowserType<Unused = {}> {
15321
15376
  /**
15322
15377
  * Whether to run browser in headless mode. More details for
15323
15378
  * [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
15324
- * [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode). Defaults to `true` unless the
15379
+ * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true` unless the
15325
15380
  * [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
15326
15381
  * `true`.
15327
15382
  */
@@ -15343,6 +15398,7 @@ export interface BrowserType<Unused = {}> {
15343
15398
 
15344
15399
  /**
15345
15400
  * Logger sink for Playwright logging.
15401
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
15346
15402
  */
15347
15403
  logger?: Logger;
15348
15404
 
@@ -15456,7 +15512,7 @@ export interface CDPSession {
15456
15512
  *
15457
15513
  * **Mocking**
15458
15514
  *
15459
- * By default, the routed WebSocket will not connect to the server. This way, you can mock entire communcation over
15515
+ * By default, the routed WebSocket will not connect to the server. This way, you can mock entire communication over
15460
15516
  * the WebSocket. Here is an example that responds to a `"request"` with a `"response"`.
15461
15517
  *
15462
15518
  * ```js
@@ -16745,6 +16801,7 @@ export interface AndroidDevice {
16745
16801
 
16746
16802
  /**
16747
16803
  * Logger sink for Playwright logging.
16804
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
16748
16805
  */
16749
16806
  logger?: Logger;
16750
16807
 
@@ -17563,6 +17620,13 @@ export interface APIRequest {
17563
17620
  */
17564
17621
  ignoreHTTPSErrors?: boolean;
17565
17622
 
17623
+ /**
17624
+ * Maximum number of request redirects that will be followed automatically. An error will be thrown if the number is
17625
+ * exceeded. Defaults to `20`. Pass `0` to not follow redirects. This can be overwritten for each request
17626
+ * individually.
17627
+ */
17628
+ maxRedirects?: number;
17629
+
17566
17630
  /**
17567
17631
  * Network proxy settings.
17568
17632
  */
@@ -18786,12 +18850,7 @@ export interface ConsoleMessage {
18786
18850
  */
18787
18851
  text(): string;
18788
18852
 
18789
- /**
18790
- * One of the following values: `'log'`, `'debug'`, `'info'`, `'error'`, `'warning'`, `'dir'`, `'dirxml'`, `'table'`,
18791
- * `'trace'`, `'clear'`, `'startGroup'`, `'startGroupCollapsed'`, `'endGroup'`, `'assert'`, `'profile'`,
18792
- * `'profileEnd'`, `'count'`, `'timeEnd'`.
18793
- */
18794
- type(): string;
18853
+ type(): "log"|"debug"|"info"|"error"|"warning"|"dir"|"dirxml"|"table"|"trace"|"clear"|"startGroup"|"startGroupCollapsed"|"endGroup"|"assert"|"profile"|"profileEnd"|"count"|"timeEnd";
18795
18854
  }
18796
18855
 
18797
18856
  /**
@@ -20096,6 +20155,10 @@ export interface Logger {
20096
20155
  /**
20097
20156
  * The Mouse class operates in main-frame CSS pixels relative to the top-left corner of the viewport.
20098
20157
  *
20158
+ * **NOTE** If you want to debug where the mouse moved, you can use the [Trace viewer](https://playwright.dev/docs/trace-viewer-intro) or
20159
+ * [Playwright Inspector](https://playwright.dev/docs/running-tests). A red dot showing the location of the mouse will be shown for every
20160
+ * mouse action.
20161
+ *
20099
20162
  * Every `page` object has its own Mouse, accessible with
20100
20163
  * [page.mouse](https://playwright.dev/docs/api/class-page#page-mouse).
20101
20164
  *
@@ -20770,10 +20833,10 @@ export interface Route {
20770
20833
  * [route.fallback([options])](https://playwright.dev/docs/api/class-route#route-fallback) If you want next matching
20771
20834
  * handler in the chain to be invoked.
20772
20835
  *
20773
- * [route.continue([options])](https://playwright.dev/docs/api/class-route#route-continue) will immediately send the
20774
- * request to the network, other matching handlers won't be invoked. Use
20775
- * [route.fallback([options])](https://playwright.dev/docs/api/class-route#route-fallback) If you want next matching
20776
- * handler in the chain to be invoked.
20836
+ * **NOTE** The `Cookie` header cannot be overridden using this method. If a value is provided, it will be ignored,
20837
+ * and the cookie will be loaded from the browser's cookie store. To set custom cookies, use
20838
+ * [browserContext.addCookies(cookies)](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-cookies).
20839
+ *
20777
20840
  * @param options
20778
20841
  */
20779
20842
  continue(options?: {
@@ -21134,6 +21197,15 @@ export interface Touchscreen {
21134
21197
  * API for collecting and saving Playwright traces. Playwright traces can be opened in
21135
21198
  * [Trace Viewer](https://playwright.dev/docs/trace-viewer) after Playwright script runs.
21136
21199
  *
21200
+ * **NOTE** You probably want to
21201
+ * [enable tracing in your config file](https://playwright.dev/docs/api/class-testoptions#test-options-trace) instead
21202
+ * of using `context.tracing`.
21203
+ *
21204
+ * The `context.tracing` API captures browser operations and network activity, but it doesn't record test assertions
21205
+ * (like `expect` calls). We recommend
21206
+ * [enabling tracing through Playwright Test configuration](https://playwright.dev/docs/api/class-testoptions#test-options-trace),
21207
+ * which includes those assertions and provides a more complete trace for debugging test failures.
21208
+ *
21137
21209
  * Start recording a trace before performing actions. At the end, stop tracing and save it to a file.
21138
21210
  *
21139
21211
  * ```js
@@ -21142,6 +21214,7 @@ export interface Touchscreen {
21142
21214
  * await context.tracing.start({ screenshots: true, snapshots: true });
21143
21215
  * const page = await context.newPage();
21144
21216
  * await page.goto('https://playwright.dev');
21217
+ * expect(page.url()).toBe('https://playwright.dev');
21145
21218
  * await context.tracing.stop({ path: 'trace.zip' });
21146
21219
  * ```
21147
21220
  *
@@ -21189,12 +21262,22 @@ export interface Tracing {
21189
21262
  /**
21190
21263
  * Start tracing.
21191
21264
  *
21265
+ * **NOTE** You probably want to
21266
+ * [enable tracing in your config file](https://playwright.dev/docs/api/class-testoptions#test-options-trace) instead
21267
+ * of using `Tracing.start`.
21268
+ *
21269
+ * The `context.tracing` API captures browser operations and network activity, but it doesn't record test assertions
21270
+ * (like `expect` calls). We recommend
21271
+ * [enabling tracing through Playwright Test configuration](https://playwright.dev/docs/api/class-testoptions#test-options-trace),
21272
+ * which includes those assertions and provides a more complete trace for debugging test failures.
21273
+ *
21192
21274
  * **Usage**
21193
21275
  *
21194
21276
  * ```js
21195
21277
  * await context.tracing.start({ screenshots: true, snapshots: true });
21196
21278
  * const page = await context.newPage();
21197
21279
  * await page.goto('https://playwright.dev');
21280
+ * expect(page.url()).toBe('https://playwright.dev');
21198
21281
  * await context.tracing.stop({ path: 'trace.zip' });
21199
21282
  * ```
21200
21283
  *
@@ -21680,6 +21763,9 @@ export interface LaunchOptions {
21680
21763
  /**
21681
21764
  * Firefox user preferences. Learn more about the Firefox user preferences at
21682
21765
  * [`about:config`](https://support.mozilla.org/en-US/kb/about-config-editor-firefox).
21766
+ *
21767
+ * You can also provide a path to a custom [`policies.json` file](https://mozilla.github.io/policy-templates/) via
21768
+ * `PLAYWRIGHT_FIREFOX_POLICIES_JSON` environment variable.
21683
21769
  */
21684
21770
  firefoxUserPrefs?: { [key: string]: string|number|boolean; };
21685
21771
 
@@ -21701,7 +21787,7 @@ export interface LaunchOptions {
21701
21787
  /**
21702
21788
  * Whether to run browser in headless mode. More details for
21703
21789
  * [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
21704
- * [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Headless_mode). Defaults to `true` unless the
21790
+ * [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true` unless the
21705
21791
  * [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
21706
21792
  * `true`.
21707
21793
  */
@@ -21716,6 +21802,7 @@ export interface LaunchOptions {
21716
21802
 
21717
21803
  /**
21718
21804
  * Logger sink for Playwright logging.
21805
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
21719
21806
  */
21720
21807
  logger?: Logger;
21721
21808
 
@@ -21765,7 +21852,7 @@ export interface LaunchOptions {
21765
21852
 
21766
21853
  export interface ConnectOverCDPOptions {
21767
21854
  /**
21768
- * Deprecated, use the first argument instead. Optional.
21855
+ * @deprecated Use the first argument instead.
21769
21856
  */
21770
21857
  endpointURL?: string;
21771
21858
 
@@ -21776,6 +21863,7 @@ export interface ConnectOverCDPOptions {
21776
21863
 
21777
21864
  /**
21778
21865
  * Logger sink for Playwright logging. Optional.
21866
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
21779
21867
  */
21780
21868
  logger?: Logger;
21781
21869
 
@@ -21817,6 +21905,7 @@ export interface ConnectOptions {
21817
21905
 
21818
21906
  /**
21819
21907
  * Logger sink for Playwright logging. Optional.
21908
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
21820
21909
  */
21821
21910
  logger?: Logger;
21822
21911
 
@@ -22099,6 +22188,7 @@ export interface BrowserContextOptions {
22099
22188
 
22100
22189
  /**
22101
22190
  * Logger sink for Playwright logging.
22191
+ * @deprecated The logs received by the logger are incomplete. Please use tracing instead.
22102
22192
  */
22103
22193
  logger?: Logger;
22104
22194
 
@@ -22419,6 +22509,8 @@ export interface Cookie {
22419
22509
  secure: boolean;
22420
22510
 
22421
22511
  sameSite: "Strict"|"Lax"|"None";
22512
+
22513
+ partitionKey?: string;
22422
22514
  }
22423
22515
 
22424
22516
  interface PageWaitForSelectorOptions {
@@ -22595,14 +22687,22 @@ type Devices = {
22595
22687
  "Galaxy S8 landscape": DeviceDescriptor;
22596
22688
  "Galaxy S9+": DeviceDescriptor;
22597
22689
  "Galaxy S9+ landscape": DeviceDescriptor;
22690
+ "Galaxy S24": DeviceDescriptor;
22691
+ "Galaxy S24 landscape": DeviceDescriptor;
22692
+ "Galaxy A55": DeviceDescriptor;
22693
+ "Galaxy A55 landscape": DeviceDescriptor;
22598
22694
  "Galaxy Tab S4": DeviceDescriptor;
22599
22695
  "Galaxy Tab S4 landscape": DeviceDescriptor;
22696
+ "Galaxy Tab S9": DeviceDescriptor;
22697
+ "Galaxy Tab S9 landscape": DeviceDescriptor;
22600
22698
  "iPad (gen 5)": DeviceDescriptor;
22601
22699
  "iPad (gen 5) landscape": DeviceDescriptor;
22602
22700
  "iPad (gen 6)": DeviceDescriptor;
22603
22701
  "iPad (gen 6) landscape": DeviceDescriptor;
22604
22702
  "iPad (gen 7)": DeviceDescriptor;
22605
22703
  "iPad (gen 7) landscape": DeviceDescriptor;
22704
+ "iPad (gen 11)": DeviceDescriptor;
22705
+ "iPad (gen 11) landscape": DeviceDescriptor;
22606
22706
  "iPad Mini": DeviceDescriptor;
22607
22707
  "iPad Mini landscape": DeviceDescriptor;
22608
22708
  "iPad Pro 11": DeviceDescriptor;
@@ -22621,6 +22721,8 @@ type Devices = {
22621
22721
  "iPhone 8 Plus landscape": DeviceDescriptor;
22622
22722
  "iPhone SE": DeviceDescriptor;
22623
22723
  "iPhone SE landscape": DeviceDescriptor;
22724
+ "iPhone SE (3rd gen)": DeviceDescriptor;
22725
+ "iPhone SE (3rd gen) landscape": DeviceDescriptor;
22624
22726
  "iPhone X": DeviceDescriptor;
22625
22727
  "iPhone X landscape": DeviceDescriptor;
22626
22728
  "iPhone XR": DeviceDescriptor;