testplane 0.1.1 → 0.1.2
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/README.md +5 -5
- package/build/package.json +26 -4
- package/build/src/browser/browser.d.ts +3 -1
- package/build/src/browser/browser.js +12 -6
- package/build/src/browser/browser.js.map +1 -1
- package/build/src/browser/existing-browser.js +5 -1
- package/build/src/browser/existing-browser.js.map +1 -1
- package/build/src/browser/new-browser.d.ts +4 -4
- package/build/src/browser/screen-shooter/viewport/coord-validator/index.d.ts +2 -1
- package/build/src/browser/types.d.ts +3 -0
- package/build/src/browser-pool/basic-pool.d.ts +2 -1
- package/build/src/browser-pool/caching-pool.d.ts +2 -1
- package/build/src/browser-pool/limited-pool.d.ts +2 -1
- package/build/src/browser-pool/limited-use-set.d.ts +2 -1
- package/build/src/browser-pool/per-browser-limited-pool.d.ts +2 -1
- package/build/src/bundle/index.js +2004 -0
- package/build/src/config/defaults.d.ts +2 -1
- package/build/src/config/defaults.js +3 -2
- package/build/src/config/defaults.js.map +1 -1
- package/build/src/config/options.js +25 -0
- package/build/src/config/options.js.map +1 -1
- package/build/src/config/types.d.ts +7 -1
- package/build/src/constants/config.d.ts +2 -0
- package/build/src/constants/config.js +2 -0
- package/build/src/constants/config.js.map +1 -1
- package/build/src/runner/browser-env/index.d.ts +12 -0
- package/build/src/runner/browser-env/index.js +34 -0
- package/build/src/runner/browser-env/index.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/constants.d.ts +17 -0
- package/build/src/runner/browser-env/vite/browser-modules/constants.js +20 -0
- package/build/src/runner/browser-env/vite/browser-modules/constants.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/driver.d.ts +3 -0
- package/build/src/runner/browser-env/vite/browser-modules/driver.js +113 -0
- package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/base.d.ts +6 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/base.js +10 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/base.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/browser.d.ts +12 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/browser.js +14 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/browser.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/index.d.ts +10 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/index.js +44 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/index.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/load-page.d.ts +10 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/load-page.js +10 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/load-page.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/vite-runtime.d.ts +17 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/vite-runtime.js +17 -0
- package/build/src/runner/browser-env/vite/browser-modules/errors/vite-runtime.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/expect.d.ts +2 -0
- package/build/src/runner/browser-env/vite/browser-modules/expect.js +84 -0
- package/build/src/runner/browser-env/vite/browser-modules/expect.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/globals.d.ts +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/globals.js +63 -0
- package/build/src/runner/browser-env/vite/browser-modules/globals.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/index.d.ts +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/index.js +13 -0
- package/build/src/runner/browser-env/vite/browser-modules/index.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/events.d.ts +6 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/events.js +7 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/events.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.d.ts +10 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js +63 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/index.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.d.ts +10 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.js +21 -0
- package/build/src/runner/browser-env/vite/browser-modules/mocha/parser.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +92 -0
- package/build/src/runner/browser-env/vite/browser-modules/types.js +16 -0
- package/build/src/runner/browser-env/vite/browser-modules/types.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/console.d.ts +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/console.js +13 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/console.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/index.d.ts +2 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/index.js +3 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/index.js.map +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/selector.d.ts +1 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/selector.js +4 -0
- package/build/src/runner/browser-env/vite/browser-modules/utils/selector.js.map +1 -0
- package/build/src/runner/browser-env/vite/constants.d.ts +13 -0
- package/build/src/runner/browser-env/vite/constants.js +18 -0
- package/build/src/runner/browser-env/vite/constants.js.map +1 -0
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.d.ts +2 -0
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +148 -0
- package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -0
- package/build/src/runner/browser-env/vite/server.d.ts +14 -0
- package/build/src/runner/browser-env/vite/server.js +117 -0
- package/build/src/runner/browser-env/vite/server.js.map +1 -0
- package/build/src/runner/browser-env/vite/socket.d.ts +2 -0
- package/build/src/runner/browser-env/vite/socket.js +106 -0
- package/build/src/runner/browser-env/vite/socket.js.map +1 -0
- package/build/src/runner/browser-env/vite/types.d.ts +16 -0
- package/build/src/runner/browser-env/vite/types.js +13 -0
- package/build/src/runner/browser-env/vite/types.js.map +1 -0
- package/build/src/runner/browser-env/vite/utils.d.ts +7 -0
- package/build/src/runner/browser-env/vite/utils.js +26 -0
- package/build/src/runner/browser-env/vite/utils.js.map +1 -0
- package/build/src/test-reader/test-parser.js +3 -0
- package/build/src/test-reader/test-parser.js.map +1 -1
- package/build/src/test-reader/test-transformer.d.ts +2 -0
- package/build/src/test-reader/test-transformer.js +8 -0
- package/build/src/test-reader/test-transformer.js.map +1 -0
- package/build/src/testplane.d.ts +3 -2
- package/build/src/testplane.js +3 -1
- package/build/src/testplane.js.map +1 -1
- package/build/src/types/index.d.ts +7 -2
- package/build/src/types/index.js.map +1 -1
- package/build/src/utils/config.d.ts +2 -0
- package/build/src/utils/config.js +9 -0
- package/build/src/utils/config.js.map +1 -0
- package/build/src/worker/browser-env/runner/test-runner/constants.d.ts +10 -0
- package/build/src/worker/browser-env/runner/test-runner/constants.js +14 -0
- package/build/src/worker/browser-env/runner/test-runner/constants.js.map +1 -0
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.d.ts +3 -0
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js +40 -0
- package/build/src/worker/browser-env/runner/test-runner/execution-thread.js.map +1 -0
- package/build/src/worker/browser-env/runner/test-runner/index.d.ts +16 -0
- package/build/src/worker/browser-env/runner/test-runner/index.js +178 -0
- package/build/src/worker/browser-env/runner/test-runner/index.js.map +1 -0
- package/build/src/worker/browser-env/runner/test-runner/types.d.ts +8 -0
- package/build/src/worker/browser-env/runner/test-runner/types.js +11 -0
- package/build/src/worker/browser-env/runner/test-runner/types.js.map +1 -0
- package/build/src/worker/runner/index.js +9 -2
- package/build/src/worker/runner/index.js.map +1 -1
- package/build/src/worker/runner/test-runner/index.d.ts +21 -3
- package/build/src/worker/runner/test-runner/index.js +21 -9
- package/build/src/worker/runner/test-runner/index.js.map +1 -1
- package/build/src/worker/runner/test-runner/runner.d.ts +5 -0
- package/build/src/worker/runner/test-runner/runner.js +10 -0
- package/build/src/worker/runner/test-runner/runner.js.map +1 -0
- package/build/src/worker/runner/test-runner/types.d.ts +23 -0
- package/build/src/worker/runner/test-runner/types.js +3 -0
- package/build/src/worker/runner/test-runner/types.js.map +1 -0
- package/package.json +26 -4
- package/typings/global.d.ts +6 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="mocha" />
|
|
2
2
|
import { Events } from "../events";
|
|
3
|
-
import { MainRunner } from "../runner";
|
|
3
|
+
import { MainRunner as NodejsEnvRunner } from "../runner";
|
|
4
|
+
import { MainRunner as BrowserEnvRunner } from "../runner/browser-env/index";
|
|
4
5
|
import { TestCollection } from "../test-collection";
|
|
5
6
|
import type { Test } from "../test-reader/test-object/test";
|
|
6
7
|
import type { Suite } from "../test-reader/test-object/suite";
|
|
@@ -12,6 +13,7 @@ import { SkipController } from "../test-reader/controllers/skip-controller";
|
|
|
12
13
|
import { BrowserVersionController } from "../test-reader/controllers/browser-version-controller";
|
|
13
14
|
import { WorkerProcess } from "../utils/worker-process";
|
|
14
15
|
import { BaseTestplane } from "../base-testplane";
|
|
16
|
+
import Callstack from "../browser/history/callstack";
|
|
15
17
|
import { CoordBounds, LooksSameOptions } from "looks-same";
|
|
16
18
|
export { Suite as RunnerSuite, Test as RunnerTest, Hook as RunnerHook } from "mocha";
|
|
17
19
|
export type { Browser as WdioBrowser } from "webdriverio";
|
|
@@ -143,13 +145,16 @@ export interface AfterFileReadData {
|
|
|
143
145
|
export interface BeforeFileReadData extends AfterFileReadData {
|
|
144
146
|
testParser: TestParserAPI;
|
|
145
147
|
}
|
|
148
|
+
export interface BrowserHistory {
|
|
149
|
+
runGroup: (callstack: Callstack, name: string, fn: () => unknown | Promise<unknown>) => Promise<unknown>;
|
|
150
|
+
}
|
|
146
151
|
export type SyncSessionEventCallback = (browser: WebdriverIO.Browser, browserInfo: {
|
|
147
152
|
browserId: string;
|
|
148
153
|
browserVersion: string;
|
|
149
154
|
}) => void;
|
|
150
155
|
export type MasterEventHandler<T extends BaseTestplane> = {
|
|
151
156
|
(event: Events["INIT"], callback: () => Promise<void> | void): T;
|
|
152
|
-
(event: Events["RUNNER_START"], callback: (runner:
|
|
157
|
+
(event: Events["RUNNER_START"], callback: (runner: NodejsEnvRunner | BrowserEnvRunner) => Promise<void> | void): T;
|
|
153
158
|
(event: Events["RUNNER_END"], callback: (result: StatsResult) => Promise<void> | void): T;
|
|
154
159
|
(event: Events["SESSION_START"], callback: AsyncSessionEventCallback): T;
|
|
155
160
|
(event: Events["SESSION_END"], callback: AsyncSessionEventCallback): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAiBA,+BAAqF;AAA5E,oGAAA,KAAK,OAAe;AAAE,mGAAA,IAAI,OAAc;AAAE,mGAAA,IAAI,OAAc"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRunInNodeJsEnv = void 0;
|
|
4
|
+
const config_1 = require("../constants/config");
|
|
5
|
+
const isRunInNodeJsEnv = (config) => {
|
|
6
|
+
return config.system.testRunEnv === config_1.NODEJS_TEST_RUN_ENV;
|
|
7
|
+
};
|
|
8
|
+
exports.isRunInNodeJsEnv = isRunInNodeJsEnv;
|
|
9
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":";;;AAAA,gDAA0D;AAGnD,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAAW,EAAE;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,KAAK,4BAAmB,CAAC;AAC5D,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const WORKER_EVENT_PREFIX = "worker";
|
|
2
|
+
export declare const SUPPORTED_ASYMMETRIC_MATCHER: {
|
|
3
|
+
readonly Any: "any";
|
|
4
|
+
readonly Anything: "anything";
|
|
5
|
+
readonly ArrayContaining: "arrayContaining";
|
|
6
|
+
readonly ObjectContaining: "objectContaining";
|
|
7
|
+
readonly StringContaining: "stringContaining";
|
|
8
|
+
readonly StringMatching: "stringMatching";
|
|
9
|
+
readonly CloseTo: "closeTo";
|
|
10
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUPPORTED_ASYMMETRIC_MATCHER = exports.WORKER_EVENT_PREFIX = void 0;
|
|
4
|
+
exports.WORKER_EVENT_PREFIX = "worker";
|
|
5
|
+
exports.SUPPORTED_ASYMMETRIC_MATCHER = {
|
|
6
|
+
Any: "any",
|
|
7
|
+
Anything: "anything",
|
|
8
|
+
ArrayContaining: "arrayContaining",
|
|
9
|
+
ObjectContaining: "objectContaining",
|
|
10
|
+
StringContaining: "stringContaining",
|
|
11
|
+
StringMatching: "stringMatching",
|
|
12
|
+
CloseTo: "closeTo",
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/worker/browser-env/runner/test-runner/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAE/B,QAAA,4BAA4B,GAAG;IACxC,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,OAAO,EAAE,SAAS;CACZ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.wrapExecutionThread = void 0;
|
|
7
|
+
const execution_thread_1 = __importDefault(require("../../../runner/test-runner/execution-thread"));
|
|
8
|
+
const constants_1 = require("../../../../runner/browser-env/vite/constants");
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const wrapExecutionThread = (socket) => {
|
|
11
|
+
return class ExecutionThread extends execution_thread_1.default {
|
|
12
|
+
constructor(opts) {
|
|
13
|
+
super(opts);
|
|
14
|
+
this._socket = socket;
|
|
15
|
+
}
|
|
16
|
+
async _call(runnable) {
|
|
17
|
+
runnable.fn = async () => {
|
|
18
|
+
const timeout = runnable.timeout === 0 ? constants_1.SOCKET_MAX_TIMEOUT : runnable.timeout;
|
|
19
|
+
try {
|
|
20
|
+
const [error] = (await this._socket
|
|
21
|
+
.timeout(timeout)
|
|
22
|
+
.emitWithAck(types_1.WorkerEventNames.runRunnable, { fullTitle: runnable.fullTitle() }));
|
|
23
|
+
if (error) {
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
let error = err;
|
|
29
|
+
if (error.message === constants_1.SOCKET_TIMED_OUT_ERROR) {
|
|
30
|
+
error = new Error(`Didn't receive response from browser on "${types_1.WorkerEventNames.runRunnable}" when executing ${runnable.fullTitle} event in ${timeout}ms`);
|
|
31
|
+
}
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return super._call(runnable);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.wrapExecutionThread = wrapExecutionThread;
|
|
40
|
+
//# sourceMappingURL=execution-thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-thread.js","sourceRoot":"","sources":["../../../../../../src/worker/browser-env/runner/test-runner/execution-thread.ts"],"names":[],"mappings":";;;;;;AAAA,oGAAoF;AACpF,6EAA2G;AAE3G,mCAA2C;AAMpC,MAAM,mBAAmB,GAAG,CAAC,MAAwB,EAAmC,EAAE;IAC7F,OAAO,MAAM,eAAgB,SAAQ,0BAAwB;QAGzD,YAAY,IAAmD;YAC3D,KAAK,CAAC,IAAI,CAAC,CAAC;YAHR,YAAO,GAAG,MAAM,CAAC;QAIzB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,QAAqB;YAC7B,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAmB,EAAE;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,8BAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAE/E,IAAI,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO;yBAC9B,OAAO,CAAC,OAAO,CAAC;yBAChB,WAAW,CAAC,wBAAgB,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAElF,CAAC;oBAEF,IAAI,KAAK,EAAE,CAAC;wBACR,MAAM,KAAK,CAAC;oBAChB,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,IAAI,KAAK,GAAG,GAAY,CAAC;oBAEzB,IAAI,KAAK,CAAC,OAAO,KAAK,kCAAsB,EAAE,CAAC;wBAC3C,KAAK,GAAG,IAAI,KAAK,CACb,4CAA4C,wBAAgB,CAAC,WAAW,oBAAoB,QAAQ,CAAC,SAAS,aAAa,OAAO,IAAI,CACzI,CAAC;oBACN,CAAC;oBAED,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC,CAAC;YAEF,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAtCW,QAAA,mBAAmB,uBAsC9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import NodejsEnvTestRunner from "../../../runner/test-runner";
|
|
2
|
+
import type { WorkerTestRunnerRunOpts, WorkerTestRunnerCtorOpts } from "../../../runner/test-runner/types";
|
|
3
|
+
import type { WorkerRunTestResult } from "../../../testplane";
|
|
4
|
+
import type { BrowserHistory } from "../../../../types";
|
|
5
|
+
import type { Browser } from "../../../../browser/types";
|
|
6
|
+
export declare class TestRunner extends NodejsEnvTestRunner {
|
|
7
|
+
private _socket;
|
|
8
|
+
private _runUuid;
|
|
9
|
+
private _runOpts;
|
|
10
|
+
constructor(opts: WorkerTestRunnerCtorOpts);
|
|
11
|
+
run(opts: WorkerTestRunnerRunOpts): Promise<WorkerRunTestResult>;
|
|
12
|
+
_getPreparePageActions(browser: Browser, history: BrowserHistory): (() => Promise<void>)[];
|
|
13
|
+
private _handleRunBrowserCommand;
|
|
14
|
+
private _handleRunExpectMatcher;
|
|
15
|
+
private _openViteUrl;
|
|
16
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.TestRunner = void 0;
|
|
30
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
31
|
+
const urijs_1 = __importDefault(require("urijs"));
|
|
32
|
+
const bluebird_1 = __importDefault(require("bluebird"));
|
|
33
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
34
|
+
const socket_io_client_1 = require("socket.io-client");
|
|
35
|
+
const test_runner_1 = __importDefault(require("../../../runner/test-runner"));
|
|
36
|
+
const execution_thread_1 = require("./execution-thread");
|
|
37
|
+
const types_1 = require("./types");
|
|
38
|
+
const constants_1 = require("./constants");
|
|
39
|
+
const logger_1 = __importDefault(require("../../../../utils/logger"));
|
|
40
|
+
const types_2 = require("../../../../runner/browser-env/vite/types");
|
|
41
|
+
const prepareData = (data) => {
|
|
42
|
+
return JSON.parse(JSON.stringify(data, Object.getOwnPropertyNames(data)));
|
|
43
|
+
};
|
|
44
|
+
class TestRunner extends test_runner_1.default {
|
|
45
|
+
constructor(opts) {
|
|
46
|
+
super(opts);
|
|
47
|
+
this._runUuid = node_crypto_1.default.randomUUID();
|
|
48
|
+
this._socket = (0, socket_io_client_1.io)(this._config.baseUrl, {
|
|
49
|
+
transports: ["websocket"],
|
|
50
|
+
auth: {
|
|
51
|
+
runUuid: this._runUuid,
|
|
52
|
+
type: constants_1.WORKER_EVENT_PREFIX,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
this._socket.on("connect_error", err => {
|
|
56
|
+
if (!this._socket.active) {
|
|
57
|
+
logger_1.default.warn(`Worker with pid=${process.pid} and runUuid=${this._runUuid} was disconnected from the Vite server:`, err);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async run(opts) {
|
|
62
|
+
this._runOpts = opts;
|
|
63
|
+
const results = await super.run({ ...opts, ExecutionThreadCls: (0, execution_thread_1.wrapExecutionThread)(this._socket) });
|
|
64
|
+
this._socket.emit(types_1.WorkerEventNames.finalize);
|
|
65
|
+
return results;
|
|
66
|
+
}
|
|
67
|
+
_getPreparePageActions(browser, history) {
|
|
68
|
+
return [
|
|
69
|
+
async () => {
|
|
70
|
+
const { default: expectMatchers } = await Promise.resolve().then(() => __importStar(require("expect-webdriverio/lib/matchers")));
|
|
71
|
+
this._socket.on(types_2.BrowserEventNames.callConsoleMethod, payload => {
|
|
72
|
+
console[payload.method](...(payload.args || []));
|
|
73
|
+
});
|
|
74
|
+
this._socket.on(types_2.BrowserEventNames.runBrowserCommand, this._handleRunBrowserCommand(browser));
|
|
75
|
+
this._socket.on(types_2.BrowserEventNames.runExpectMatcher, this._handleRunExpectMatcher(browser, expectMatchers));
|
|
76
|
+
this._socket.emit(types_1.WorkerEventNames.initialize, {
|
|
77
|
+
file: this._file,
|
|
78
|
+
sessionId: this._runOpts.sessionId,
|
|
79
|
+
capabilities: this._runOpts.sessionCaps,
|
|
80
|
+
requestedCapabilities: this._runOpts.sessionOpts.capabilities,
|
|
81
|
+
customCommands: browser.customCommands,
|
|
82
|
+
config: this._config,
|
|
83
|
+
expectMatchers: Object.getOwnPropertyNames(expectMatchers),
|
|
84
|
+
});
|
|
85
|
+
await history.runGroup(browser.callstackHistory, "openVite", async () => {
|
|
86
|
+
await this._openViteUrl(browser);
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
...super._getPreparePageActions(browser, history),
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
_handleRunBrowserCommand(browser) {
|
|
93
|
+
const { publicAPI: session } = browser;
|
|
94
|
+
return async (payload, cb) => {
|
|
95
|
+
const { name, args } = payload;
|
|
96
|
+
const cmdName = name;
|
|
97
|
+
if (typeof session[cmdName] !== "function") {
|
|
98
|
+
cb([prepareData(new Error(`"browser.${name}" does not exists in browser instance`))]);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
const result = await session[cmdName](...args);
|
|
103
|
+
if (lodash_1.default.isError(result)) {
|
|
104
|
+
return cb([prepareData(result)]);
|
|
105
|
+
}
|
|
106
|
+
if (lodash_1.default.isArray(result)) {
|
|
107
|
+
return cb([null, result.map(prepareData)]);
|
|
108
|
+
}
|
|
109
|
+
cb([null, lodash_1.default.isObject(result) ? prepareData(result) : result]);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
cb([prepareData(err)]);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
_handleRunExpectMatcher(browser, expectMatchers) {
|
|
117
|
+
const { publicAPI: session } = browser;
|
|
118
|
+
return async (payload, cb) => {
|
|
119
|
+
if (!global.expect) {
|
|
120
|
+
return cb([{ pass: false, message: "Couldn't find expect module" }]);
|
|
121
|
+
}
|
|
122
|
+
const matcher = expectMatchers[payload.name];
|
|
123
|
+
if (!matcher) {
|
|
124
|
+
return cb([{ pass: false, message: `Couldn't find expect matcher with name "${payload.name}"` }]);
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
let context = payload.context || session;
|
|
128
|
+
if (payload.element) {
|
|
129
|
+
if (lodash_1.default.isArray(payload.element)) {
|
|
130
|
+
context = await session.$$(payload.element);
|
|
131
|
+
}
|
|
132
|
+
else if (payload.element.elementId) {
|
|
133
|
+
context = await session.$(payload.element);
|
|
134
|
+
context.selector = payload.element.selector;
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
context = await session.$(payload.element.selector);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const result = await matcher.apply(payload.scope, [context, ...payload.args.map(transformExpectArg)]);
|
|
141
|
+
cb([{ pass: result.pass, message: result.message() }]);
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
cb([{ pass: false, message: `Failed to execute expect command "${payload.name}": ${err}` }]);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
async _openViteUrl(browser) {
|
|
149
|
+
const browserInitialize = new bluebird_1.default((resolve, reject) => {
|
|
150
|
+
this._socket.once(types_2.BrowserEventNames.initialize, errors => {
|
|
151
|
+
lodash_1.default.isEmpty(errors) ? resolve() : reject(errors[0]);
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
const timeout = this._config.urlHttpTimeout || this._config.httpTimeout;
|
|
155
|
+
const uri = new urijs_1.default(this._config.baseUrl).query({ runUuid: this._runUuid }).toString();
|
|
156
|
+
await Promise.all([
|
|
157
|
+
browserInitialize.timeout(timeout, `Browser didn't connect to the Vite server in ${timeout}ms`),
|
|
158
|
+
browser.publicAPI.url(uri),
|
|
159
|
+
]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.TestRunner = TestRunner;
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
164
|
+
function transformExpectArg(arg) {
|
|
165
|
+
if (typeof arg === "object" &&
|
|
166
|
+
"$$typeof" in arg &&
|
|
167
|
+
Object.keys(constants_1.SUPPORTED_ASYMMETRIC_MATCHER).includes(arg.$$typeof)) {
|
|
168
|
+
const matcherKey = constants_1.SUPPORTED_ASYMMETRIC_MATCHER[arg.$$typeof];
|
|
169
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
170
|
+
const matcher = arg.inverse ? global.expect.not[matcherKey] : global.expect[matcherKey];
|
|
171
|
+
if (!matcher) {
|
|
172
|
+
throw new Error(`Matcher "${matcherKey}" is not supported by expect-webdriverio`);
|
|
173
|
+
}
|
|
174
|
+
return matcher(arg.sample);
|
|
175
|
+
}
|
|
176
|
+
return arg;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/worker/browser-env/runner/test-runner/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Socket } from "socket.io-client";
|
|
2
|
+
import type { BrowserViteEvents, WorkerViteEvents } from "../../../../runner/browser-env/vite/types";
|
|
3
|
+
export declare enum WorkerEventNames {
|
|
4
|
+
initialize = "worker:initialize",
|
|
5
|
+
finalize = "worker:finalize",
|
|
6
|
+
runRunnable = "worker:runRunnable"
|
|
7
|
+
}
|
|
8
|
+
export type WorkerViteSocket = Socket<BrowserViteEvents, WorkerViteEvents>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkerEventNames = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
var WorkerEventNames;
|
|
6
|
+
(function (WorkerEventNames) {
|
|
7
|
+
WorkerEventNames["initialize"] = "worker:initialize";
|
|
8
|
+
WorkerEventNames["finalize"] = "worker:finalize";
|
|
9
|
+
WorkerEventNames["runRunnable"] = "worker:runRunnable";
|
|
10
|
+
})(WorkerEventNames || (exports.WorkerEventNames = WorkerEventNames = {}));
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/worker/browser-env/runner/test-runner/types.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAKlD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,oDAAgD,CAAA;IAChD,gDAA4C,CAAA;IAC5C,sDAAkD,CAAA;AACtD,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
|
|
@@ -4,8 +4,10 @@ const { passthroughEvent } = require("../../events/utils");
|
|
|
4
4
|
const { WorkerEvents } = require("../../events");
|
|
5
5
|
const BrowserPool = require("./browser-pool");
|
|
6
6
|
const BrowserAgent = require("./browser-agent");
|
|
7
|
-
const
|
|
7
|
+
const NodejsEnvTestRunner = require("./test-runner");
|
|
8
|
+
const { TestRunner: BrowserEnvTestRunner } = require("../browser-env/runner/test-runner");
|
|
8
9
|
const CachingTestParser = require("./caching-test-parser");
|
|
10
|
+
const { isRunInNodeJsEnv } = require("../../utils/config");
|
|
9
11
|
module.exports = class Runner extends AsyncEmitter {
|
|
10
12
|
static create(config) {
|
|
11
13
|
return new Runner(config);
|
|
@@ -25,7 +27,12 @@ module.exports = class Runner extends AsyncEmitter {
|
|
|
25
27
|
const tests = await this._testParser.parse({ file, browserId });
|
|
26
28
|
const test = tests.find(t => t.fullTitle() === fullTitle);
|
|
27
29
|
const browserAgent = BrowserAgent.create({ id: browserId, version: browserVersion, pool: this._browserPool });
|
|
28
|
-
const runner =
|
|
30
|
+
const runner = (isRunInNodeJsEnv(this._config) ? NodejsEnvTestRunner : BrowserEnvTestRunner).create({
|
|
31
|
+
test,
|
|
32
|
+
file,
|
|
33
|
+
config: this._config.forBrowser(browserId),
|
|
34
|
+
browserAgent,
|
|
35
|
+
});
|
|
29
36
|
return runner.run({ sessionId, sessionCaps, sessionOpts, state });
|
|
30
37
|
}
|
|
31
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/worker/runner/index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/worker/runner/index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AACjD,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChD,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACrD,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC1F,MAAM,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAC3D,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,GAAG,MAAM,MAAO,SAAQ,YAAY;IAC9C,MAAM,CAAC,MAAM,CAAC,MAAM;QAChB,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,MAAM;QACd,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE3D,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;YACrC,YAAY,CAAC,gBAAgB;YAC7B,YAAY,CAAC,eAAe;YAC5B,YAAY,CAAC,gBAAgB;SAChC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE;QACpG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,SAAS,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC9G,MAAM,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC;YAChG,IAAI;YACJ,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;YAC1C,YAAY;SACf,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;CACJ,CAAC"}
|
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
export = TestRunner;
|
|
2
|
-
declare class TestRunner {
|
|
2
|
+
declare class TestRunner extends Runner {
|
|
3
3
|
static create(...args: any[]): import(".");
|
|
4
|
-
constructor(test
|
|
4
|
+
constructor({ test, file, config, browserAgent }: {
|
|
5
|
+
test: any;
|
|
6
|
+
file: any;
|
|
7
|
+
config: any;
|
|
8
|
+
browserAgent: any;
|
|
9
|
+
});
|
|
5
10
|
_test: any;
|
|
11
|
+
_file: any;
|
|
6
12
|
_config: any;
|
|
7
13
|
_browserAgent: any;
|
|
8
|
-
run({ sessionId, sessionCaps, sessionOpts, state }: {
|
|
14
|
+
run({ sessionId, sessionCaps, sessionOpts, state, ExecutionThreadCls }: {
|
|
9
15
|
sessionId: any;
|
|
10
16
|
sessionCaps: any;
|
|
11
17
|
sessionOpts: any;
|
|
12
18
|
state: any;
|
|
19
|
+
ExecutionThreadCls?: {
|
|
20
|
+
new ({ test, browser, testplaneCtx, screenshooter }: {
|
|
21
|
+
test: any;
|
|
22
|
+
browser: any;
|
|
23
|
+
testplaneCtx: any;
|
|
24
|
+
screenshooter: any;
|
|
25
|
+
}): ExecutionThread;
|
|
26
|
+
create(...args: any[]): ExecutionThread;
|
|
27
|
+
} | undefined;
|
|
13
28
|
}): Promise<{
|
|
14
29
|
testplaneCtx: any;
|
|
15
30
|
hermioneCtx: any;
|
|
16
31
|
meta: any;
|
|
17
32
|
}>;
|
|
33
|
+
_getPreparePageActions(browser: any, history: any): (() => Promise<void>)[];
|
|
18
34
|
_resetCursorPosition({ publicAPI: session }: {
|
|
19
35
|
publicAPI: any;
|
|
20
36
|
}): Promise<any>;
|
|
21
37
|
}
|
|
38
|
+
import { Runner } from "./runner";
|
|
39
|
+
import ExecutionThread = require("./execution-thread");
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
/* global document */
|
|
2
2
|
"use strict";
|
|
3
3
|
const _ = require("lodash");
|
|
4
|
+
const { Runner } = require("./runner");
|
|
4
5
|
const HookRunner = require("./hook-runner");
|
|
5
6
|
const ExecutionThread = require("./execution-thread");
|
|
6
7
|
const OneTimeScreenshooter = require("./one-time-screenshooter");
|
|
7
8
|
const { AssertViewError } = require("../../../browser/commands/assert-view/errors/assert-view-error");
|
|
8
9
|
const history = require("../../../browser/history");
|
|
9
10
|
const { SAVE_HISTORY_MODE } = require("../../../constants/config");
|
|
10
|
-
module.exports = class TestRunner {
|
|
11
|
+
module.exports = class TestRunner extends Runner {
|
|
11
12
|
static create(...args) {
|
|
12
13
|
return new this(...args);
|
|
13
14
|
}
|
|
14
|
-
constructor(test, config, browserAgent) {
|
|
15
|
+
constructor({ test, file, config, browserAgent }) {
|
|
16
|
+
super();
|
|
15
17
|
this._test = test.clone();
|
|
16
18
|
this._test.testplaneCtx = _.cloneDeep(test.testplaneCtx);
|
|
19
|
+
this._file = file;
|
|
17
20
|
this._config = config;
|
|
18
21
|
this._browserAgent = browserAgent;
|
|
19
22
|
}
|
|
20
|
-
async run({ sessionId, sessionCaps, sessionOpts, state }) {
|
|
23
|
+
async run({ sessionId, sessionCaps, sessionOpts, state, ExecutionThreadCls = ExecutionThread }) {
|
|
21
24
|
const test = this._test;
|
|
22
25
|
const testplaneCtx = test.testplaneCtx || {};
|
|
23
26
|
let browser;
|
|
@@ -28,7 +31,7 @@ module.exports = class TestRunner {
|
|
|
28
31
|
throw Object.assign(e, { testplaneCtx, hermioneCtx: testplaneCtx });
|
|
29
32
|
}
|
|
30
33
|
const screenshooter = OneTimeScreenshooter.create(this._config, browser);
|
|
31
|
-
const executionThread =
|
|
34
|
+
const executionThread = ExecutionThreadCls.create({
|
|
32
35
|
test,
|
|
33
36
|
browser,
|
|
34
37
|
testplaneCtx,
|
|
@@ -39,13 +42,12 @@ module.exports = class TestRunner {
|
|
|
39
42
|
const { callstackHistory } = browser;
|
|
40
43
|
let error;
|
|
41
44
|
try {
|
|
42
|
-
const
|
|
43
|
-
const shouldRunBeforeEach =
|
|
45
|
+
const preparePageActions = this._getPreparePageActions(browser, history);
|
|
46
|
+
const shouldRunBeforeEach = preparePageActions.length || hookRunner.hasBeforeEachHooks();
|
|
44
47
|
if (shouldRunBeforeEach) {
|
|
45
48
|
await history.runGroup(callstackHistory, "beforeEach", async () => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
await history.runGroup(callstackHistory, "resetCursor", () => this._resetCursorPosition(browser));
|
|
49
|
+
for (const action of preparePageActions) {
|
|
50
|
+
await action();
|
|
49
51
|
}
|
|
50
52
|
await hookRunner.runBeforeEachHooks();
|
|
51
53
|
});
|
|
@@ -100,6 +102,16 @@ module.exports = class TestRunner {
|
|
|
100
102
|
}
|
|
101
103
|
return results;
|
|
102
104
|
}
|
|
105
|
+
_getPreparePageActions(browser, history) {
|
|
106
|
+
if (!browser.config.resetCursor) {
|
|
107
|
+
return [];
|
|
108
|
+
}
|
|
109
|
+
const fn = async () => {
|
|
110
|
+
// TODO: make it on browser.init when "actions" method will be implemented in all webdrivers
|
|
111
|
+
await history.runGroup(browser.callstackHistory, "resetCursor", () => this._resetCursorPosition(browser));
|
|
112
|
+
};
|
|
113
|
+
return [fn];
|
|
114
|
+
}
|
|
103
115
|
async _resetCursorPosition({ publicAPI: session }) {
|
|
104
116
|
const body = await session.$("body");
|
|
105
117
|
if (!body) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/worker/runner/test-runner/index.js"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,YAAY,CAAC;AAEb,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACtD,MAAM,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACjE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,gEAAgE,CAAC,CAAC;AACtG,MAAM,OAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACpD,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAEnE,MAAM,CAAC,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/worker/runner/test-runner/index.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/worker/runner/test-runner/runner.ts"],"names":[],"mappings":";;;AAEA,MAAsB,MAAM;IACxB,MAAM,CAAC,MAAM,CAA0B,GAAG,IAAe;QACrD,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CAGJ;AAND,wBAMC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import ExecutionThread from "./execution-thread";
|
|
2
|
+
import type { WorkerRunTestOpts, WorkerRunTestTestplaneCtx } from "../../testplane";
|
|
3
|
+
import type { Test } from "../../../test-reader/test-object/test";
|
|
4
|
+
import type { BrowserConfig } from "../../../config/browser-config";
|
|
5
|
+
import type BrowserAgent from "../browser-agent";
|
|
6
|
+
import type { Browser } from "../../../browser/types";
|
|
7
|
+
import type OneTimeScreenshooter from "./one-time-screenshooter";
|
|
8
|
+
export interface WorkerTestRunnerRunOpts extends Pick<WorkerRunTestOpts, "sessionId" | "sessionCaps" | "sessionOpts" | "state"> {
|
|
9
|
+
ExecutionThreadCls: typeof ExecutionThread;
|
|
10
|
+
}
|
|
11
|
+
export interface WorkerTestRunnerCtorOpts {
|
|
12
|
+
test: Test;
|
|
13
|
+
file: string;
|
|
14
|
+
config: BrowserConfig;
|
|
15
|
+
browserAgent: BrowserAgent;
|
|
16
|
+
}
|
|
17
|
+
export interface ExecutionThreadCtorOpts {
|
|
18
|
+
test: Test;
|
|
19
|
+
browser: Browser;
|
|
20
|
+
testplaneCtx: WorkerRunTestTestplaneCtx;
|
|
21
|
+
hermioneCtx: WorkerRunTestTestplaneCtx;
|
|
22
|
+
screenshooter: OneTimeScreenshooter;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/worker/runner/test-runner/types.ts"],"names":[],"mappings":""}
|