@checkly/playwright-core 1.51.17-beta.1 → 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 -36
  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-DrMbgOIo.js +0 -16684
  345. package/lib/vite/recorder/assets/codeMirrorModule-DuST8d_k.css +0 -344
  346. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  347. package/lib/vite/recorder/assets/index-5NM3V7eb.css +0 -2524
  348. package/lib/vite/recorder/assets/index-CT-scFHn.js +0 -16848
  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-CB-2okZ8.js +0 -16684
  352. package/lib/vite/traceViewer/assets/defaultSettingsView-CBiB4avC.js +0 -217
  353. package/lib/vite/traceViewer/assets/inspectorTab-CwgfffWb.js +0 -25143
  354. package/lib/vite/traceViewer/assets/workbench-CWZselvp.js +0 -2470
  355. package/lib/vite/traceViewer/assets/xtermModule-Es_gt_u7.js +0 -5994
  356. package/lib/vite/traceViewer/codeMirrorModule.DuST8d_k.css +0 -344
  357. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  358. package/lib/vite/traceViewer/defaultSettingsView.Dp3b_92q.css +0 -41
  359. package/lib/vite/traceViewer/embedded.BeldSa2G.css +0 -68
  360. package/lib/vite/traceViewer/embedded.gzudoghF.js +0 -106
  361. package/lib/vite/traceViewer/embedded.html +0 -18
  362. package/lib/vite/traceViewer/index.DilotR1h.js +0 -314
  363. package/lib/vite/traceViewer/index.QewjJ85u.css +0 -131
  364. package/lib/vite/traceViewer/index.html +0 -47
  365. package/lib/vite/traceViewer/inspectorTab.DnGm18kV.css +0 -3178
  366. package/lib/vite/traceViewer/playwright-logo.svg +0 -9
  367. package/lib/vite/traceViewer/recorder.DLgqV9db.css +0 -15
  368. package/lib/vite/traceViewer/recorder.DVrkq3Um.js +0 -551
  369. package/lib/vite/traceViewer/recorder.html +0 -17
  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.C9_OcpPU.js +0 -1756
  373. package/lib/vite/traceViewer/uiMode.c5ORgcrX.css +0 -1424
  374. package/lib/vite/traceViewer/uiMode.html +0 -21
  375. package/lib/vite/traceViewer/workbench.xUZSA8PY.css +0 -787
  376. package/lib/vite/traceViewer/xtermModule.EsaqrrTX.css +0 -209
@@ -1,42 +1,40 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var java_exports = {};
20
+ __export(java_exports, {
21
+ JavaLanguageGenerator: () => JavaLanguageGenerator
5
22
  });
