@checkly/playwright-core 1.51.17-beta.2 → 1.54.2-beta.1
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.
- package/ThirdPartyNotices.txt +65 -123
- package/browsers.json +16 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +47 -50
- package/lib/browserServerImpl.js +89 -69
- package/lib/checkly/escapeRegExp.js +23 -27
- package/lib/checkly/fetch.js +64 -46
- package/lib/checkly/secretsFilter.js +49 -35
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +400 -359
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +151 -242
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +96 -71
- package/lib/client/browserContext.js +314 -345
- package/lib/client/browserType.js +103 -127
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +89 -112
- package/lib/client/clientHelper.js +48 -39
- package/lib/client/clientInstrumentation.js +40 -37
- package/lib/client/clientStackTrace.js +41 -37
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +188 -214
- package/lib/client/consoleMessage.js +31 -28
- package/lib/client/coverage.js +25 -22
- package/lib/client/dialog.js +30 -31
- package/lib/client/download.js +25 -25
- package/lib/client/electron.js +80 -77
- package/lib/client/elementHandle.js +120 -159
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +124 -121
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +166 -190
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +207 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +42 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -29
- package/lib/client/locator.js +145 -237
- package/lib/client/network.js +282 -307
- package/lib/client/page.js +269 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -76
- package/lib/client/selectors.js +45 -63
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +55 -41
- package/lib/client/tracing.js +49 -96
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +69 -88
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +43 -56
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +26 -6
- package/lib/generated/consoleApiSource.js +26 -6
- package/lib/generated/injectedScriptSource.js +26 -6
- package/lib/generated/pollingRecorderSource.js +26 -6
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +26 -6
- package/lib/generated/webSocketMockSource.js +333 -5
- package/lib/inProcessFactory.js +51 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +51 -46
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2807 -2739
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +88 -242
- package/lib/remote/playwrightServer.js +305 -92
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +251 -241
- package/lib/server/android/backendAdb.js +87 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +297 -158
- package/lib/server/bidi/bidiChromium.js +119 -89
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +129 -113
- package/lib/server/bidi/bidiFirefox.js +86 -76
- package/lib/server/bidi/bidiInput.js +106 -117
- package/lib/server/bidi/bidiNetworkManager.js +142 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +260 -260
- package/lib/server/bidi/bidiPdf.js +52 -86
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
- package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
- package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
- package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
- package/lib/server/browser.js +93 -95
- package/lib/server/browserContext.js +419 -429
- package/lib/server/browserType.js +186 -216
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +235 -203
- package/lib/server/chromium/chromiumSwitches.js +100 -67
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +310 -292
- package/lib/server/chromium/crConnection.js +95 -121
- package/lib/server/chromium/crCoverage.js +121 -131
- package/lib/server/chromium/crDevTools.js +60 -51
- package/lib/server/chromium/crDragDrop.js +68 -84
- package/lib/server/chromium/crExecutionContext.js +89 -83
- package/lib/server/chromium/crInput.js +118 -113
- package/lib/server/chromium/crNetworkManager.js +274 -375
- package/lib/server/chromium/crPage.js +536 -593
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +84 -73
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +66 -99
- package/lib/server/clock.js +107 -83
- package/lib/server/codegen/csharp.js +192 -162
- package/lib/server/codegen/java.js +156 -129
- package/lib/server/codegen/javascript.js +163 -148
- package/lib/server/codegen/jsonl.js +32 -28
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -126
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +108 -86
- package/lib/server/debugController.js +147 -151
- package/lib/server/debugger.js +86 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +238 -128
- package/lib/server/dialog.js +84 -39
- package/lib/server/dispatchers/androidDispatcher.js +257 -148
- package/lib/server/dispatchers/artifactDispatcher.js +79 -79
- package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
- package/lib/server/dispatchers/browserDispatcher.js +96 -148
- package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
- package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
- package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
- package/lib/server/dispatchers/dialogDispatcher.js +34 -31
- package/lib/server/dispatchers/dispatcher.js +208 -248
- package/lib/server/dispatchers/electronDispatcher.js +66 -70
- package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
- package/lib/server/dispatchers/frameDispatcher.js +211 -272
- package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
- package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
- package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
- package/lib/server/dispatchers/networkDispatchers.js +117 -128
- package/lib/server/dispatchers/pageDispatcher.js +256 -248
- package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
- package/lib/server/dispatchers/streamDispatcher.js +52 -48
- package/lib/server/dispatchers/tracingDispatcher.js +47 -52
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
- package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
- package/lib/server/dom.js +485 -582
- package/lib/server/download.js +47 -37
- package/lib/server/electron/electron.js +216 -243
- package/lib/server/electron/loader.js +9 -37
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +317 -360
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -60
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +268 -305
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +92 -73
- package/lib/server/firefox/ffInput.js +82 -84
- package/lib/server/firefox/ffNetworkManager.js +137 -114
- package/lib/server/firefox/ffPage.js +261 -293
- package/lib/server/firefox/firefox.js +80 -72
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +98 -114
- package/lib/server/frames.js +845 -1055
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +290 -223
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +55 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +151 -189
- package/lib/server/instrumentation.js +57 -44
- package/lib/server/javascript.js +133 -134
- package/lib/server/launchApp.js +113 -75
- package/lib/server/localUtils.js +150 -142
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +299 -303
- package/lib/server/page.js +513 -544
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +58 -67
- package/lib/server/progress.js +137 -68
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/recorderApp.js +341 -176
- package/lib/server/recorder/recorderInTraceViewer.js +65 -94
- package/lib/server/recorder/recorderRunner.js +93 -116
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +104 -47
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +395 -275
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +930 -803
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +160 -191
- package/lib/server/selectors.js +90 -51
- package/lib/server/socksClientCertificatesInterceptor.js +171 -186
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/trace/recorder/snapshotter.js +76 -102
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +354 -362
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +160 -147
- package/lib/server/transport.js +119 -134
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +39 -26
- package/lib/server/utils/comparators.js +105 -103
- package/lib/server/utils/crypto.js +157 -112
- package/lib/server/utils/debug.js +36 -32
- package/lib/server/utils/debugLogger.js +77 -48
- package/lib/server/utils/env.js +52 -37
- package/lib/server/utils/eventsHelper.js +29 -28
- package/lib/server/utils/expectUtils.js +31 -26
- package/lib/server/utils/fileUtils.js +123 -136
- package/lib/server/utils/happyEyeballs.js +141 -126
- package/lib/server/utils/hostPlatform.js +84 -120
- package/lib/server/utils/httpServer.js +106 -121
- package/lib/server/utils/image_tools/colorUtils.js +42 -51
- package/lib/server/utils/image_tools/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +38 -30
- package/lib/server/utils/image_tools/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +50 -37
- package/lib/server/utils/network.js +152 -96
- package/lib/server/utils/nodePlatform.js +87 -79
- package/lib/server/utils/pipeTransport.js +44 -42
- package/lib/server/utils/processLauncher.js +111 -121
- package/lib/server/utils/profiler.js +52 -39
- package/lib/server/utils/socksProxy.js +280 -339
- package/lib/server/utils/spawnAsync.js +37 -41
- package/lib/server/utils/task.js +31 -38
- package/lib/server/utils/userAgent.js +73 -66
- package/lib/server/utils/wsServer.js +68 -75
- package/lib/server/utils/zipFile.js +36 -37
- package/lib/server/utils/zones.js +37 -34
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +77 -61
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +193 -184
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +85 -70
- package/lib/server/webkit/wkInput.js +97 -95
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +568 -667
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +79 -79
- package/lib/utils/expectUtils.js +31 -26
- package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +120 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +358 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +46 -39
- package/lib/utils/isomorphic/mimeType.js +447 -25
- package/lib/utils/isomorphic/multimap.js +34 -27
- package/lib/utils/isomorphic/protocolFormatter.js +68 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/recorderUtils.js +140 -181
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +182 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +98 -112
- package/lib/utils/isomorphic/time.js +46 -22
- package/lib/utils/isomorphic/timeoutRunner.js +53 -53
- package/lib/utils/isomorphic/traceUtils.js +37 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +113 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
- package/lib/utils.js +101 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +1267 -1057
- package/types/types.d.ts +131 -29
- package/lib/common/socksProxy.js +0 -569
- package/lib/common/timeoutSettings.js +0 -73
- package/lib/common/types.js +0 -5
- package/lib/image_tools/colorUtils.js +0 -98
- package/lib/image_tools/compare.js +0 -108
- package/lib/image_tools/imageChannel.js +0 -70
- package/lib/image_tools/stats.js +0 -102
- package/lib/protocol/debug.js +0 -27
- package/lib/protocol/transport.js +0 -82
- package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/server/recorder/contextRecorder.js +0 -290
- package/lib/server/recorder/recorderCollection.js +0 -104
- package/lib/server/recorder/recorderFrontend.js +0 -5
- package/lib/server/storageScript.js +0 -160
- package/lib/server/timeoutSettings.js +0 -74
- package/lib/third_party/diff_match_patch.js +0 -2222
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -171
- package/lib/utils/crypto.js +0 -174
- package/lib/utils/debug.js +0 -46
- package/lib/utils/debugLogger.js +0 -91
- package/lib/utils/env.js +0 -49
- package/lib/utils/eventsHelper.js +0 -38
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -210
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -133
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/linuxUtils.js +0 -78
- package/lib/utils/manualPromise.js +0 -109
- package/lib/utils/multimap.js +0 -75
- package/lib/utils/network.js +0 -160
- package/lib/utils/processLauncher.js +0 -248
- package/lib/utils/profiler.js +0 -53
- package/lib/utils/rtti.js +0 -44
- package/lib/utils/semaphore.js +0 -51
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -121
- package/lib/utils/task.js +0 -58
- package/lib/utils/time.js +0 -37
- package/lib/utils/timeoutRunner.js +0 -66
- package/lib/utils/traceUtils.js +0 -44
- package/lib/utils/userAgent.js +0 -105
- package/lib/utils/wsServer.js +0 -127
- package/lib/utils/zipFile.js +0 -75
- package/lib/utils/zones.js +0 -62
- package/lib/vite/htmlReport/index.html +0 -69
- package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +0 -24
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
- package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
- package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
- package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
- package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
- package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
- package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
|
@@ -1,144 +1,115 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty
|
|
4
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var recorderInTraceViewer_exports = {};
|
|
30
|
+
__export(recorderInTraceViewer_exports, {
|
|
31
|
+
RecorderInTraceViewer: () => RecorderInTraceViewer
|
|
5
32
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Copyright (c) Microsoft Corporation.
|
|
14
|
-
*
|
|
15
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
* you may not use this file except in compliance with the License.
|
|
17
|
-
* You may obtain a copy of the License at
|
|
18
|
-
*
|
|
19
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
*
|
|
21
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
* See the License for the specific language governing permissions and
|
|
25
|
-
* limitations under the License.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
class RecorderInTraceViewer extends _events.EventEmitter {
|
|
33
|
+
module.exports = __toCommonJS(recorderInTraceViewer_exports);
|
|
34
|
+
var import_path = __toESM(require("path"));
|
|
35
|
+
var import_events = require("events");
|
|
36
|
+
var import_traceViewer = require("../trace/viewer/traceViewer");
|
|
37
|
+
var import_manualPromise = require("../../utils/manualPromise");
|
|
38
|
+
class RecorderInTraceViewer extends import_events.EventEmitter {
|
|
29
39
|
static factory(context) {
|
|
30
|
-
return async recorder => {
|
|
40
|
+
return async (recorder) => {
|
|
31
41
|
const transport = new RecorderTransport();
|
|
32
|
-
const trace =
|
|
33
|
-
const {
|
|
34
|
-
wsEndpointForTest,
|
|
35
|
-
tracePage,
|
|
36
|
-
traceServer
|
|
37
|
-
} = await openApp(trace, {
|
|
38
|
-
transport,
|
|
39
|
-
headless: !context._browser.options.headful
|
|
40
|
-
});
|
|
42
|
+
const trace = import_path.default.join(context._browser.options.tracesDir, "trace");
|
|
43
|
+
const { wsEndpointForTest, tracePage, traceServer } = await openApp(trace, { transport, headless: !context._browser.options.headful });
|
|
41
44
|
return new RecorderInTraceViewer(transport, tracePage, traceServer, wsEndpointForTest);
|
|
42
45
|
};
|
|
43
46
|
}
|
|
44
47
|
constructor(transport, tracePage, traceServer, wsEndpointForTest) {
|
|
45
48
|
super();
|
|
46
|
-
this.wsEndpointForTest = void 0;
|
|
47
|
-
this._transport = void 0;
|
|
48
|
-
this._tracePage = void 0;
|
|
49
|
-
this._traceServer = void 0;
|
|
50
49
|
this._transport = transport;
|
|
51
50
|
this._transport.eventSink.resolve(this);
|
|
52
51
|
this._tracePage = tracePage;
|
|
53
52
|
this._traceServer = traceServer;
|
|
54
53
|
this.wsEndpointForTest = wsEndpointForTest;
|
|
55
|
-
this._tracePage.once(
|
|
54
|
+
this._tracePage.once("close", () => {
|
|
56
55
|
this.close();
|
|
57
56
|
});
|
|
58
57
|
}
|
|
59
58
|
async close() {
|
|
60
|
-
await this._tracePage.context().close({
|
|
61
|
-
reason: 'Recorder window closed'
|
|
62
|
-
});
|
|
59
|
+
await this._tracePage.context().close({ reason: "Recorder window closed" });
|
|
63
60
|
await this._traceServer.stop();
|
|
64
61
|
}
|
|
65
62
|
async setPaused(paused) {
|
|
66
|
-
this._transport.deliverEvent(
|
|
67
|
-
paused
|
|
68
|
-
});
|
|
63
|
+
this._transport.deliverEvent("setPaused", { paused });
|
|
69
64
|
}
|
|
70
65
|
async setMode(mode) {
|
|
71
|
-
this._transport.deliverEvent(
|
|
72
|
-
mode
|
|
73
|
-
});
|
|
66
|
+
this._transport.deliverEvent("setMode", { mode });
|
|
74
67
|
}
|
|
75
68
|
async setRunningFile(file) {
|
|
76
|
-
this._transport.deliverEvent(
|
|
77
|
-
file
|
|
78
|
-
});
|
|
69
|
+
this._transport.deliverEvent("setRunningFile", { file });
|
|
79
70
|
}
|
|
80
71
|
async setSelector(selector, userGesture) {
|
|
81
|
-
this._transport.deliverEvent(
|
|
82
|
-
selector,
|
|
83
|
-
userGesture
|
|
84
|
-
});
|
|
72
|
+
this._transport.deliverEvent("setSelector", { selector, userGesture });
|
|
85
73
|
}
|
|
86
74
|
async updateCallLogs(callLogs) {
|
|
87
|
-
this._transport.deliverEvent(
|
|
88
|
-
callLogs
|
|
89
|
-
});
|
|
75
|
+
this._transport.deliverEvent("updateCallLogs", { callLogs });
|
|
90
76
|
}
|
|
91
77
|
async setSources(sources) {
|
|
92
|
-
this._transport.deliverEvent(
|
|
93
|
-
sources
|
|
94
|
-
});
|
|
78
|
+
this._transport.deliverEvent("setSources", { sources });
|
|
95
79
|
if (process.env.PWTEST_CLI_IS_UNDER_TEST && sources.length) {
|
|
96
|
-
if (process._didSetSourcesForTest(sources[0].text))
|
|
80
|
+
if (process._didSetSourcesForTest(sources[0].text))
|
|
81
|
+
this.close();
|
|
97
82
|
}
|
|
98
83
|
}
|
|
99
84
|
async setActions(actions, sources) {
|
|
100
|
-
this._transport.deliverEvent(
|
|
101
|
-
actions,
|
|
102
|
-
sources
|
|
103
|
-
});
|
|
85
|
+
this._transport.deliverEvent("setActions", { actions, sources });
|
|
104
86
|
}
|
|
105
87
|
}
|
|
106
|
-
exports.RecorderInTraceViewer = RecorderInTraceViewer;
|
|
107
88
|
async function openApp(trace, options) {
|
|
108
|
-
const traceServer = await (0,
|
|
109
|
-
await (0,
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
});
|
|
113
|
-
const page = await (0, _traceViewer.openTraceViewerApp)(traceServer.urlPrefix('precise'), 'chromium', options);
|
|
114
|
-
return {
|
|
115
|
-
wsEndpointForTest: page.context()._browser.options.wsEndpoint,
|
|
116
|
-
tracePage: page,
|
|
117
|
-
traceServer
|
|
118
|
-
};
|
|
89
|
+
const traceServer = await (0, import_traceViewer.startTraceViewerServer)(options);
|
|
90
|
+
await (0, import_traceViewer.installRootRedirect)(traceServer, [trace], { ...options, webApp: "recorder.html" });
|
|
91
|
+
const page = await (0, import_traceViewer.openTraceViewerApp)(traceServer.urlPrefix("precise"), "chromium", options);
|
|
92
|
+
return { wsEndpointForTest: page.context()._browser.options.wsEndpoint, tracePage: page, traceServer };
|
|
119
93
|
}
|
|
120
94
|
class RecorderTransport {
|
|
121
95
|
constructor() {
|
|
122
|
-
this._connected = new
|
|
123
|
-
this.eventSink = new
|
|
124
|
-
this.sendEvent = void 0;
|
|
125
|
-
this.close = void 0;
|
|
96
|
+
this._connected = new import_manualPromise.ManualPromise();
|
|
97
|
+
this.eventSink = new import_manualPromise.ManualPromise();
|
|
126
98
|
}
|
|
127
99
|
onconnect() {
|
|
128
100
|
this._connected.resolve();
|
|
129
101
|
}
|
|
130
102
|
async dispatch(method, params) {
|
|
131
103
|
const eventSink = await this.eventSink;
|
|
132
|
-
eventSink.emit(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
});
|
|
104
|
+
eventSink.emit("event", { event: method, params });
|
|
105
|
+
}
|
|
106
|
+
onclose() {
|
|
136
107
|
}
|
|
137
|
-
onclose() {}
|
|
138
108
|
deliverEvent(method, params) {
|
|
139
|
-
this._connected.then(() =>
|
|
140
|
-
var _this$sendEvent;
|
|
141
|
-
return (_this$sendEvent = this.sendEvent) === null || _this$sendEvent === void 0 ? void 0 : _this$sendEvent.call(this, method, params);
|
|
142
|
-
});
|
|
109
|
+
this._connected.then(() => this.sendEvent?.(method, params));
|
|
143
110
|
}
|
|
144
|
-
}
|
|
111
|
+
}
|
|
112
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
113
|
+
0 && (module.exports = {
|
|
114
|
+
RecorderInTraceViewer
|
|
115
|
+
});
|
|
@@ -1,159 +1,136 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
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 recorderRunner_exports = {};
|
|
20
|
+
__export(recorderRunner_exports, {
|
|
21
|
+
performAction: () => performAction,
|
|
22
|
+
toClickOptions: () => toClickOptions
|
|
5
23
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
/**
|
|
13
|
-
* Copyright (c) Microsoft Corporation.
|
|
14
|
-
*
|
|
15
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
* you may not use this file except in compliance with the License.
|
|
17
|
-
* You may obtain a copy of the License at
|
|
18
|
-
*
|
|
19
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
*
|
|
21
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
* See the License for the specific language governing permissions and
|
|
25
|
-
* limitations under the License.
|
|
26
|
-
*/
|
|
27
|
-
|
|
24
|
+
module.exports = __toCommonJS(recorderRunner_exports);
|
|
25
|
+
var import_utils = require("../../utils");
|
|
26
|
+
var import_language = require("../codegen/language");
|
|
27
|
+
var import_instrumentation = require("../instrumentation");
|
|
28
|
+
var import_recorderUtils = require("./recorderUtils");
|
|
29
|
+
var import_progress = require("../progress");
|
|
28
30
|
async function performAction(pageAliases, actionInContext) {
|
|
29
|
-
const callMetadata = (0,
|
|
30
|
-
const mainFrame = (0,
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
const callMetadata = (0, import_instrumentation.serverSideCallMetadata)();
|
|
32
|
+
const mainFrame = (0, import_recorderUtils.mainFrameForAction)(pageAliases, actionInContext);
|
|
33
|
+
const controller = new import_progress.ProgressController(callMetadata, mainFrame);
|
|
34
|
+
const kActionTimeout = 5e3;
|
|
35
|
+
return await controller.run((progress) => performActionImpl(progress, mainFrame, actionInContext), kActionTimeout);
|
|
36
|
+
}
|
|
37
|
+
async function performActionImpl(progress, mainFrame, actionInContext) {
|
|
38
|
+
const { action } = actionInContext;
|
|
39
|
+
if (action.name === "navigate") {
|
|
40
|
+
await mainFrame.goto(progress, action.url);
|
|
39
41
|
return;
|
|
40
42
|
}
|
|
41
|
-
if (action.name ===
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
if (action.name === "openPage")
|
|
44
|
+
throw Error("Not reached");
|
|
45
|
+
if (action.name === "closePage") {
|
|
46
|
+
await mainFrame._page.close();
|
|
44
47
|
return;
|
|
45
48
|
}
|
|
46
|
-
const selector = (0,
|
|
47
|
-
if (action.name ===
|
|
49
|
+
const selector = (0, import_recorderUtils.buildFullSelector)(actionInContext.frame.framePath, action.selector);
|
|
50
|
+
if (action.name === "click") {
|
|
48
51
|
const options = toClickOptions(action);
|
|
49
|
-
await mainFrame.click(
|
|
50
|
-
...options,
|
|
51
|
-
timeout: kActionTimeout,
|
|
52
|
-
strict: true
|
|
53
|
-
});
|
|
52
|
+
await mainFrame.click(progress, selector, { ...options, strict: true });
|
|
54
53
|
return;
|
|
55
54
|
}
|
|
56
|
-
if (action.name ===
|
|
57
|
-
const modifiers = (0,
|
|
58
|
-
const shortcut = [...modifiers, action.key].join(
|
|
59
|
-
await mainFrame.press(
|
|
60
|
-
timeout: kActionTimeout,
|
|
61
|
-
strict: true
|
|
62
|
-
});
|
|
55
|
+
if (action.name === "press") {
|
|
56
|
+
const modifiers = (0, import_language.toKeyboardModifiers)(action.modifiers);
|
|
57
|
+
const shortcut = [...modifiers, action.key].join("+");
|
|
58
|
+
await mainFrame.press(progress, selector, shortcut, { strict: true });
|
|
63
59
|
return;
|
|
64
60
|
}
|
|
65
|
-
if (action.name ===
|
|
66
|
-
await mainFrame.fill(
|
|
67
|
-
timeout: kActionTimeout,
|
|
68
|
-
strict: true
|
|
69
|
-
});
|
|
61
|
+
if (action.name === "fill") {
|
|
62
|
+
await mainFrame.fill(progress, selector, action.text, { strict: true });
|
|
70
63
|
return;
|
|
71
64
|
}
|
|
72
|
-
if (action.name ===
|
|
73
|
-
await mainFrame.setInputFiles(
|
|
74
|
-
selector,
|
|
75
|
-
payloads: [],
|
|
76
|
-
timeout: kActionTimeout,
|
|
77
|
-
strict: true
|
|
78
|
-
});
|
|
65
|
+
if (action.name === "setInputFiles") {
|
|
66
|
+
await mainFrame.setInputFiles(progress, selector, { selector, payloads: [], strict: true });
|
|
79
67
|
return;
|
|
80
68
|
}
|
|
81
|
-
if (action.name ===
|
|
82
|
-
await mainFrame.check(
|
|
83
|
-
timeout: kActionTimeout,
|
|
84
|
-
strict: true
|
|
85
|
-
});
|
|
69
|
+
if (action.name === "check") {
|
|
70
|
+
await mainFrame.check(progress, selector, { strict: true });
|
|
86
71
|
return;
|
|
87
72
|
}
|
|
88
|
-
if (action.name ===
|
|
89
|
-
await mainFrame.uncheck(
|
|
90
|
-
timeout: kActionTimeout,
|
|
91
|
-
strict: true
|
|
92
|
-
});
|
|
73
|
+
if (action.name === "uncheck") {
|
|
74
|
+
await mainFrame.uncheck(progress, selector, { strict: true });
|
|
93
75
|
return;
|
|
94
76
|
}
|
|
95
|
-
if (action.name ===
|
|
96
|
-
const values = action.options.map(value => ({
|
|
97
|
-
|
|
98
|
-
}));
|
|
99
|
-
await mainFrame.selectOption(callMetadata, selector, [], values, {
|
|
100
|
-
timeout: kActionTimeout,
|
|
101
|
-
strict: true
|
|
102
|
-
});
|
|
77
|
+
if (action.name === "select") {
|
|
78
|
+
const values = action.options.map((value) => ({ value }));
|
|
79
|
+
await mainFrame.selectOption(progress, selector, [], values, { strict: true });
|
|
103
80
|
return;
|
|
104
81
|
}
|
|
105
|
-
if (action.name ===
|
|
106
|
-
await mainFrame.expect(
|
|
82
|
+
if (action.name === "assertChecked") {
|
|
83
|
+
await mainFrame.expect(progress, selector, {
|
|
107
84
|
selector,
|
|
108
|
-
expression:
|
|
109
|
-
expectedValue: {
|
|
110
|
-
|
|
111
|
-
},
|
|
112
|
-
isNot: !action.checked,
|
|
113
|
-
timeout: kActionTimeout
|
|
85
|
+
expression: "to.be.checked",
|
|
86
|
+
expectedValue: { checked: action.checked },
|
|
87
|
+
isNot: !action.checked
|
|
114
88
|
});
|
|
115
89
|
return;
|
|
116
90
|
}
|
|
117
|
-
if (action.name ===
|
|
118
|
-
await mainFrame.expect(
|
|
91
|
+
if (action.name === "assertText") {
|
|
92
|
+
await mainFrame.expect(progress, selector, {
|
|
119
93
|
selector,
|
|
120
|
-
expression:
|
|
121
|
-
expectedText: (0,
|
|
122
|
-
|
|
123
|
-
normalizeWhiteSpace: true
|
|
124
|
-
}),
|
|
125
|
-
isNot: false,
|
|
126
|
-
timeout: kActionTimeout
|
|
94
|
+
expression: "to.have.text",
|
|
95
|
+
expectedText: (0, import_utils.serializeExpectedTextValues)([action.text], { matchSubstring: true, normalizeWhiteSpace: true }),
|
|
96
|
+
isNot: false
|
|
127
97
|
});
|
|
128
98
|
return;
|
|
129
99
|
}
|
|
130
|
-
if (action.name ===
|
|
131
|
-
await mainFrame.expect(
|
|
100
|
+
if (action.name === "assertValue") {
|
|
101
|
+
await mainFrame.expect(progress, selector, {
|
|
132
102
|
selector,
|
|
133
|
-
expression:
|
|
103
|
+
expression: "to.have.value",
|
|
134
104
|
expectedValue: action.value,
|
|
135
|
-
isNot: false
|
|
136
|
-
timeout: kActionTimeout
|
|
105
|
+
isNot: false
|
|
137
106
|
});
|
|
138
107
|
return;
|
|
139
108
|
}
|
|
140
|
-
if (action.name ===
|
|
141
|
-
await mainFrame.expect(
|
|
109
|
+
if (action.name === "assertVisible") {
|
|
110
|
+
await mainFrame.expect(progress, selector, {
|
|
142
111
|
selector,
|
|
143
|
-
expression:
|
|
144
|
-
isNot: false
|
|
145
|
-
timeout: kActionTimeout
|
|
112
|
+
expression: "to.be.visible",
|
|
113
|
+
isNot: false
|
|
146
114
|
});
|
|
147
115
|
return;
|
|
148
116
|
}
|
|
149
|
-
throw new Error(
|
|
117
|
+
throw new Error("Internal error: unexpected action " + action.name);
|
|
150
118
|
}
|
|
151
119
|
function toClickOptions(action) {
|
|
152
|
-
const modifiers = (0,
|
|
120
|
+
const modifiers = (0, import_language.toKeyboardModifiers)(action.modifiers);
|
|
153
121
|
const options = {};
|
|
154
|
-
if (action.button !==
|
|
155
|
-
|
|
156
|
-
if (
|
|
157
|
-
|
|
122
|
+
if (action.button !== "left")
|
|
123
|
+
options.button = action.button;
|
|
124
|
+
if (modifiers.length)
|
|
125
|
+
options.modifiers = modifiers;
|
|
126
|
+
if (action.clickCount > 1)
|
|
127
|
+
options.clickCount = action.clickCount;
|
|
128
|
+
if (action.position)
|
|
129
|
+
options.position = action.position;
|
|
158
130
|
return options;
|
|
159
|
-
}
|
|
131
|
+
}
|
|
132
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
+
0 && (module.exports = {
|
|
134
|
+
performAction,
|
|
135
|
+
toClickOptions
|
|
136
|
+
});
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
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 recorderSignalProcessor_exports = {};
|
|
20
|
+
__export(recorderSignalProcessor_exports, {
|
|
21
|
+
RecorderSignalProcessor: () => RecorderSignalProcessor
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(recorderSignalProcessor_exports);
|
|
24
|
+
var import_debug = require("../utils/debug");
|
|
25
|
+
var import_time = require("../../utils/isomorphic/time");
|
|
26
|
+
var import_recorderUtils = require("./recorderUtils");
|
|
27
|
+
class RecorderSignalProcessor {
|
|
28
|
+
constructor(actionSink) {
|
|
29
|
+
this._lastAction = null;
|
|
30
|
+
this._delegate = actionSink;
|
|
31
|
+
}
|
|
32
|
+
addAction(actionInContext) {
|
|
33
|
+
this._lastAction = actionInContext;
|
|
34
|
+
this._delegate.addAction(actionInContext);
|
|
35
|
+
}
|
|
36
|
+
signal(pageAlias, frame, signal) {
|
|
37
|
+
const timestamp = (0, import_time.monotonicTime)();
|
|
38
|
+
if (signal.name === "navigation" && frame._page.mainFrame() === frame) {
|
|
39
|
+
const lastAction = this._lastAction;
|
|
40
|
+
const signalThreshold = (0, import_debug.isUnderTest)() ? 500 : 5e3;
|
|
41
|
+
let generateGoto = false;
|
|
42
|
+
if (!lastAction)
|
|
43
|
+
generateGoto = true;
|
|
44
|
+
else if (lastAction.action.name !== "click" && lastAction.action.name !== "press" && lastAction.action.name !== "fill")
|
|
45
|
+
generateGoto = true;
|
|
46
|
+
else if (timestamp - lastAction.startTime > signalThreshold)
|
|
47
|
+
generateGoto = true;
|
|
48
|
+
if (generateGoto) {
|
|
49
|
+
this.addAction({
|
|
50
|
+
frame: {
|
|
51
|
+
pageGuid: frame._page.guid,
|
|
52
|
+
pageAlias,
|
|
53
|
+
framePath: []
|
|
54
|
+
},
|
|
55
|
+
action: {
|
|
56
|
+
name: "navigate",
|
|
57
|
+
url: frame.url(),
|
|
58
|
+
signals: []
|
|
59
|
+
},
|
|
60
|
+
startTime: timestamp,
|
|
61
|
+
endTime: timestamp
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
(0, import_recorderUtils.generateFrameSelector)(frame).then((framePath) => {
|
|
67
|
+
const signalInContext = {
|
|
68
|
+
frame: {
|
|
69
|
+
pageGuid: frame._page.guid,
|
|
70
|
+
pageAlias,
|
|
71
|
+
framePath
|
|
72
|
+
},
|
|
73
|
+
signal,
|
|
74
|
+
timestamp
|
|
75
|
+
};
|
|
76
|
+
this._delegate.addSignal(signalInContext);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
RecorderSignalProcessor
|
|
83
|
+
});
|