testplane 9.1.0 → 9.2.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.
- package/build/package.json +3 -3
- package/build/src/base-testplane.d.ts +17 -1
- package/build/src/base-testplane.js +43 -9
- package/build/src/base-testplane.js.map +1 -1
- package/build/src/browser/browser.d.ts +3 -0
- package/build/src/browser/browser.js +4 -2
- package/build/src/browser/browser.js.map +1 -1
- package/build/src/browser/cdp/selectivity/click-command-guard.d.ts +10 -0
- package/build/src/browser/cdp/selectivity/click-command-guard.js +57 -0
- package/build/src/browser/cdp/selectivity/click-command-guard.js.map +1 -0
- package/build/src/browser/cdp/selectivity/coverage-hooks.d.ts +13 -0
- package/build/src/browser/cdp/selectivity/coverage-hooks.js +43 -0
- package/build/src/browser/cdp/selectivity/coverage-hooks.js.map +1 -0
- package/build/src/browser/cdp/selectivity/index.js +61 -33
- package/build/src/browser/cdp/selectivity/index.js.map +1 -1
- package/build/src/browser/cdp/selectivity/js-selectivity.d.ts +1 -0
- package/build/src/browser/cdp/selectivity/js-selectivity.js +26 -18
- package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -1
- package/build/src/browser/cdp/selectivity/navigation-guard.d.ts +18 -0
- package/build/src/browser/cdp/selectivity/navigation-guard.js +234 -0
- package/build/src/browser/cdp/selectivity/navigation-guard.js.map +1 -0
- package/build/src/browser/cdp/selectivity/testplane-selectivity.js +19 -19
- package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
- package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +2 -2
- package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +2 -2
- package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +52 -84
- package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +4 -1
- package/build/src/browser/commands/assert-view/index.js +25 -2
- package/build/src/browser/commands/assert-view/index.js.map +1 -1
- package/build/src/browser/existing-browser.js +8 -1
- package/build/src/browser/existing-browser.js.map +1 -1
- package/build/src/browser/history/index.d.ts +4 -2
- package/build/src/browser/history/index.js +146 -67
- package/build/src/browser/history/index.js.map +1 -1
- package/build/src/browser/new-browser.js +1 -1
- package/build/src/browser/new-browser.js.map +1 -1
- package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +5 -0
- package/build/src/browser/screen-shooter/elements-screen-shooter.js +102 -55
- package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
- package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +4 -0
- package/build/src/browser/screen-shooter/viewport-screen-shooter.js +29 -7
- package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
- package/build/src/browser-pool/basic-pool.d.ts +4 -3
- package/build/src/browser-pool/basic-pool.js +39 -7
- package/build/src/browser-pool/basic-pool.js.map +1 -1
- package/build/src/browser-pool/caching-pool.d.ts +3 -2
- package/build/src/browser-pool/caching-pool.js +19 -7
- package/build/src/browser-pool/caching-pool.js.map +1 -1
- package/build/src/browser-pool/index.d.ts +2 -1
- package/build/src/browser-pool/index.js +8 -4
- package/build/src/browser-pool/index.js.map +1 -1
- package/build/src/browser-pool/limited-pool.d.ts +5 -1
- package/build/src/browser-pool/limited-pool.js +42 -4
- package/build/src/browser-pool/limited-pool.js.map +1 -1
- package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -2
- package/build/src/browser-pool/per-browser-limited-pool.js +2 -1
- package/build/src/browser-pool/per-browser-limited-pool.js.map +1 -1
- package/build/src/browser-pool/types.d.ts +8 -0
- package/build/src/cli/commands/config/index.js +7 -3
- package/build/src/cli/commands/config/index.js.map +1 -1
- package/build/src/cli/commands/install-deps/index.js +46 -38
- package/build/src/cli/commands/install-deps/index.js.map +1 -1
- package/build/src/cli/commands/list-browsers/index.js +15 -11
- package/build/src/cli/commands/list-browsers/index.js.map +1 -1
- package/build/src/cli/commands/list-tests/index.js +25 -21
- package/build/src/cli/commands/list-tests/index.js.map +1 -1
- package/build/src/cli/commands/selectivity-merge-dumps/index.js +12 -5
- package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -1
- package/build/src/cli/index.js +10 -6
- package/build/src/cli/index.js.map +1 -1
- package/build/src/config/defaults.d.ts +5 -0
- package/build/src/config/defaults.js +4 -0
- package/build/src/config/defaults.js.map +1 -1
- package/build/src/config/index.d.ts +6 -4
- package/build/src/config/index.js +60 -19
- package/build/src/config/index.js.map +1 -1
- package/build/src/config/options.js +26 -0
- package/build/src/config/options.js.map +1 -1
- package/build/src/config/types.d.ts +19 -0
- package/build/src/constants/process-messages.d.ts +3 -0
- package/build/src/constants/process-messages.js +4 -1
- package/build/src/constants/process-messages.js.map +1 -1
- package/build/src/events/async-emitter/index.d.ts +38 -0
- package/build/src/events/async-emitter/index.js +248 -5
- package/build/src/events/async-emitter/index.js.map +1 -1
- package/build/src/events/index.d.ts +3 -0
- package/build/src/events/index.js +1 -0
- package/build/src/events/index.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/profiler/analysis/aggregator.d.ts +19 -0
- package/build/src/profiler/analysis/aggregator.js +229 -0
- package/build/src/profiler/analysis/aggregator.js.map +1 -0
- package/build/src/profiler/analysis/analyzers.d.ts +10 -0
- package/build/src/profiler/analysis/analyzers.js +1228 -0
- package/build/src/profiler/analysis/analyzers.js.map +1 -0
- package/build/src/profiler/analysis/compact.d.ts +5 -0
- package/build/src/profiler/analysis/compact.js +46 -0
- package/build/src/profiler/analysis/compact.js.map +1 -0
- package/build/src/profiler/analysis/finding-order.d.ts +4 -0
- package/build/src/profiler/analysis/finding-order.js +28 -0
- package/build/src/profiler/analysis/finding-order.js.map +1 -0
- package/build/src/profiler/analysis/outliers.d.ts +6 -0
- package/build/src/profiler/analysis/outliers.js +49 -0
- package/build/src/profiler/analysis/outliers.js.map +1 -0
- package/build/src/profiler/analysis/policy-v1.d.ts +71 -0
- package/build/src/profiler/analysis/policy-v1.js +43 -0
- package/build/src/profiler/analysis/policy-v1.js.map +1 -0
- package/build/src/profiler/collectors/module-graph.d.ts +14 -0
- package/build/src/profiler/collectors/module-graph.js +99 -0
- package/build/src/profiler/collectors/module-graph.js.map +1 -0
- package/build/src/profiler/collectors/pool-observer.d.ts +9 -0
- package/build/src/profiler/collectors/pool-observer.js +40 -0
- package/build/src/profiler/collectors/pool-observer.js.map +1 -0
- package/build/src/profiler/manager.d.ts +55 -0
- package/build/src/profiler/manager.js +343 -0
- package/build/src/profiler/manager.js.map +1 -0
- package/build/src/profiler/output/console.d.ts +6 -0
- package/build/src/profiler/output/console.js +443 -0
- package/build/src/profiler/output/console.js.map +1 -0
- package/build/src/profiler/output/json.d.ts +2 -0
- package/build/src/profiler/output/json.js +24 -0
- package/build/src/profiler/output/json.js.map +1 -0
- package/build/src/profiler/retention/operation-store.d.ts +22 -0
- package/build/src/profiler/retention/operation-store.js +110 -0
- package/build/src/profiler/retention/operation-store.js.map +1 -0
- package/build/src/profiler/retention/policy-v1.d.ts +22 -0
- package/build/src/profiler/retention/policy-v1.js +49 -0
- package/build/src/profiler/retention/policy-v1.js.map +1 -0
- package/build/src/profiler/retention/result-budget.d.ts +2 -0
- package/build/src/profiler/retention/result-budget.js +117 -0
- package/build/src/profiler/retention/result-budget.js.map +1 -0
- package/build/src/profiler/retention/serialized-budget.d.ts +5 -0
- package/build/src/profiler/retention/serialized-budget.js +58 -0
- package/build/src/profiler/retention/serialized-budget.js.map +1 -0
- package/build/src/profiler/retention/streaming-statistics.d.ts +38 -0
- package/build/src/profiler/retention/streaming-statistics.js +191 -0
- package/build/src/profiler/retention/streaming-statistics.js.map +1 -0
- package/build/src/profiler/retention/top-k.d.ts +13 -0
- package/build/src/profiler/retention/top-k.js +57 -0
- package/build/src/profiler/retention/top-k.js.map +1 -0
- package/build/src/profiler/runtime/async-activity.d.ts +19 -0
- package/build/src/profiler/runtime/async-activity.js +113 -0
- package/build/src/profiler/runtime/async-activity.js.map +1 -0
- package/build/src/profiler/runtime/bootstrap-probe.d.ts +42 -0
- package/build/src/profiler/runtime/bootstrap-probe.js +91 -0
- package/build/src/profiler/runtime/bootstrap-probe.js.map +1 -0
- package/build/src/profiler/runtime/clock.d.ts +22 -0
- package/build/src/profiler/runtime/clock.js +15 -0
- package/build/src/profiler/runtime/clock.js.map +1 -0
- package/build/src/profiler/runtime/event-observer.d.ts +4 -0
- package/build/src/profiler/runtime/event-observer.js +142 -0
- package/build/src/profiler/runtime/event-observer.js.map +1 -0
- package/build/src/profiler/runtime/noop.d.ts +20 -0
- package/build/src/profiler/runtime/noop.js +37 -0
- package/build/src/profiler/runtime/noop.js.map +1 -0
- package/build/src/profiler/runtime/runtime.d.ts +95 -0
- package/build/src/profiler/runtime/runtime.js +1343 -0
- package/build/src/profiler/runtime/runtime.js.map +1 -0
- package/build/src/profiler/runtime/types.d.ts +88 -0
- package/build/src/profiler/runtime/types.js +3 -0
- package/build/src/profiler/runtime/types.js.map +1 -0
- package/build/src/profiler/sanitize.d.ts +15 -0
- package/build/src/profiler/sanitize.js +194 -0
- package/build/src/profiler/sanitize.js.map +1 -0
- package/build/src/profiler/schema/index.d.ts +1 -0
- package/build/src/profiler/schema/index.js +18 -0
- package/build/src/profiler/schema/index.js.map +1 -0
- package/build/src/profiler/schema/v1.d.ts +281 -0
- package/build/src/profiler/schema/v1.js +3 -0
- package/build/src/profiler/schema/v1.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +30 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +31 -6
- package/build/src/runner/browser-env/vite/browser-modules/types.js +8 -8
- package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -1
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +7 -1
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +28 -6
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
- package/build/src/runner/browser-env/vite/server.js +17 -1
- package/build/src/runner/browser-env/vite/server.js.map +1 -1
- package/build/src/runner/browser-env/vite/socket.js +4 -0
- package/build/src/runner/browser-env/vite/socket.js.map +1 -1
- package/build/src/runner/browser-env/vite/types.d.ts +9 -7
- package/build/src/runner/browser-env/vite/types.js +8 -8
- package/build/src/runner/browser-env/vite/types.js.map +1 -1
- package/build/src/runner/browser-env/vite/utils.js +9 -2
- package/build/src/runner/browser-env/vite/utils.js.map +1 -1
- package/build/src/runner/browser-runner.d.ts +3 -1
- package/build/src/runner/browser-runner.js +4 -2
- package/build/src/runner/browser-runner.js.map +1 -1
- package/build/src/runner/index.d.ts +3 -1
- package/build/src/runner/index.js +7 -4
- package/build/src/runner/index.js.map +1 -1
- package/build/src/runner/test-runner/index.d.ts +2 -1
- package/build/src/runner/test-runner/index.js +2 -2
- package/build/src/runner/test-runner/index.js.map +1 -1
- package/build/src/runner/test-runner/insistant-test-runner.d.ts +2 -1
- package/build/src/runner/test-runner/insistant-test-runner.js +3 -2
- package/build/src/runner/test-runner/insistant-test-runner.js.map +1 -1
- package/build/src/runner/test-runner/regular-test-runner.d.ts +9 -3
- package/build/src/runner/test-runner/regular-test-runner.js +77 -16
- package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
- package/build/src/signal-handler.js +14 -5
- package/build/src/signal-handler.js.map +1 -1
- package/build/src/test-reader/index.d.ts +2 -1
- package/build/src/test-reader/index.js +19 -10
- package/build/src/test-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/index.d.ts +2 -1
- package/build/src/test-reader/mocha-reader/index.js +41 -24
- package/build/src/test-reader/mocha-reader/index.js.map +1 -1
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js +2 -2
- package/build/src/test-reader/mocha-reader/tree-builder-decorator.js.map +1 -1
- package/build/src/test-reader/mocha-reader/utils.d.ts +2 -0
- package/build/src/test-reader/mocha-reader/utils.js +18 -2
- package/build/src/test-reader/mocha-reader/utils.js.map +1 -1
- package/build/src/test-reader/test-object/hook.d.ts +4 -2
- package/build/src/test-reader/test-object/hook.js +3 -1
- package/build/src/test-reader/test-object/hook.js.map +1 -1
- package/build/src/test-reader/test-parser.d.ts +2 -1
- package/build/src/test-reader/test-parser.js +48 -4
- package/build/src/test-reader/test-parser.js.map +1 -1
- package/build/src/testplane.d.ts +6 -2
- package/build/src/testplane.js +82 -27
- package/build/src/testplane.js.map +1 -1
- package/build/src/types/index.d.ts +4 -1
- package/build/src/types/index.js.map +1 -1
- package/build/src/utils/exit-code.d.ts +1 -0
- package/build/src/utils/exit-code.js +28 -0
- package/build/src/utils/exit-code.js.map +1 -0
- package/build/src/utils/module-observer-registry.d.ts +43 -0
- package/build/src/utils/module-observer-registry.js +257 -0
- package/build/src/utils/module-observer-registry.js.map +1 -0
- package/build/src/utils/processor.js +1 -0
- package/build/src/utils/processor.js.map +1 -1
- package/build/src/utils/workers-registry.d.ts +48 -1
- package/build/src/utils/workers-registry.js +162 -4
- package/build/src/utils/workers-registry.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +15 -1
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -1
- package/build/src/worker/browser-env/runner/test-runner/index.js +20 -0
- package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/index.js +39 -1
- package/build/src/worker/index.js.map +1 -1
- package/build/src/worker/runner/browser-pool.d.ts +3 -2
- package/build/src/worker/runner/browser-pool.js +5 -3
- package/build/src/worker/runner/browser-pool.js.map +1 -1
- package/build/src/worker/runner/caching-test-parser.d.ts +6 -1
- package/build/src/worker/runner/caching-test-parser.js +40 -4
- package/build/src/worker/runner/caching-test-parser.js.map +1 -1
- package/build/src/worker/runner/index.d.ts +10 -9
- package/build/src/worker/runner/index.js +52 -6
- package/build/src/worker/runner/index.js.map +1 -1
- package/build/src/worker/runner/sequence-test-parser.d.ts +4 -1
- package/build/src/worker/runner/sequence-test-parser.js +17 -3
- package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
- package/build/src/worker/runner/simple-test-parser.d.ts +3 -1
- package/build/src/worker/runner/simple-test-parser.js +4 -2
- package/build/src/worker/runner/simple-test-parser.js.map +1 -1
- package/build/src/worker/runner/test-runner/execution-thread.d.ts +20 -2
- package/build/src/worker/runner/test-runner/execution-thread.js +37 -2
- package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
- package/build/src/worker/runner/test-runner/hook-runner.d.ts +1 -1
- package/build/src/worker/runner/test-runner/hook-runner.js +4 -4
- package/build/src/worker/runner/test-runner/hook-runner.js.map +1 -1
- package/build/src/worker/runner/test-runner/index.d.ts +8 -7
- package/build/src/worker/runner/test-runner/index.js +36 -25
- package/build/src/worker/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/runner/test-runner/types.d.ts +8 -1
- package/build/src/worker/testplane-facade.js +63 -4
- package/build/src/worker/testplane-facade.js.map +1 -1
- package/build/src/worker/testplane.d.ts +6 -0
- package/build/src/worker/testplane.js +7 -1
- package/build/src/worker/testplane.js.map +1 -1
- package/package.json +3 -3
package/build/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testplane",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"description": "Tests framework based on mocha and wdio",
|
|
5
5
|
"main": "build/src/index.js",
|
|
6
6
|
"files": [
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
|
-
"browsers:launch": "docker run -it --rm --network=host $(which colima >/dev/null || echo --add-host=host.docker.internal:0.0.0.0)
|
|
21
|
+
"browsers:launch": "docker run -it --rm --network=host --shm-size=2g $(which colima >/dev/null || echo --add-host=host.docker.internal:0.0.0.0) ghcr.io/gemini-testing/browsers/chromium:126.0",
|
|
22
22
|
"build": "tsc --build && npm run build-bundles && npm run copy-static",
|
|
23
23
|
"copy-static": "copyfiles 'src/browser/client-scripts/**/*.js' 'src/**/[!cache]*/autogenerated/**/*.json' build",
|
|
24
24
|
"build-node-bundle": "esbuild ./src/bundle/cjs/index.ts --outdir=./build/src/bundle/cjs --bundle --format=cjs --platform=node --target=ES2021",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"@jsquash/png": "3.1.1",
|
|
82
82
|
"@puppeteer/browsers": "3.0.4",
|
|
83
83
|
"@testplane/wdio-protocols": "9.4.7",
|
|
84
|
-
"@testplane/wdio-utils": "9.5.
|
|
84
|
+
"@testplane/wdio-utils": "9.5.5",
|
|
85
85
|
"@testplane/webdriverio": "9.6.2",
|
|
86
86
|
"@vitest/spy": "2.1.4",
|
|
87
87
|
"buffer-crc32": "1.0.0",
|
|
@@ -2,12 +2,26 @@ import { Config } from "./config";
|
|
|
2
2
|
import { AsyncEmitter, InterceptedEvent, Events, InterceptHandler, Interceptor } from "./events";
|
|
3
3
|
import Errors from "./errors";
|
|
4
4
|
import { ConfigInput } from "./config/types";
|
|
5
|
+
import { ProfilerManager } from "./profiler/manager";
|
|
6
|
+
import { BootstrapProbe } from "./profiler/runtime/bootstrap-probe";
|
|
7
|
+
import type { ProcessRef } from "./profiler/schema";
|
|
8
|
+
interface ProfilerSetupOptions {
|
|
9
|
+
runId?: string;
|
|
10
|
+
process?: ProcessRef;
|
|
11
|
+
/** Amount added to local wall-clock timestamps to align them with the main process. */
|
|
12
|
+
clockOffsetMs?: number;
|
|
13
|
+
/** Estimated maximum error of the supplied clock alignment. */
|
|
14
|
+
clockUncertaintyMs?: number;
|
|
15
|
+
}
|
|
5
16
|
export declare abstract class BaseTestplane extends AsyncEmitter {
|
|
6
17
|
protected _interceptors: Interceptor[];
|
|
7
18
|
protected _config: Config;
|
|
8
19
|
protected _initEventEmited: boolean;
|
|
20
|
+
protected _bootstrapProbe: BootstrapProbe;
|
|
21
|
+
protected _profiler: ProfilerManager;
|
|
9
22
|
private _pendingConfig?;
|
|
10
|
-
|
|
23
|
+
private _pendingProfilerOptions?;
|
|
24
|
+
static create<T extends BaseTestplane>(this: new (config?: string | ConfigInput) => T, config?: string | ConfigInput, bootstrapProbe?: BootstrapProbe, profilerOptions?: ProfilerSetupOptions): Promise<T>;
|
|
11
25
|
protected constructor(config?: string | ConfigInput);
|
|
12
26
|
protected _setup(): Promise<void>;
|
|
13
27
|
/** @note Only the first call returns a promise to wait for INIT handlers to complete, subsequent calls return immediately to avoid deadlocks */
|
|
@@ -15,8 +29,10 @@ export declare abstract class BaseTestplane extends AsyncEmitter {
|
|
|
15
29
|
get config(): Config;
|
|
16
30
|
get events(): Events;
|
|
17
31
|
get errors(): typeof Errors;
|
|
32
|
+
profileCliCommand<T>(command: string, action: () => T | Promise<T>): Promise<T>;
|
|
18
33
|
intercept(event: InterceptedEvent, handler: InterceptHandler): this;
|
|
19
34
|
abstract isWorker(): boolean;
|
|
20
35
|
protected _setLogLevel(): void;
|
|
21
36
|
protected _loadPlugins(): void;
|
|
22
37
|
}
|
|
38
|
+
export {};
|
|
@@ -11,10 +11,21 @@ const events_1 = require("./events");
|
|
|
11
11
|
const errors_1 = __importDefault(require("./errors"));
|
|
12
12
|
const typescript_1 = require("./utils/typescript");
|
|
13
13
|
const repl_module_hooks_1 = require("./utils/repl-module-hooks");
|
|
14
|
+
const manager_1 = require("./profiler/manager");
|
|
15
|
+
const bootstrap_probe_1 = require("./profiler/runtime/bootstrap-probe");
|
|
16
|
+
const event_observer_1 = require("./profiler/runtime/event-observer");
|
|
14
17
|
class BaseTestplane extends events_1.AsyncEmitter {
|
|
15
|
-
static async create(config) {
|
|
18
|
+
static async create(config, bootstrapProbe = new bootstrap_probe_1.BootstrapProbe(), profilerOptions = {}) {
|
|
16
19
|
const instance = new this(config);
|
|
17
|
-
|
|
20
|
+
instance._bootstrapProbe = bootstrapProbe;
|
|
21
|
+
instance._pendingProfilerOptions = profilerOptions;
|
|
22
|
+
try {
|
|
23
|
+
await instance._setup();
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
await instance._profiler?.finalizeSetupError(error);
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
18
29
|
return instance;
|
|
19
30
|
}
|
|
20
31
|
constructor(config) {
|
|
@@ -25,13 +36,33 @@ class BaseTestplane extends events_1.AsyncEmitter {
|
|
|
25
36
|
this._pendingConfig = config;
|
|
26
37
|
}
|
|
27
38
|
async _setup() {
|
|
28
|
-
(
|
|
29
|
-
|
|
30
|
-
|
|
39
|
+
const transformPhase = this._bootstrapProbe.startPhase("testplane.phase.transform-setup", "Set up transforms");
|
|
40
|
+
try {
|
|
41
|
+
(0, repl_module_hooks_1.registerReplModuleHooks)();
|
|
42
|
+
(0, typescript_1.registerTransformHook)(this.isWorker());
|
|
43
|
+
transformPhase.end();
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
transformPhase.end("failed");
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
this._config = await config_1.Config.create(this._pendingConfig, this._bootstrapProbe);
|
|
31
50
|
this._pendingConfig = undefined;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
51
|
+
this._profiler = new manager_1.ProfilerManager(this._config, this._bootstrapProbe, {
|
|
52
|
+
process: this._pendingProfilerOptions?.process ??
|
|
53
|
+
{ type: this.isWorker() ? "worker" : "master", pid: process.pid },
|
|
54
|
+
runId: this._pendingProfilerOptions?.runId,
|
|
55
|
+
clockOffsetMs: this._pendingProfilerOptions?.clockOffsetMs,
|
|
56
|
+
clockUncertaintyMs: this._pendingProfilerOptions?.clockUncertaintyMs,
|
|
57
|
+
});
|
|
58
|
+
this._pendingProfilerOptions = undefined;
|
|
59
|
+
this._profiler.setResultEmitter(result => this.emitAndWait(events_1.MasterEvents.PROFILER_RESULT, result));
|
|
60
|
+
this.setEventObserver((0, event_observer_1.createProfilerEventObserver)(this._profiler, this._config));
|
|
61
|
+
this._profiler.runtime.withSpan("testplane.phase.plugins", { name: "Load plugins" }, () => {
|
|
62
|
+
(0, typescript_1.updateTransformHook)(this._config);
|
|
63
|
+
this._setLogLevel();
|
|
64
|
+
this._loadPlugins();
|
|
65
|
+
});
|
|
35
66
|
}
|
|
36
67
|
/** @note Only the first call returns a promise to wait for INIT handlers to complete, subsequent calls return immediately to avoid deadlocks */
|
|
37
68
|
async _emitInitEventOnce() {
|
|
@@ -39,7 +70,7 @@ class BaseTestplane extends events_1.AsyncEmitter {
|
|
|
39
70
|
return;
|
|
40
71
|
}
|
|
41
72
|
this._initEventEmited = true;
|
|
42
|
-
await this.emitAndWait(events_1.MasterEvents.INIT);
|
|
73
|
+
await this._profiler.runtime.withSpan("testplane.phase.init", { name: "Initialize Testplane" }, () => this.emitAndWait(events_1.MasterEvents.INIT));
|
|
43
74
|
}
|
|
44
75
|
get config() {
|
|
45
76
|
return this._config;
|
|
@@ -50,6 +81,9 @@ class BaseTestplane extends events_1.AsyncEmitter {
|
|
|
50
81
|
get errors() {
|
|
51
82
|
return errors_1.default;
|
|
52
83
|
}
|
|
84
|
+
async profileCliCommand(command, action) {
|
|
85
|
+
return this._profiler ? this._profiler.profileOperation(`cli:${command}`, action) : action();
|
|
86
|
+
}
|
|
53
87
|
intercept(event, handler) {
|
|
54
88
|
this._interceptors.push({ event, handler });
|
|
55
89
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-testplane.js","sourceRoot":"","sources":["../../src/base-testplane.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,oEAA2C;AAC3C,qCAAkC;AAClC,qCAQkB;AAClB,sDAA8B;AAC9B,mDAAgF;AAChF,iEAAoE;
|
|
1
|
+
{"version":3,"file":"base-testplane.js","sourceRoot":"","sources":["../../src/base-testplane.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,14 @@ import { AsyncEmitter } from "../events";
|
|
|
4
4
|
import { BrowserConfig } from "../config/browser-config";
|
|
5
5
|
import type { Callstack } from "./history/callstack";
|
|
6
6
|
import type { WdProcess, WebdriverPool } from "../browser-pool/webdriver-pool";
|
|
7
|
+
import type { ProfilerRuntimeLike } from "../profiler/runtime/types";
|
|
7
8
|
export type BrowserOpts = {
|
|
8
9
|
id: string;
|
|
9
10
|
version?: string;
|
|
10
11
|
state?: Record<string, unknown>;
|
|
11
12
|
emitter: AsyncEmitter;
|
|
12
13
|
wdPool?: WebdriverPool;
|
|
14
|
+
profiler?: ProfilerRuntimeLike;
|
|
13
15
|
};
|
|
14
16
|
export type BrowserState = {
|
|
15
17
|
testXReqId?: string;
|
|
@@ -32,6 +34,7 @@ export declare class Browser {
|
|
|
32
34
|
protected _wdPool?: WebdriverPool;
|
|
33
35
|
protected _wdProcess: WdProcess | null;
|
|
34
36
|
protected _exitError?: Error;
|
|
37
|
+
protected _profiler: ProfilerRuntimeLike;
|
|
35
38
|
/** This Promise is awaited after test is finished. Can be used for cleanup.
|
|
36
39
|
Right now is used to wait for time travel snapshots to finish collecting */
|
|
37
40
|
protected _snapshotsPromiseRef: history.PromiseRef;
|
|
@@ -35,6 +35,7 @@ const history = __importStar(require("./history"));
|
|
|
35
35
|
const stacktrace_1 = require("./stacktrace");
|
|
36
36
|
const commands_1 = require("./history/commands");
|
|
37
37
|
const runStep_1 = __importDefault(require("./commands/runStep"));
|
|
38
|
+
const noop_1 = require("../profiler/runtime/noop");
|
|
38
39
|
const CUSTOM_SESSION_OPTS = [
|
|
39
40
|
"outputDir",
|
|
40
41
|
"agent",
|
|
@@ -68,6 +69,7 @@ class Browser {
|
|
|
68
69
|
this._customCommands = new Set();
|
|
69
70
|
this._wdPool = opts.wdPool;
|
|
70
71
|
this._emitter = opts.emitter;
|
|
72
|
+
this._profiler = opts.profiler ?? noop_1.noopProfilerRuntime;
|
|
71
73
|
}
|
|
72
74
|
setHttpTimeout(timeout) {
|
|
73
75
|
if (timeout === null) {
|
|
@@ -91,8 +93,8 @@ class Browser {
|
|
|
91
93
|
(0, stacktrace_1.enhanceStacktraces)(this._session);
|
|
92
94
|
}
|
|
93
95
|
_addHistory() {
|
|
94
|
-
if (this._config.saveHistoryMode !== config_1.SAVE_HISTORY_MODE.NONE) {
|
|
95
|
-
const initHistoryResult = history.initCommandHistory(this._session, this._config);
|
|
96
|
+
if (this._config.saveHistoryMode !== config_1.SAVE_HISTORY_MODE.NONE || this._profiler.isEnabled(3)) {
|
|
97
|
+
const initHistoryResult = history.initCommandHistory(this._session, this._config, this._profiler);
|
|
96
98
|
this._callstackHistory = initHistoryResult.callstack;
|
|
97
99
|
this._snapshotsPromiseRef = initHistoryResult.snapshotsPromiseRef;
|
|
98
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAE5B,oDAAuB;AAEvB,gDAAwD;AACxD,kDAA8D;AAC9D,mDAAqC;AACrC,6CAAkD;AAClD,iDAA4E;AAC5E,iEAAmD;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/browser/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface ClickCommandGuard {
|
|
2
|
+
startClick: () => void;
|
|
3
|
+
waitForNavigationCompletion: () => Promise<void>;
|
|
4
|
+
cancelClick: () => void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Install one persistent click wrapper because WebdriverIO commands cannot be restored after overwriteCommand.
|
|
8
|
+
* The active guard can still be replaced or disabled when a browser session is reused.
|
|
9
|
+
*/
|
|
10
|
+
export declare const enableClickCommandGuard: (browser: WebdriverIO.Browser, guard: ClickCommandGuard) => (() => void);
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enableClickCommandGuard = void 0;
|
|
4
|
+
const activeGuards = new WeakMap();
|
|
5
|
+
const guardedBrowsers = new WeakSet();
|
|
6
|
+
/**
|
|
7
|
+
* Install one persistent click wrapper because WebdriverIO commands cannot be restored after overwriteCommand.
|
|
8
|
+
* The active guard can still be replaced or disabled when a browser session is reused.
|
|
9
|
+
*/
|
|
10
|
+
const enableClickCommandGuard = (browser, guard) => {
|
|
11
|
+
activeGuards.set(browser, guard);
|
|
12
|
+
const disableGuard = () => {
|
|
13
|
+
if (activeGuards.get(browser) === guard) {
|
|
14
|
+
guard.cancelClick();
|
|
15
|
+
activeGuards.delete(browser);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
if (guardedBrowsers.has(browser)) {
|
|
19
|
+
return disableGuard;
|
|
20
|
+
}
|
|
21
|
+
let guardedClickQueue = Promise.resolve();
|
|
22
|
+
try {
|
|
23
|
+
browser.overwriteCommand("click", async function (originalClick, options) {
|
|
24
|
+
const invocationGuard = activeGuards.get(browser);
|
|
25
|
+
if (!invocationGuard) {
|
|
26
|
+
return originalClick(options);
|
|
27
|
+
}
|
|
28
|
+
const guardedClickPromise = guardedClickQueue.then(async () => {
|
|
29
|
+
if (activeGuards.get(browser) !== invocationGuard) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
invocationGuard.startClick();
|
|
33
|
+
try {
|
|
34
|
+
const result = await originalClick(options);
|
|
35
|
+
await invocationGuard.waitForNavigationCompletion();
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
invocationGuard.cancelClick();
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
guardedClickQueue = guardedClickPromise.then(() => undefined, () => undefined);
|
|
44
|
+
return guardedClickPromise;
|
|
45
|
+
}, true);
|
|
46
|
+
guardedBrowsers.add(browser);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
if (activeGuards.get(browser) === guard) {
|
|
50
|
+
activeGuards.delete(browser);
|
|
51
|
+
}
|
|
52
|
+
throw err;
|
|
53
|
+
}
|
|
54
|
+
return disableGuard;
|
|
55
|
+
};
|
|
56
|
+
exports.enableClickCommandGuard = enableClickCommandGuard;
|
|
57
|
+
//# sourceMappingURL=click-command-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click-command-guard.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/click-command-guard.ts"],"names":[],"mappings":";;;AAMA,MAAM,YAAY,GAAG,IAAI,OAAO,EAA0C,CAAC;AAC3E,MAAM,eAAe,GAAG,IAAI,OAAO,EAAuB,CAAC;AAE3D;;;GAGG;AACI,MAAM,uBAAuB,GAAG,CAAC,OAA4B,EAAE,KAAwB,EAAgB,EAAE;IAC5G,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEjC,MAAM,YAAY,GAAG,GAAS,EAAE;QAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;YACtC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE1C,IAAI,CAAC;QACD,OAAO,CAAC,gBAAgB,CACpB,OAAO,EACP,KAAK,WAAsC,aAAa,EAAE,OAAO;YAC7D,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAC1D,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,eAAe,EAAE,CAAC;oBAChD,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,UAAU,EAAE,CAAC;gBAE7B,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;oBAE5C,MAAM,eAAe,CAAC,2BAA2B,EAAE,CAAC;oBAEpD,OAAO,MAAM,CAAC;gBAClB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,eAAe,CAAC,WAAW,EAAE,CAAC;oBAE9B,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CACxC,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAClB,CAAC;YAEF,OAAO,mBAAmB,CAAC;QAC/B,CAAC,EACD,IAAI,CACP,CAAC;QACF,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;YACtC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,GAAG,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAjEW,QAAA,uBAAuB,2BAiElC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const CoveragePause: {
|
|
2
|
+
readonly PageStart: "pageStart";
|
|
3
|
+
readonly BfcacheRestore: "bfcacheRestore";
|
|
4
|
+
readonly BeforeUnload: "beforeUnload";
|
|
5
|
+
};
|
|
6
|
+
type CoveragePause = (typeof CoveragePause)[keyof typeof CoveragePause];
|
|
7
|
+
/** Hooks injected into every document and, once, into the already open document. */
|
|
8
|
+
export declare const coverageHooksScripts: {
|
|
9
|
+
newDocument: string;
|
|
10
|
+
currentDocument: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const getCoveragePause: (functionName?: string) => CoveragePause | null;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCoveragePause = exports.coverageHooksScripts = exports.CoveragePause = void 0;
|
|
4
|
+
const PAGE_START_FUNCTION = "__testplane_cdp_coverage_page_start";
|
|
5
|
+
const BFCACHE_RESTORE_FUNCTION = "__testplane_cdp_coverage_bfcache_restore";
|
|
6
|
+
const BEFORE_UNLOAD_FUNCTION = "__testplane_cdp_coverage_snapshot_pause";
|
|
7
|
+
const HOOKS_MARKER = "__testplane_cdp_coverage_hooks_installed";
|
|
8
|
+
exports.CoveragePause = {
|
|
9
|
+
PageStart: "pageStart",
|
|
10
|
+
BfcacheRestore: "bfcacheRestore",
|
|
11
|
+
BeforeUnload: "beforeUnload",
|
|
12
|
+
};
|
|
13
|
+
const createCoverageHooksScript = (pauseAtPageStart) => [
|
|
14
|
+
`if (window.top === window && !window.${HOOKS_MARKER}) {`,
|
|
15
|
+
` Object.defineProperty(window, "${HOOKS_MARKER}", { value: true });`,
|
|
16
|
+
` function ${PAGE_START_FUNCTION}() { debugger; }`,
|
|
17
|
+
` function ${BFCACHE_RESTORE_FUNCTION}() { debugger; }`,
|
|
18
|
+
pauseAtPageStart ? ` ${PAGE_START_FUNCTION}();` : null,
|
|
19
|
+
` window.addEventListener("pageshow", function (e) { if (e.persisted) { ${BFCACHE_RESTORE_FUNCTION}(); } });`,
|
|
20
|
+
` window.addEventListener("beforeunload", function ${BEFORE_UNLOAD_FUNCTION}() { debugger; });`,
|
|
21
|
+
"}",
|
|
22
|
+
]
|
|
23
|
+
.filter(Boolean)
|
|
24
|
+
.join("\n");
|
|
25
|
+
/** Hooks injected into every document and, once, into the already open document. */
|
|
26
|
+
exports.coverageHooksScripts = {
|
|
27
|
+
newDocument: createCoverageHooksScript(true),
|
|
28
|
+
currentDocument: createCoverageHooksScript(false),
|
|
29
|
+
};
|
|
30
|
+
const getCoveragePause = (functionName) => {
|
|
31
|
+
switch (functionName) {
|
|
32
|
+
case PAGE_START_FUNCTION:
|
|
33
|
+
return exports.CoveragePause.PageStart;
|
|
34
|
+
case BFCACHE_RESTORE_FUNCTION:
|
|
35
|
+
return exports.CoveragePause.BfcacheRestore;
|
|
36
|
+
case BEFORE_UNLOAD_FUNCTION:
|
|
37
|
+
return exports.CoveragePause.BeforeUnload;
|
|
38
|
+
default:
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.getCoveragePause = getCoveragePause;
|
|
43
|
+
//# sourceMappingURL=coverage-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-hooks.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/coverage-hooks.ts"],"names":[],"mappings":";;;AAAA,MAAM,mBAAmB,GAAG,qCAAqC,CAAC;AAClE,MAAM,wBAAwB,GAAG,0CAA0C,CAAC;AAC5E,MAAM,sBAAsB,GAAG,yCAAyC,CAAC;AACzE,MAAM,YAAY,GAAG,0CAA0C,CAAC;AAEnD,QAAA,aAAa,GAAG;IACzB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;CACtB,CAAC;AAIX,MAAM,yBAAyB,GAAG,CAAC,gBAAyB,EAAU,EAAE,CACpE;IACI,wCAAwC,YAAY,KAAK;IACzD,sCAAsC,YAAY,sBAAsB;IACxE,gBAAgB,mBAAmB,kBAAkB;IACrD,gBAAgB,wBAAwB,kBAAkB;IAC1D,gBAAgB,CAAC,CAAC,CAAC,OAAO,mBAAmB,KAAK,CAAC,CAAC,CAAC,IAAI;IACzD,6EAA6E,wBAAwB,WAAW;IAChH,wDAAwD,sBAAsB,oBAAoB;IAClG,GAAG;CACN;KACI,MAAM,CAAC,OAAO,CAAC;KACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAEpB,oFAAoF;AACvE,QAAA,oBAAoB,GAAG;IAChC,WAAW,EAAE,yBAAyB,CAAC,IAAI,CAAC;IAC5C,eAAe,EAAE,yBAAyB,CAAC,KAAK,CAAC;CACpD,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,YAAqB,EAAwB,EAAE;IAC5E,QAAQ,YAAY,EAAE,CAAC;QACnB,KAAK,mBAAmB;YACpB,OAAO,qBAAa,CAAC,SAAS,CAAC;QACnC,KAAK,wBAAwB;YACzB,OAAO,qBAAa,CAAC,cAAc,CAAC;QACxC,KAAK,sBAAsB;YACvB,OAAO,qBAAa,CAAC,YAAY,CAAC;QACtC;YACI,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B"}
|
|
@@ -18,6 +18,8 @@ const events_1 = require("../../../events");
|
|
|
18
18
|
const modes_1 = require("./modes");
|
|
19
19
|
const debug_1 = require("./debug");
|
|
20
20
|
const used_dumps_tracker_1 = require("./used-dumps-tracker");
|
|
21
|
+
const navigation_guard_1 = require("./navigation-guard");
|
|
22
|
+
const coverage_hooks_1 = require("./coverage-hooks");
|
|
21
23
|
/**
|
|
22
24
|
* Called at the end of testplane run
|
|
23
25
|
* Not using "Promise.all" here because all hashes are already calculated and cached at the start
|
|
@@ -116,20 +118,6 @@ const clearUnusedSelectivityDumps = async (config, isRunFailed) => {
|
|
|
116
118
|
}
|
|
117
119
|
};
|
|
118
120
|
exports.clearUnusedSelectivityDumps = clearUnusedSelectivityDumps;
|
|
119
|
-
// Pauses the renderer at page boundaries so JS coverage can be resolved/reset while "scriptId"s are still valid:
|
|
120
|
-
// - "page start": first thing on every new document, and on bfcache restore ("pageshow" with persisted=true),
|
|
121
|
-
// BEFORE the incoming page's scripts run — the point where the previous page is done and the next hasn't started;
|
|
122
|
-
// - "beforeunload": while the leaving page is still alive (needed to capture it before a cross-process isolate swap).
|
|
123
|
-
const testplaneCoveragePageStartScriptName = "__testplane_cdp_coverage_page_start";
|
|
124
|
-
const testplaneCoverageBreakScriptName = "__testplane_cdp_coverage_snapshot_pause";
|
|
125
|
-
const scriptToEvaluateOnNewDocument = [
|
|
126
|
-
"if (window.top === window) {",
|
|
127
|
-
` function ${testplaneCoveragePageStartScriptName}() { debugger; }`,
|
|
128
|
-
` ${testplaneCoveragePageStartScriptName}();`,
|
|
129
|
-
` window.addEventListener("pageshow", function (e) { if (e.persisted) { ${testplaneCoveragePageStartScriptName}(); } });`,
|
|
130
|
-
` window.addEventListener("beforeunload", function ${testplaneCoverageBreakScriptName}() { debugger; });`,
|
|
131
|
-
"}",
|
|
132
|
-
].join("\n");
|
|
133
121
|
const startSelectivity = async (browser) => {
|
|
134
122
|
const { enabled, compression, sourceRoot, testDependenciesPath, mapDependencyRelativePath, mapSourceMapUrl } = browser.config.selectivity;
|
|
135
123
|
if (!(0, modes_1.selectivityShouldWrite)(enabled) || !browser.publicAPI.isChromium) {
|
|
@@ -154,6 +142,7 @@ const startSelectivity = async (browser) => {
|
|
|
154
142
|
}
|
|
155
143
|
const wdSessionId = browser.sessionId;
|
|
156
144
|
const cdpSessionId = await cdp.target.attachToTarget(cdpTargetId).then(r => r.sessionId);
|
|
145
|
+
const pageLoadStrategy = browser.publicAPI.capabilities?.pageLoadStrategy ?? "normal";
|
|
157
146
|
const cssSelectivity = new css_selectivity_1.CSSSelectivity(cdp, cdpSessionId, wdSessionId, sourceRoot, mapSourceMapUrl);
|
|
158
147
|
const jsSelectivity = new js_selectivity_1.JSSelectivity(cdp, cdpSessionId, sourceRoot, mapSourceMapUrl);
|
|
159
148
|
await Promise.all([
|
|
@@ -176,40 +165,79 @@ const startSelectivity = async (browser) => {
|
|
|
176
165
|
// than failing the test (an incomplete dump silently under-runs later), so we remember the error and rethrow it
|
|
177
166
|
// from stopSelectivity — but still resume the renderer so the browser is never left paused.
|
|
178
167
|
let pageSwitchError = null;
|
|
179
|
-
|
|
180
|
-
|
|
168
|
+
let clickNavigationGuard = null;
|
|
169
|
+
const resume = async () => {
|
|
170
|
+
await cdp.debugger.resume(cdpSessionId).catch(() => { });
|
|
181
171
|
};
|
|
182
172
|
const debuggerPausedFn = ({ callFrames }, eventCdpSessionId) => {
|
|
183
173
|
if (eventCdpSessionId !== cdpSessionId) {
|
|
184
174
|
return;
|
|
185
175
|
}
|
|
186
|
-
const
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
176
|
+
const coveragePause = (0, coverage_hooks_1.getCoveragePause)(callFrames[0]?.functionName);
|
|
177
|
+
const isBfcacheRestoreForClick = coveragePause === coverage_hooks_1.CoveragePause.BfcacheRestore && clickNavigationGuard?.onBfcacheRestorePause() === true;
|
|
178
|
+
if (coveragePause === coverage_hooks_1.CoveragePause.BeforeUnload && !isSelectivityStopped) {
|
|
179
|
+
// The injected top-frame beforeunload hook is a stable, synchronous navigation-intent signal. It avoids
|
|
180
|
+
// deprecated and experimental Page navigation lifecycle events.
|
|
181
|
+
clickNavigationGuard?.onBeforeUnloadPause();
|
|
182
|
+
}
|
|
183
|
+
if (isSelectivityStopped || !coveragePause) {
|
|
184
|
+
void resume();
|
|
191
185
|
return;
|
|
192
186
|
}
|
|
193
|
-
pageSwitchPromise = pageSwitchPromise.finally(() => {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
187
|
+
pageSwitchPromise = pageSwitchPromise.finally(async () => {
|
|
188
|
+
try {
|
|
189
|
+
// "beforeunload": leaving page still alive — snapshot+resolve it (captures it before a cross-process swap).
|
|
190
|
+
// "page start" / bfcache restore: previous page done, next not started — resolve its tail, then reset
|
|
191
|
+
// coverage and clear the script maps so the next page starts with a clean window and id namespace.
|
|
192
|
+
const action = coveragePause === coverage_hooks_1.CoveragePause.BeforeUnload
|
|
193
|
+
? Promise.all([cssSelectivity.takeCoverageSnapshot(), jsSelectivity.takeCoverageSnapshot()])
|
|
194
|
+
: jsSelectivity.flushPage();
|
|
195
|
+
await action;
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
202
198
|
pageSwitchError ||= err instanceof Error ? err : new Error(String(err));
|
|
203
|
-
}
|
|
204
|
-
|
|
199
|
+
}
|
|
200
|
+
finally {
|
|
201
|
+
await resume();
|
|
202
|
+
// pageshow.persisted is emitted after the document was restored. It is the completion signal for a
|
|
203
|
+
// BFCache navigation because a restored page does not emit a new DOMContentLoaded/load event, and
|
|
204
|
+
// Page.frameNavigated delivery is not required for this injected stable marker.
|
|
205
|
+
if (isBfcacheRestoreForClick) {
|
|
206
|
+
clickNavigationGuard?.completeBfcacheRestore();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
205
209
|
});
|
|
206
210
|
};
|
|
207
211
|
cdp.debugger.on("paused", debuggerPausedFn);
|
|
208
|
-
|
|
212
|
+
try {
|
|
213
|
+
await Promise.all([
|
|
214
|
+
cdp.page.addScriptToEvaluateOnNewDocument(cdpSessionId, { source: coverage_hooks_1.coverageHooksScripts.newDocument }),
|
|
215
|
+
cdp.runtime
|
|
216
|
+
.evaluate(cdpSessionId, { expression: coverage_hooks_1.coverageHooksScripts.currentDocument })
|
|
217
|
+
.catch(() => undefined),
|
|
218
|
+
]);
|
|
219
|
+
if (pageLoadStrategy !== "none") {
|
|
220
|
+
clickNavigationGuard = (0, navigation_guard_1.createClickNavigationGuard)({
|
|
221
|
+
browser: browser.publicAPI,
|
|
222
|
+
cdp,
|
|
223
|
+
cdpSessionId,
|
|
224
|
+
pageLoadStrategy,
|
|
225
|
+
pageLoadTimeout: browser.config.pageLoadTimeout,
|
|
226
|
+
waitForPageSwitch: () => pageSwitchPromise,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
cdp.debugger.off("paused", debuggerPausedFn);
|
|
232
|
+
await Promise.allSettled([cssSelectivity.stop(true), jsSelectivity.stop(true)]);
|
|
233
|
+
await cdp.target.detachFromTarget(cdpSessionId).catch(() => { });
|
|
234
|
+
throw err;
|
|
235
|
+
}
|
|
209
236
|
/** @param drop only performs cleanup without writing anything. Should be "true" if test is failed */
|
|
210
237
|
return async function stopSelectivity(test, drop) {
|
|
211
238
|
isSelectivityStopped = true;
|
|
212
239
|
await pageSwitchPromise;
|
|
240
|
+
clickNavigationGuard?.dispose();
|
|
213
241
|
const [cssDependenciesPromise, jsDependenciesPromise] = await Promise.allSettled([
|
|
214
242
|
cssSelectivity.stop(drop),
|
|
215
243
|
jsSelectivity.stop(drop),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,wDAA0B;AAC1B,uDAAmD;AACnD,qDAAiD;AAEjD,yEAAuE;AAEvE,mCAAwG;AACxG,+CAA8C;AAC9C,mCAAsC;AACtC,mEAAoH;AACpH,+CAA8C;AAE9C,4CAA+C;AAC/C,mCAAiD;AACjD,mCAA2C;AAC3C,6DAA2D;AAM3D;;;GAGG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAAE,MAAc,EAAE,WAAoB,EAAiB,EAAE;IACjG,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IAEjC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,GACtG,aAAa,CAAC,WAAW,CAAC;QAC9B,MAAM,OAAO,GAAG,GAAG,oBAAoB,IAAI,WAAW,EAAE,CAAC;QAEzD,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9E,SAAS;QACb,CAAC;QAED,IAAI,CAAC,IAAA,8BAAsB,EAAC,OAAO,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAClE,SAAS;QACb,CAAC;QAED,MAAM,UAAU,GAAG,IAAA,2BAAa,EAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,IAAA,2BAAa,EAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAEpE,KAAK,MAAM,OAAO,IAAI,0BAA0B,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAI,SAAS,EAAE,CAAC;gBACZ,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,CAAC,mDAAmD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;AACL,CAAC,CAAC;AArCW,QAAA,uBAAuB,2BAqClC;AAEF;;GAEG;AACI,MAAM,2BAA2B,GAAG,KAAK,EAAE,MAAc,EAAE,WAAoB,EAAiB,EAAE;IACrG,IAAI,OAAO,CAAC,GAAG,CAAC,wCAAwC,KAAK,OAAO,EAAE,CAAC;QACnE,OAAO;IACX,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAA,wCAAmB,GAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC;QAE9F,IAAI,CAAC,WAAW,IAAI,CAAC,wBAAwB,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9E,SAAS;QACb,CAAC;aAAM,IAAI,IAAA,8BAAsB,EAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7F,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,sCAAsC;IACtC,MAAM,MAAM,GAAG,kBAAE,CAAC,SAAS,CAAC,IAAI,GAAG,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;IAErD,MAAM,OAAO,CAAC,GAAG,CACb,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAC,eAAe,EAAC,EAAE;QACzC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,+BAAuB,EAAC,eAAe,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,kBAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAElF,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC5D,IAAA,wBAAgB,EAAC,oBAAoB,SAAS,4BAA4B,EAAE,WAAW,CAAC,CAAC;YAC7F,CAAC;YAED,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEnD,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC;QAEpC,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;YACxC,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAExD,wEAAwE;YACxE,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,SAAS;YACb,CAAC;YAED,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAExD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;gBAEpD,MAAM,kBAAE;qBACH,MAAM,CAAC,QAAQ,CAAC;qBAChB,IAAI,CAAC,GAAG,EAAE;oBACP,YAAY,EAAE,CAAC;gBACnB,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,CAAC,EAAE;oBACT,IAAA,wBAAgB,EAAC,+BAA+B,QAAQ,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;YACX,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CACL,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACf,IAAA,wBAAgB,EAAC,UAAU,UAAU,gBAAgB,YAAY,0CAA0C,CAAC,CAAC;IACjH,CAAC;AACL,CAAC,CAAC;AA5EW,QAAA,2BAA2B,+BA4EtC;AAEF,iHAAiH;AACjH,+GAA+G;AAC/G,qHAAqH;AACrH,uHAAuH;AACvH,MAAM,oCAAoC,GAAG,qCAAqC,CAAC;AACnF,MAAM,gCAAgC,GAAG,yCAAyC,CAAC;AACnF,MAAM,6BAA6B,GAAG;IAClC,8BAA8B;IAC9B,gBAAgB,oCAAoC,kBAAkB;IACtE,OAAO,oCAAoC,KAAK;IAChD,6EAA6E,oCAAoC,WAAW;IAC5H,wDAAwD,gCAAgC,oBAAoB;IAC5G,GAAG;CACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEN,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAwB,EAA8B,EAAE;IAC3F,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,eAAe,EAAE,GACxG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IAE/B,IAAI,CAAC,IAAA,8BAAsB,EAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QACpE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,WAAW,KAAK,mBAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACX,+GAA+G,CAClH,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;IACzD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC;IAEjF,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACX;YACI,0CAA0C;YAC1C,2BAA2B,MAAM,EAAE;YACnC,sBAAsB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC7E,CAAC,IAAI,CAAC,EAAE,CAAC,CACb,CAAC;IACN,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzF,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACvG,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAExF,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;QAC3F,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC7B,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;KACpC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QAC/F,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACxD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEzE,MAAM,aAAa,GACf,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAErG,MAAM,IAAI,KAAK,CAAC,CAAC,0CAA0C,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,iBAAiB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACzD,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,iHAAiH;IACjH,gHAAgH;IAChH,4FAA4F;IAC5F,IAAI,eAAe,GAAiB,IAAI,CAAC;IAEzC,MAAM,MAAM,GAAG,GAAS,EAAE;QACtB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,EAAE,UAAU,EAA4B,EAAE,iBAAgC,EAAQ,EAAE;QAC1G,IAAI,iBAAiB,KAAK,YAAY,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;QACjD,MAAM,mBAAmB,GAAG,YAAY,KAAK,gCAAgC,CAAC;QAC9E,MAAM,gBAAgB,GAAG,YAAY,KAAK,oCAAoC,CAAC;QAE/E,IAAI,oBAAoB,IAAI,CAAC,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtE,MAAM,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QAED,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE;YAC/C,4GAA4G;YAC5G,sGAAsG;YACtG,mGAAmG;YACnG,MAAM,MAAM,GAAG,mBAAmB;gBAC9B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,oBAAoB,EAAE,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBAC5F,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAEhC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;iBACzB,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,eAAe,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC;iBACD,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE5C,MAAM,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC,CAAC;IAEzG,qGAAqG;IACrG,OAAO,KAAK,UAAU,eAAe,CAAC,IAAU,EAAE,IAAa;QAC3D,oBAAoB,GAAG,IAAI,CAAC;QAE5B,MAAM,iBAAiB,CAAC;QAExB,MAAM,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;YAC7E,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;YAC3B,MAAM,eAAe,CAAC;QAC1B,CAAC;QAED,IAAI,qBAAqB,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC9C,MAAM,qBAAqB,CAAC,MAAM,CAAC;QACvC,CAAC;QAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,sBAAsB,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,MAAM,eAAe,GAAG,sBAAsB,CAAC,KAAK,CAAC;QACrD,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC;QAEnD,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO;QACX,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAA,oDAAyB,EAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,IAAA,mCAA2B,EAC3C,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,EACvD,yBAAyB,EACzB,SAAS,CACZ,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,mCAA2B,EAC7C,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAA,2DAAmC,GAAE,EAAE,GAAG,EAAE,IAAA,4DAAoC,GAAE,EAAE,EACrG,yBAAyB,EACzB,WAAW,CACd,CAAC;QAEF,OAAO,CAAC,IAAI,EAAE,CAAC;YACX,KAAK,EAAE,qBAAY,CAAC,iBAAiB;YACrC,OAAO,EAAE;gBACL,oBAAoB;gBACpB,WAAW;gBACX,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;aACF;YAC3B,IAAI,EAAE,IAAA,+BAAuB,EAAC,WAAW,EAAE,aAAa,CAAwB;SACnF,CAAC,CAAC;QAEH,MAAM,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACzE,CAAC,CAAC;AACN,CAAC,CAAC;AAlKW,QAAA,gBAAgB,oBAkK3B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/browser/cdp/selectivity/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export declare class JSSelectivity {
|
|
|
31
31
|
/** Source files collected across all pages of the current test */
|
|
32
32
|
private readonly _dependingSourceFiles;
|
|
33
33
|
constructor(cdp: CDP, sessionId: CDPSessionId, sourceRoot: string, mapSourceMapUrl: SelectivityMapSourceMapUrlFn | null);
|
|
34
|
+
private _loadScriptSource;
|
|
34
35
|
private _processScript;
|
|
35
36
|
private _ensureScriptsAreLoading;
|
|
36
37
|
private _waitForLoadingScripts;
|