6
- exports.JavaLanguageGenerator = void 0;
7
- var _language = require("./language");
8
- var _deviceDescriptors = require("../deviceDescriptors");
9
- var _javascript = require("./javascript");
10
- var _utils = require("../../utils");
11
- /**
12
- * Copyright (c) Microsoft Corporation.
13
- *
14
- * Licensed under the Apache License, Version 2.0 (the "License");
15
- * you may not use this file except in compliance with the License.
16
- * You may obtain a copy of the License at
17
- *
18
- * http://www.apache.org/licenses/LICENSE-2.0
19
- *
20
- * Unless required by applicable law or agreed to in writing, software
21
- * distributed under the License is distributed on an "AS IS" BASIS,
22
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23
- * See the License for the specific language governing permissions and
24
- * limitations under the License.
25
- */
26
-
23
+ module.exports = __toCommonJS(java_exports);
24
+ var import_language = require("./language");
25
+ var import_deviceDescriptors = require("../deviceDescriptors");
26
+ var import_javascript = require("./javascript");
27
+ var import_utils = require("../../utils");
27
28
  class JavaLanguageGenerator {
28
29
  constructor(mode) {
29
- this.id = void 0;
30
- this.groupName = 'Java';
31
- this.name = void 0;
32
- this.highlighter = 'java';
33
- this._mode = void 0;
34
- if (mode === 'library') {
35
- this.name = 'Library';
36
- this.id = 'java';
37
- } else if (mode === 'junit') {
38
- this.name = 'JUnit';
39
- this.id = 'java-junit';
30
+ this.groupName = "Java";
31
+ this.highlighter = "java";
32
+ if (mode === "library") {
33
+ this.name = "Library";
34
+ this.id = "java";
35
+ } else if (mode === "junit") {
36
+ this.name = "JUnit";
37
+ this.id = "java-junit";
40
38
  } else {
41
39
  throw new Error(`Unknown Java language mode: ${mode}`);
42
40
  }
@@ -45,17 +43,19 @@ class JavaLanguageGenerator {
45
43
  generateAction(actionInContext) {
46
44
  const action = actionInContext.action;
47
45
  const pageAlias = actionInContext.frame.pageAlias;
48
- const offset = this._mode === 'junit' ? 4 : 6;
49
- const formatter = new _javascript.JavaScriptFormatter(offset);
50
- if (this._mode !== 'library' && (action.name === 'openPage' || action.name === 'closePage')) return '';
51
- if (action.name === 'openPage') {
46
+ const offset = this._mode === "junit" ? 4 : 6;
47
+ const formatter = new import_javascript.JavaScriptFormatter(offset);
48
+ if (this._mode !== "library" && (action.name === "openPage" || action.name === "closePage"))
49
+ return "";
50
+ if (action.name === "openPage") {
52
51
  formatter.add(`Page ${pageAlias} = context.newPage();`);
53
- if (action.url && action.url !== 'about:blank' && action.url !== 'chrome://newtab/') formatter.add(`${pageAlias}.navigate(${quote(action.url)});`);
52
+ if (action.url && action.url !== "about:blank" && action.url !== "chrome://newtab/")
53
+ formatter.add(`${pageAlias}.navigate(${quote(action.url)});`);
54
54
  return formatter.format();
55
55
  }
56
- const locators = actionInContext.frame.framePath.map(selector => `.${this._asLocator(selector, false)}.contentFrame()`);
57
- const subject = `${pageAlias}${locators.join('')}`;
58
- const signals = (0, _language.toSignalMap)(action);
56
+ const locators = actionInContext.frame.framePath.map((selector) => `.${this._asLocator(selector, false)}.contentFrame()`);
57
+ const subject = `${pageAlias}${locators.join("")}`;
58
+ const signals = (0, import_language.toSignalMap)(action);
59
59
  if (signals.dialog) {
60
60
  formatter.add(` ${pageAlias}.onceDialog(dialog -> {
61
61
  System.out.println(String.format("Dialog message: %s", dialog.message()));
@@ -79,63 +79,62 @@ class JavaLanguageGenerator {
79
79
  _generateActionCall(subject, actionInContext, inFrameLocator) {
80
80
  const action = actionInContext.action;
81
81
  switch (action.name) {
82
- case 'openPage':
83
- throw Error('Not reached');
84
- case 'closePage':
82
+ case "openPage":
83
+ throw Error("Not reached");
84
+ case "closePage":
85
85
  return `${subject}.close();`;
86
- case 'click':
87
- {
88
- let method = 'click';
89
- if (action.clickCount === 2) method = 'dblclick';
90
- const options = (0, _language.toClickOptionsForSourceCode)(action);
91
- const optionsText = formatClickOptions(options);
92
- return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.${method}(${optionsText});`;
93
- }
94
- case 'check':
86
+ case "click": {
87
+ let method = "click";
88
+ if (action.clickCount === 2)
89
+ method = "dblclick";
90
+ const options = (0, import_language.toClickOptionsForSourceCode)(action);
91
+ const optionsText = formatClickOptions(options);
92
+ return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.${method}(${optionsText});`;
93
+ }
94
+ case "check":
95
95
  return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.check();`;
96
- case 'uncheck':
96
+ case "uncheck":
97
97
  return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.uncheck();`;
98
- case 'fill':
98
+ case "fill":
99
99
  return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.fill(${quote(action.text)});`;
100
- case 'setInputFiles':
100
+ case "setInputFiles":
101
101
  return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.setInputFiles(${formatPath(action.files.length === 1 ? action.files[0] : action.files)});`;
102
- case 'press':
103
- {
104
- const modifiers = (0, _language.toKeyboardModifiers)(action.modifiers);
105
- const shortcut = [...modifiers, action.key].join('+');
106
- return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.press(${quote(shortcut)});`;
107
- }
108
- case 'navigate':
102
+ case "press": {
103
+ const modifiers = (0, import_language.toKeyboardModifiers)(action.modifiers);
104
+ const shortcut = [...modifiers, action.key].join("+");
105
+ return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.press(${quote(shortcut)});`;
106
+ }
107
+ case "navigate":
109
108
  return `${subject}.navigate(${quote(action.url)});`;
110
- case 'select':
109
+ case "select":
111
110
  return `${subject}.${this._asLocator(action.selector, inFrameLocator)}.selectOption(${formatSelectOption(action.options.length === 1 ? action.options[0] : action.options)});`;
112
- case 'assertText':
113
- return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).${action.substring ? 'containsText' : 'hasText'}(${quote(action.text)});`;
114
- case 'assertChecked':
115
- return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)})${action.checked ? '' : '.not()'}.isChecked();`;
116
- case 'assertVisible':
111
+ case "assertText":
112
+ return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).${action.substring ? "containsText" : "hasText"}(${quote(action.text)});`;
113
+ case "assertChecked":
114
+ return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)})${action.checked ? "" : ".not()"}.isChecked();`;
115
+ case "assertVisible":
117
116
  return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).isVisible();`;
118
- case 'assertValue':
119
- {
120
- const assertion = action.value ? `hasValue(${quote(action.value)})` : `isEmpty()`;
121
- return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).${assertion};`;
122
- }
123
- case 'assertSnapshot':
124
- return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).matchesAriaSnapshot(${quote(action.snapshot)});`;
117
+ case "assertValue": {
118
+ const assertion = action.value ? `hasValue(${quote(action.value)})` : `isEmpty()`;
119
+ return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).${assertion};`;
120
+ }
121
+ case "assertSnapshot":
122
+ return `assertThat(${subject}.${this._asLocator(action.selector, inFrameLocator)}).matchesAriaSnapshot(${quote(action.ariaSnapshot)});`;
125
123
  }
126
124
  }
127
125
  _asLocator(selector, inFrameLocator) {
128
- return (0, _utils.asLocator)('java', selector, inFrameLocator);
126
+ return (0, import_utils.asLocator)("java", selector, inFrameLocator);
129
127
  }
130
128
  generateHeader(options) {
131
- const formatter = new _javascript.JavaScriptFormatter();
132
- if (this._mode === 'junit') {
129
+ const formatter = new import_javascript.JavaScriptFormatter();
130
+ if (this._mode === "junit") {
133
131
  formatter.add(`
134
132
  import com.microsoft.playwright.junit.UsePlaywright;
135
133
  import com.microsoft.playwright.Page;
136
134
  import com.microsoft.playwright.options.*;
137
135
 
138
- ${options.contextOptions.recordHar ? `import java.nio.file.Paths;\n` : ''}import org.junit.jupiter.api.*;
136
+ ${options.contextOptions.recordHar ? `import java.nio.file.Paths;
137
+ ` : ""}import org.junit.jupiter.api.*;
139
138
  import static com.microsoft.playwright.assertions.PlaywrightAssertions.*;
140
139
 
141
140
  @UsePlaywright
@@ -144,8 +143,8 @@ class JavaLanguageGenerator {
144
143
  void test(Page page) {`);
145
144
  if (options.contextOptions.recordHar) {
146
145
  const url = options.contextOptions.recordHar.urlFilter;
147
- const recordHarOptions = typeof url === 'string' ? `, new Page.RouteFromHAROptions()
148
- .setUrl(${quote(url)})` : '';
146
+ const recordHarOptions = typeof url === "string" ? `, new Page.RouteFromHAROptions()
147
+ .setUrl(${quote(url)})` : "";
149
148
  formatter.add(` page.routeFromHAR(Paths.get(${quote(options.contextOptions.recordHar.path)})${recordHarOptions});`);
150
149
  }
151
150
  return formatter.format();
@@ -154,7 +153,8 @@ class JavaLanguageGenerator {
154
153
  import com.microsoft.playwright.*;
155
154
  import com.microsoft.playwright.options.*;
156
155
  import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
157
- ${options.contextOptions.recordHar ? `import java.nio.file.Paths;\n` : ''}import java.util.*;
156
+ ${options.contextOptions.recordHar ? `import java.nio.file.Paths;
157
+ ` : ""}import java.util.*;
158
158
 
159
159
  public class Example {
160
160
  public static void main(String[] args) {
@@ -163,15 +163,17 @@ class JavaLanguageGenerator {
163
163
  BrowserContext context = browser.newContext(${formatContextOptions(options.contextOptions, options.deviceName)});`);
164
164
  if (options.contextOptions.recordHar) {
165
165
  const url = options.contextOptions.recordHar.urlFilter;
166
- const recordHarOptions = typeof url === 'string' ? `, new BrowserContext.RouteFromHAROptions()
167
- .setUrl(${quote(url)})` : '';
166
+ const recordHarOptions = typeof url === "string" ? `, new BrowserContext.RouteFromHAROptions()
167
+ .setUrl(${quote(url)})` : "";
168
168
  formatter.add(` context.routeFromHAR(Paths.get(${quote(options.contextOptions.recordHar.path)})${recordHarOptions});`);
169
169
  }
170
170
  return formatter.format();
171
171
  }
172
172
  generateFooter(saveStorage) {
173
- const storageStateLine = saveStorage ? `\n context.storageState(new BrowserContext.StorageStateOptions().setPath(${quote(saveStorage)}));\n` : '';
174
- if (this._mode === 'junit') {
173
+ const storageStateLine = saveStorage ? `
174
+ context.storageState(new BrowserContext.StorageStateOptions().setPath(${quote(saveStorage)}));
175
+ ` : "";
176
+ if (this._mode === "junit") {
175
177
  return `${storageStateLine} }
176
178
  }`;
177
179
  }
@@ -180,64 +182,89 @@ class JavaLanguageGenerator {
180
182
  }`;
181
183
  }
182
184
  }
183
- exports.JavaLanguageGenerator = JavaLanguageGenerator;
184
185
  function formatPath(files) {
185
186
  if (Array.isArray(files)) {
186
- if (files.length === 0) return 'new Path[0]';
187
- return `new Path[] {${files.map(s => 'Paths.get(' + quote(s) + ')').join(', ')}}`;
187
+ if (files.length === 0)
188
+ return "new Path[0]";
189
+ return `new Path[] {${files.map((s) => "Paths.get(" + quote(s) + ")").join(", ")}}`;
188
190
  }
189
191
  return `Paths.get(${quote(files)})`;
190
192
  }
191
193
  function formatSelectOption(options) {
192
194
  if (Array.isArray(options)) {
193
- if (options.length === 0) return 'new String[0]';
194
- return `new String[] {${options.map(s => quote(s)).join(', ')}}`;
195
+ if (options.length === 0)
196
+ return "new String[0]";
197
+ return `new String[] {${options.map((s) => quote(s)).join(", ")}}`;
195
198
  }
196
199
  return quote(options);
197
200
  }
198
201
  function formatLaunchOptions(options) {
199
202
  const lines = [];
200
- if (!Object.keys(options).filter(key => options[key] !== undefined).length) return '';
201
- lines.push('new BrowserType.LaunchOptions()');
202
- if (options.channel) lines.push(` .setChannel(${quote(options.channel)})`);
203
- if (typeof options.headless === 'boolean') lines.push(` .setHeadless(false)`);
204
- return lines.join('\n');
203
+ if (!Object.keys(options).filter((key) => options[key] !== void 0).length)
204
+ return "";
205
+ lines.push("new BrowserType.LaunchOptions()");
206
+ if (options.channel)
207
+ lines.push(` .setChannel(${quote(options.channel)})`);
208
+ if (typeof options.headless === "boolean")
209
+ lines.push(` .setHeadless(false)`);
210
+ return lines.join("\n");
205
211
  }
206
212
  function formatContextOptions(contextOptions, deviceName) {
207
213
  const lines = [];
208
- if (!Object.keys(contextOptions).length && !deviceName) return '';
209
- const device = deviceName ? _deviceDescriptors.deviceDescriptors[deviceName] : {};
210
- const options = {
211
- ...device,
212
- ...contextOptions
213
- };
214
- lines.push('new Browser.NewContextOptions()');
215
- if (options.acceptDownloads) lines.push(` .setAcceptDownloads(true)`);
216
- if (options.bypassCSP) lines.push(` .setBypassCSP(true)`);
217
- if (options.colorScheme) lines.push(` .setColorScheme(ColorScheme.${options.colorScheme.toUpperCase()})`);
218
- if (options.deviceScaleFactor) lines.push(` .setDeviceScaleFactor(${options.deviceScaleFactor})`);
219
- if (options.geolocation) lines.push(` .setGeolocation(${options.geolocation.latitude}, ${options.geolocation.longitude})`);
220
- if (options.hasTouch) lines.push(` .setHasTouch(${options.hasTouch})`);
221
- if (options.isMobile) lines.push(` .setIsMobile(${options.isMobile})`);
222
- if (options.locale) lines.push(` .setLocale(${quote(options.locale)})`);
223
- if (options.proxy) lines.push(` .setProxy(new Proxy(${quote(options.proxy.server)}))`);
224
- if (options.serviceWorkers) lines.push(` .setServiceWorkers(ServiceWorkerPolicy.${options.serviceWorkers.toUpperCase()})`);
225
- if (options.storageState) lines.push(` .setStorageStatePath(Paths.get(${quote(options.storageState)}))`);
226
- if (options.timezoneId) lines.push(` .setTimezoneId(${quote(options.timezoneId)})`);
227
- if (options.userAgent) lines.push(` .setUserAgent(${quote(options.userAgent)})`);
228
- if (options.viewport) lines.push(` .setViewportSize(${options.viewport.width}, ${options.viewport.height})`);
229
- return lines.join('\n');
214
+ if (!Object.keys(contextOptions).length && !deviceName)
215
+ return "";
216
+ const device = deviceName ? import_deviceDescriptors.deviceDescriptors[deviceName] : {};
217
+ const options = { ...device, ...contextOptions };
218
+ lines.push("new Browser.NewContextOptions()");
219
+ if (options.acceptDownloads)
220
+ lines.push(` .setAcceptDownloads(true)`);
221
+ if (options.bypassCSP)
222
+ lines.push(` .setBypassCSP(true)`);
223
+ if (options.colorScheme)
224
+ lines.push(` .setColorScheme(ColorScheme.${options.colorScheme.toUpperCase()})`);
225
+ if (options.deviceScaleFactor)
226
+ lines.push(` .setDeviceScaleFactor(${options.deviceScaleFactor})`);
227
+ if (options.geolocation)
228
+ lines.push(` .setGeolocation(${options.geolocation.latitude}, ${options.geolocation.longitude})`);
229
+ if (options.hasTouch)
230
+ lines.push(` .setHasTouch(${options.hasTouch})`);
231
+ if (options.isMobile)
232
+ lines.push(` .setIsMobile(${options.isMobile})`);
233
+ if (options.locale)
234
+ lines.push(` .setLocale(${quote(options.locale)})`);
235
+ if (options.proxy)
236
+ lines.push(` .setProxy(new Proxy(${quote(options.proxy.server)}))`);
237
+ if (options.serviceWorkers)
238
+ lines.push(` .setServiceWorkers(ServiceWorkerPolicy.${options.serviceWorkers.toUpperCase()})`);
239
+ if (options.storageState)
240
+ lines.push(` .setStorageStatePath(Paths.get(${quote(options.storageState)}))`);
241
+ if (options.timezoneId)
242
+ lines.push(` .setTimezoneId(${quote(options.timezoneId)})`);
243
+ if (options.userAgent)
244
+ lines.push(` .setUserAgent(${quote(options.userAgent)})`);
245
+ if (options.viewport)
246
+ lines.push(` .setViewportSize(${options.viewport.width}, ${options.viewport.height})`);
247
+ return lines.join("\n");
230
248
  }
231
249
  function formatClickOptions(options) {
232
250
  const lines = [];
233
- if (options.button) lines.push(` .setButton(MouseButton.${options.button.toUpperCase()})`);
234
- if (options.modifiers) lines.push(` .setModifiers(Arrays.asList(${options.modifiers.map(m => `KeyboardModifier.${m.toUpperCase()}`).join(', ')}))`);
235
- if (options.clickCount) lines.push(` .setClickCount(${options.clickCount})`);
236
- if (options.position) lines.push(` .setPosition(${options.position.x}, ${options.position.y})`);
237
- if (!lines.length) return '';
251
+ if (options.button)
252
+ lines.push(` .setButton(MouseButton.${options.button.toUpperCase()})`);
253
+ if (options.modifiers)
254
+ lines.push(` .setModifiers(Arrays.asList(${options.modifiers.map((m) => `KeyboardModifier.${m.toUpperCase()}`).join(", ")}))`);
255
+ if (options.clickCount)
256
+ lines.push(` .setClickCount(${options.clickCount})`);
257
+ if (options.position)
258
+ lines.push(` .setPosition(${options.position.x}, ${options.position.y})`);
259
+ if (!lines.length)
260
+ return "";
238
261
  lines.unshift(`new Locator.ClickOptions()`);
239
- return lines.join('\n');
262
+ return lines.join("\n");
240
263
  }
241
264
  function quote(text) {
242
- return (0, _utils.escapeWithQuotes)(text, '\"');
243
- }
265
+ return (0, import_utils.escapeWithQuotes)(text, '"');
266
+ }
267
+ // Annotate the CommonJS export names for ESM import in node:
268
+ 0 && (module.exports = {
269
+ JavaLanguageGenerator
270
+ });