craftdriver 1.3.0 → 1.4.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/CHANGELOG.md +7 -0
- package/README.md +1 -0
- package/dist/cli/dispatcher.js +1 -1
- package/dist/cli/dispatcher.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/browser.d.ts +147 -21
- package/dist/lib/browser.d.ts.map +1 -1
- package/dist/lib/browser.js +380 -139
- package/dist/lib/browser.js.map +1 -1
- package/dist/lib/capabilities.d.ts +35 -0
- package/dist/lib/capabilities.d.ts.map +1 -0
- package/dist/lib/capabilities.js +58 -0
- package/dist/lib/capabilities.js.map +1 -0
- package/dist/lib/chrome.d.ts +7 -2
- package/dist/lib/chrome.d.ts.map +1 -1
- package/dist/lib/chrome.js +10 -1
- package/dist/lib/chrome.js.map +1 -1
- package/dist/lib/driverManager.d.ts +92 -0
- package/dist/lib/driverManager.d.ts.map +1 -1
- package/dist/lib/driverManager.js +229 -10
- package/dist/lib/driverManager.js.map +1 -1
- package/dist/lib/electron.d.ts +60 -0
- package/dist/lib/electron.d.ts.map +1 -0
- package/dist/lib/electron.js +85 -0
- package/dist/lib/electron.js.map +1 -0
- package/dist/lib/electronDeeplink.d.ts +22 -0
- package/dist/lib/electronDeeplink.d.ts.map +1 -0
- package/dist/lib/electronDeeplink.js +118 -0
- package/dist/lib/electronDeeplink.js.map +1 -0
- package/dist/lib/electronDiagnostics.d.ts +49 -0
- package/dist/lib/electronDiagnostics.d.ts.map +1 -0
- package/dist/lib/electronDiagnostics.js +195 -0
- package/dist/lib/electronDiagnostics.js.map +1 -0
- package/dist/lib/electronDialogMock.d.ts +51 -0
- package/dist/lib/electronDialogMock.d.ts.map +1 -0
- package/dist/lib/electronDialogMock.js +106 -0
- package/dist/lib/electronDialogMock.js.map +1 -0
- package/dist/lib/electronFuses.d.ts +13 -0
- package/dist/lib/electronFuses.d.ts.map +1 -0
- package/dist/lib/electronFuses.js +118 -0
- package/dist/lib/electronFuses.js.map +1 -0
- package/dist/lib/electronMainBridge.d.ts +28 -0
- package/dist/lib/electronMainBridge.d.ts.map +1 -0
- package/dist/lib/electronMainBridge.js +270 -0
- package/dist/lib/electronMainBridge.js.map +1 -0
- package/dist/lib/electronMainLogs.d.ts +81 -0
- package/dist/lib/electronMainLogs.d.ts.map +1 -0
- package/dist/lib/electronMainLogs.js +176 -0
- package/dist/lib/electronMainLogs.js.map +1 -0
- package/dist/lib/electronMock.d.ts +52 -0
- package/dist/lib/electronMock.d.ts.map +1 -0
- package/dist/lib/electronMock.js +96 -0
- package/dist/lib/electronMock.js.map +1 -0
- package/dist/lib/electronRemote.d.ts +106 -0
- package/dist/lib/electronRemote.d.ts.map +1 -0
- package/dist/lib/electronRemote.js +406 -0
- package/dist/lib/electronRemote.js.map +1 -0
- package/dist/lib/electronVersions.d.ts +34 -0
- package/dist/lib/electronVersions.d.ts.map +1 -0
- package/dist/lib/electronVersions.js +90 -0
- package/dist/lib/electronVersions.js.map +1 -0
- package/dist/lib/errors.d.ts +27 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +27 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/launchTarget.d.ts +30 -0
- package/dist/lib/launchTarget.d.ts.map +1 -0
- package/dist/lib/launchTarget.js +112 -0
- package/dist/lib/launchTarget.js.map +1 -0
- package/dist/lib/page.d.ts +1 -0
- package/dist/lib/page.d.ts.map +1 -1
- package/dist/lib/page.js +1 -1
- package/dist/lib/page.js.map +1 -1
- package/dist/lib/service.d.ts +21 -0
- package/dist/lib/service.d.ts.map +1 -1
- package/dist/lib/service.js +94 -6
- package/dist/lib/service.js.map +1 -1
- package/docs/api-reference.md +37 -2
- package/docs/browser-api.md +7 -1
- package/docs/electron.md +419 -0
- package/docs/error-codes.md +5 -0
- package/docs/index.md +4 -0
- package/docs/recipes/electron-app-from-another-repo.md +136 -0
- package/docs/recipes/electron-deep-link.md +117 -0
- package/docs/recipes/electron-mock-apis.md +88 -0
- package/docs/recipes/electron-native-dialog.md +105 -0
- package/docs/recipes.md +28 -9
- package/package.json +5 -1
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,+DAA+D;IAC/D,QAAQ,EAAE,UAAU;IACpB,yEAAyE;IACzE,uBAAuB,EAAE,yBAAyB;IAClD,wGAAwG;IACxG,qBAAqB,EAAE,uBAAuB;IAC9C,kEAAkE;IAClE,oBAAoB,EAAE,sBAAsB;IAC5C,0EAA0E;IAC1E,uBAAuB,EAAE,yBAAyB;IAClD,kEAAkE;IAClE,sBAAsB,EAAE,wBAAwB;IAChD,2DAA2D;IAC3D,OAAO,EAAE,SAAS;IAClB,4DAA4D;IAC5D,eAAe,EAAE,iBAAiB;IAClC,2DAA2D;IAC3D,eAAe,EAAE,iBAAiB;IAClC,iDAAiD;IACjD,UAAU,EAAE,YAAY;IACxB,iFAAiF;IACjF,YAAY,EAAE,cAAc;IAC5B,6EAA6E;IAC7E,gBAAgB,EAAE,kBAAkB;IACpC,uGAAuG;IACvG,WAAW,EAAE,aAAa;IAC1B,kFAAkF;IAClF,aAAa,EAAE,eAAe;IAC9B,qEAAqE;IACrE,YAAY,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type SupportedBrowserName = 'chrome' | 'chromium' | 'firefox';
|
|
2
|
+
export interface BrowserLaunchTarget {
|
|
3
|
+
kind: 'browser';
|
|
4
|
+
browserName: SupportedBrowserName;
|
|
5
|
+
bidiRequested: boolean;
|
|
6
|
+
args?: string[];
|
|
7
|
+
browserPath?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ElectronLaunchTarget {
|
|
10
|
+
kind: 'electron';
|
|
11
|
+
browserName: 'chrome';
|
|
12
|
+
bidiRequested: boolean;
|
|
13
|
+
appBinaryPath: string;
|
|
14
|
+
chromedriverPath?: string;
|
|
15
|
+
version?: string;
|
|
16
|
+
/** Opt in to main-process access (`browser.electron.executeMain`) via `--inspect`. */
|
|
17
|
+
mainProcess?: boolean;
|
|
18
|
+
args?: string[];
|
|
19
|
+
}
|
|
20
|
+
export type LaunchTarget = BrowserLaunchTarget | ElectronLaunchTarget;
|
|
21
|
+
/**
|
|
22
|
+
* Normalize and validate the mutually-exclusive browser/Electron launch
|
|
23
|
+
* surfaces before any filesystem I/O or driver process is started.
|
|
24
|
+
*
|
|
25
|
+
* This function deliberately accepts an untyped record: `Browser.launch` is a
|
|
26
|
+
* JavaScript API and is also reached by JSON-driven integrations, so runtime
|
|
27
|
+
* validation must not depend on TypeScript having checked the caller.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveLaunchTarget(options: Record<string, unknown>): LaunchTarget;
|
|
30
|
+
//# sourceMappingURL=launchTarget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launchTarget.d.ts","sourceRoot":"","sources":["../../src/lib/launchTarget.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,oBAAoB,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,QAAQ,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAsBtE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CA+GlF"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
function hasValue(options, key) {
|
|
2
|
+
return Object.prototype.hasOwnProperty.call(options, key) && options[key] !== undefined;
|
|
3
|
+
}
|
|
4
|
+
function optionalString(value, optionName) {
|
|
5
|
+
if (value === undefined)
|
|
6
|
+
return undefined;
|
|
7
|
+
if (typeof value !== 'string' || value.trim() === '') {
|
|
8
|
+
throw new Error(`${optionName} must be a non-empty string.`);
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
function optionalStringArray(value, optionName) {
|
|
13
|
+
if (value === undefined)
|
|
14
|
+
return undefined;
|
|
15
|
+
if (!Array.isArray(value) || value.some((item) => typeof item !== 'string')) {
|
|
16
|
+
throw new Error(`${optionName} must be an array of strings.`);
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Normalize and validate the mutually-exclusive browser/Electron launch
|
|
22
|
+
* surfaces before any filesystem I/O or driver process is started.
|
|
23
|
+
*
|
|
24
|
+
* This function deliberately accepts an untyped record: `Browser.launch` is a
|
|
25
|
+
* JavaScript API and is also reached by JSON-driven integrations, so runtime
|
|
26
|
+
* validation must not depend on TypeScript having checked the caller.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveLaunchTarget(options) {
|
|
29
|
+
const enableBiDi = options.enableBiDi;
|
|
30
|
+
if (enableBiDi !== undefined && typeof enableBiDi !== 'boolean') {
|
|
31
|
+
throw new Error('enableBiDi must be a boolean.');
|
|
32
|
+
}
|
|
33
|
+
const electronWasProvided = Object.prototype.hasOwnProperty.call(options, 'electron') &&
|
|
34
|
+
options.electron !== undefined;
|
|
35
|
+
if (!electronWasProvided) {
|
|
36
|
+
if (hasValue(options, 'electronService')) {
|
|
37
|
+
throw new Error('electronService requires the electron launch option.');
|
|
38
|
+
}
|
|
39
|
+
const requestedName = options.browserName ?? 'chrome';
|
|
40
|
+
if (requestedName !== 'chrome' && requestedName !== 'chromium' && requestedName !== 'firefox') {
|
|
41
|
+
throw new Error(`Unsupported browser "${String(requestedName)}". Supported: chrome, chromium, firefox.`);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
kind: 'browser',
|
|
45
|
+
browserName: requestedName,
|
|
46
|
+
bidiRequested: enableBiDi !== false,
|
|
47
|
+
args: optionalStringArray(options.args, 'args'),
|
|
48
|
+
browserPath: optionalString(options.browserPath, 'browserPath'),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const electron = options.electron;
|
|
52
|
+
if (!electron || typeof electron !== 'object' || Array.isArray(electron)) {
|
|
53
|
+
throw new Error('electron must be an object containing appBinaryPath.');
|
|
54
|
+
}
|
|
55
|
+
const electronOptions = electron;
|
|
56
|
+
const supportedElectronKeys = new Set([
|
|
57
|
+
'appBinaryPath', 'chromedriverPath', 'version', 'mainProcess', 'args',
|
|
58
|
+
]);
|
|
59
|
+
const unknownElectronKey = Object.keys(electronOptions)
|
|
60
|
+
.find((key) => !supportedElectronKeys.has(key));
|
|
61
|
+
if (unknownElectronKey) {
|
|
62
|
+
throw new Error(`Unsupported electron option "${unknownElectronKey}". ` +
|
|
63
|
+
'Supported: appBinaryPath, chromedriverPath, version, mainProcess, args.');
|
|
64
|
+
}
|
|
65
|
+
const mainProcess = electronOptions.mainProcess;
|
|
66
|
+
if (mainProcess !== undefined && typeof mainProcess !== 'boolean') {
|
|
67
|
+
throw new Error('electron.mainProcess must be a boolean.');
|
|
68
|
+
}
|
|
69
|
+
const conflicts = [
|
|
70
|
+
['browserName', 'electron selects its own Chromium target; omit browserName'],
|
|
71
|
+
['chromeService', 'use electronService for an Electron-specific driver service'],
|
|
72
|
+
['firefoxService', 'Firefox services cannot drive Electron'],
|
|
73
|
+
['mobileEmulation', 'mobile emulation does not model a desktop Electron shell'],
|
|
74
|
+
['args', 'put application/Electron/Chromium arguments in electron.args'],
|
|
75
|
+
['browserPath', 'electron.appBinaryPath is the executable path'],
|
|
76
|
+
];
|
|
77
|
+
for (const [key, guidance] of conflicts) {
|
|
78
|
+
if (hasValue(options, key)) {
|
|
79
|
+
throw new Error(`electron cannot be combined with ${key}; ${guidance}.`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const appBinaryPath = optionalString(electronOptions.appBinaryPath, 'electron.appBinaryPath');
|
|
83
|
+
if (!appBinaryPath) {
|
|
84
|
+
throw new Error('electron.appBinaryPath is required.');
|
|
85
|
+
}
|
|
86
|
+
const chromedriverPath = optionalString(electronOptions.chromedriverPath, 'electron.chromedriverPath');
|
|
87
|
+
if (chromedriverPath && hasValue(options, 'electronService')) {
|
|
88
|
+
throw new Error('electron.chromedriverPath cannot be combined with electronService; configure the path on ElectronService instead.');
|
|
89
|
+
}
|
|
90
|
+
const version = optionalString(electronOptions.version, 'electron.version');
|
|
91
|
+
// version and chromedriverPath are two different driver sources; letting
|
|
92
|
+
// chromedriverPath silently win would ignore the version the user asked for.
|
|
93
|
+
if (version && chromedriverPath) {
|
|
94
|
+
throw new Error('electron.version cannot be combined with electron.chromedriverPath; choose one driver source.');
|
|
95
|
+
}
|
|
96
|
+
// A caller-supplied ElectronService owns its own driver config — mirror the
|
|
97
|
+
// chromedriverPath rule so the version isn't quietly dropped.
|
|
98
|
+
if (version && hasValue(options, 'electronService')) {
|
|
99
|
+
throw new Error('electron.version cannot be combined with electronService; configure version on ElectronService instead.');
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
kind: 'electron',
|
|
103
|
+
browserName: 'chrome',
|
|
104
|
+
bidiRequested: enableBiDi === true,
|
|
105
|
+
appBinaryPath,
|
|
106
|
+
chromedriverPath,
|
|
107
|
+
version,
|
|
108
|
+
mainProcess: mainProcess === true,
|
|
109
|
+
args: optionalStringArray(electronOptions.args, 'electron.args'),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=launchTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launchTarget.js","sourceRoot":"","sources":["../../src/lib/launchTarget.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/page.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ import type { ExpectApi } from './expect.js';
|
|
|
16
16
|
import type { BiDiConnection } from './bidi/connection.js';
|
|
17
17
|
import type { BrowserContext } from './browserContext.js';
|
|
18
18
|
type LoadState = 'load' | 'domcontentloaded' | 'networkidle' | 'none';
|
|
19
|
+
export declare function isNoSuchWindowError(err: unknown): boolean;
|
|
19
20
|
export declare class Page {
|
|
20
21
|
private driver;
|
|
21
22
|
private getDefaultTimeout;
|
package/dist/lib/page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/lib/page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,KAAK,SAAS,GAAG,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../src/lib/page.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/page.js
CHANGED
|
@@ -18,7 +18,7 @@ import { DEFAULT_NAVIGATION_TIMEOUT_MS, STATE_POLL_INTERVAL_MS } from './timing.
|
|
|
18
18
|
import { CraftdriverError, ErrorCode } from './errors.js';
|
|
19
19
|
import { clickWithFastPath } from './clickFastPath.js';
|
|
20
20
|
import { fillWithFastPath } from './fillFastPath.js';
|
|
21
|
-
function isNoSuchWindowError(err) {
|
|
21
|
+
export function isNoSuchWindowError(err) {
|
|
22
22
|
if (!CraftdriverError.is(err, ErrorCode.DRIVER_ERROR))
|
|
23
23
|
return false;
|
|
24
24
|
return err.detail?.webDriverError === 'no such window' || err.message.includes('no such window');
|
package/dist/lib/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/lib/page.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/lib/page.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/service.d.ts
CHANGED
|
@@ -10,9 +10,14 @@ export interface DriverServiceOptions {
|
|
|
10
10
|
readinessPath?: string;
|
|
11
11
|
readinessTimeoutMs?: number;
|
|
12
12
|
}
|
|
13
|
+
export declare function findFreePort(): Promise<number>;
|
|
13
14
|
export declare class DriverService {
|
|
14
15
|
protected proc?: ChildProcess;
|
|
15
16
|
protected endpoint: WebDriverEndpoint;
|
|
17
|
+
private stdoutTail;
|
|
18
|
+
private stderrTail;
|
|
19
|
+
private startupFailure?;
|
|
20
|
+
private ready;
|
|
16
21
|
protected readonly opts: Required<Omit<DriverServiceOptions, 'env' | 'port'>> & {
|
|
17
22
|
env?: NodeJS.ProcessEnv;
|
|
18
23
|
port?: number;
|
|
@@ -20,8 +25,24 @@ export declare class DriverService {
|
|
|
20
25
|
constructor(options: DriverServiceOptions);
|
|
21
26
|
getEndpoint(): WebDriverEndpoint;
|
|
22
27
|
getCommand(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the bounded tail of driver stdout/stderr captured since the latest
|
|
30
|
+
* start attempt. This is primarily useful when attaching startup diagnostics
|
|
31
|
+
* to test-runner artifacts.
|
|
32
|
+
*/
|
|
33
|
+
getOutputTail(): string;
|
|
23
34
|
start(): Promise<void>;
|
|
24
35
|
stop(): Promise<void>;
|
|
36
|
+
/** Build the driver CLI arguments. Overridable by process-fixture tests. */
|
|
37
|
+
protected buildCommandArgs(port: number): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Environment for the spawned driver process. Overridable so a subclass can
|
|
40
|
+
* scrub variables that would break the target it launches (see
|
|
41
|
+
* {@link ElectronService}, which drops `ELECTRON_RUN_AS_NODE`).
|
|
42
|
+
*/
|
|
43
|
+
protected computeSpawnEnv(): NodeJS.ProcessEnv;
|
|
44
|
+
private appendOutput;
|
|
45
|
+
private startupError;
|
|
25
46
|
protected ensureBinaryAvailable(): Promise<void>;
|
|
26
47
|
protected waitUntilReady(): Promise<void>;
|
|
27
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAY/C,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAWpD;AAED,qBAAa,aAAa;IACxB,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC9B,SAAS,CAAC,QAAQ,EAAG,iBAAiB,CAAC;IACvC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,KAAK,CAAS;IACtB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG;QAC9E,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;gBAEU,OAAO,EAAE,oBAAoB;IAazC,WAAW,IAAI,iBAAiB;IAIhC,UAAU,IAAI,MAAM;IAIpB;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAOjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,4EAA4E;IAC5E,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAIlD;;;;OAIG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU;IAI9C,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,YAAY;cAMJ,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;cA+BtC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAuBhD"}
|
package/dist/lib/service.js
CHANGED
|
@@ -4,7 +4,10 @@ import net from 'net';
|
|
|
4
4
|
import fs from 'fs';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import { DRIVER_READINESS_TIMEOUT_MS, DRIVER_READINESS_POLL_INTERVAL_MS } from './timing.js';
|
|
7
|
-
|
|
7
|
+
const DRIVER_OUTPUT_TAIL_BYTES = 64 * 1024;
|
|
8
|
+
const DRIVER_OUTPUT_LABEL_BYTES = Buffer.byteLength('[stdout]\n\n[stderr]\n', 'utf8');
|
|
9
|
+
const DRIVER_OUTPUT_TAIL_BYTES_PER_STREAM = Math.floor((DRIVER_OUTPUT_TAIL_BYTES - DRIVER_OUTPUT_LABEL_BYTES) / 2);
|
|
10
|
+
export async function findFreePort() {
|
|
8
11
|
return new Promise((resolve, reject) => {
|
|
9
12
|
const server = net.createServer();
|
|
10
13
|
server.unref();
|
|
@@ -19,6 +22,10 @@ async function findFreePort() {
|
|
|
19
22
|
export class DriverService {
|
|
20
23
|
proc;
|
|
21
24
|
endpoint;
|
|
25
|
+
stdoutTail = '';
|
|
26
|
+
stderrTail = '';
|
|
27
|
+
startupFailure;
|
|
28
|
+
ready = false;
|
|
22
29
|
opts;
|
|
23
30
|
constructor(options) {
|
|
24
31
|
this.opts = {
|
|
@@ -38,10 +45,27 @@ export class DriverService {
|
|
|
38
45
|
getCommand() {
|
|
39
46
|
return this.opts.command;
|
|
40
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Returns the bounded tail of driver stdout/stderr captured since the latest
|
|
50
|
+
* start attempt. This is primarily useful when attaching startup diagnostics
|
|
51
|
+
* to test-runner artifacts.
|
|
52
|
+
*/
|
|
53
|
+
getOutputTail() {
|
|
54
|
+
const parts = [];
|
|
55
|
+
if (this.stdoutTail)
|
|
56
|
+
parts.push(`[stdout]\n${this.stdoutTail}`);
|
|
57
|
+
if (this.stderrTail)
|
|
58
|
+
parts.push(`[stderr]\n${this.stderrTail}`);
|
|
59
|
+
return parts.join('\n');
|
|
60
|
+
}
|
|
41
61
|
async start() {
|
|
42
62
|
if (this.proc)
|
|
43
63
|
return; // already started
|
|
44
64
|
await this.ensureBinaryAvailable();
|
|
65
|
+
this.stdoutTail = '';
|
|
66
|
+
this.stderrTail = '';
|
|
67
|
+
this.startupFailure = undefined;
|
|
68
|
+
this.ready = false;
|
|
45
69
|
// Assign a free port if not specified
|
|
46
70
|
const port = this.opts.port ?? await findFreePort();
|
|
47
71
|
this.endpoint = {
|
|
@@ -50,20 +74,80 @@ export class DriverService {
|
|
|
50
74
|
port,
|
|
51
75
|
path: this.opts.pathBase,
|
|
52
76
|
};
|
|
53
|
-
this.proc = spawn(this.opts.command,
|
|
54
|
-
env:
|
|
77
|
+
this.proc = spawn(this.opts.command, this.buildCommandArgs(port), {
|
|
78
|
+
env: this.computeSpawnEnv(),
|
|
55
79
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
56
80
|
});
|
|
57
|
-
//
|
|
58
|
-
|
|
81
|
+
// Always drain both pipes. Leaving either unread can block a sufficiently
|
|
82
|
+
// noisy driver before it reaches the readiness endpoint.
|
|
83
|
+
this.proc.stdout?.on('data', (chunk) => {
|
|
84
|
+
this.appendOutput('stdout', chunk);
|
|
85
|
+
});
|
|
86
|
+
this.proc.stderr?.on('data', (chunk) => {
|
|
87
|
+
this.appendOutput('stderr', chunk);
|
|
88
|
+
});
|
|
89
|
+
this.proc.once('error', (error) => {
|
|
90
|
+
if (!this.ready)
|
|
91
|
+
this.startupFailure = error;
|
|
92
|
+
});
|
|
93
|
+
// `close` follows `exit` only after stdio has closed, so the error includes
|
|
94
|
+
// every final stdout/stderr chunk rather than racing the pipe readers.
|
|
95
|
+
this.proc.once('close', (code, signal) => {
|
|
96
|
+
if (!this.ready) {
|
|
97
|
+
const result = signal ? `signal ${signal}` : `code ${String(code)}`;
|
|
98
|
+
this.startupFailure = new Error(`Driver process exited before it was ready (${result}).`);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
try {
|
|
102
|
+
await this.waitUntilReady();
|
|
103
|
+
this.ready = true;
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
await this.stop();
|
|
107
|
+
throw error;
|
|
108
|
+
}
|
|
59
109
|
}
|
|
60
110
|
async stop() {
|
|
61
111
|
if (!this.proc)
|
|
62
112
|
return;
|
|
63
113
|
const p = this.proc;
|
|
64
114
|
this.proc = undefined;
|
|
115
|
+
this.ready = false;
|
|
65
116
|
p.kill();
|
|
66
117
|
}
|
|
118
|
+
/** Build the driver CLI arguments. Overridable by process-fixture tests. */
|
|
119
|
+
buildCommandArgs(port) {
|
|
120
|
+
return [`--port=${port}`, ...this.opts.args];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Environment for the spawned driver process. Overridable so a subclass can
|
|
124
|
+
* scrub variables that would break the target it launches (see
|
|
125
|
+
* {@link ElectronService}, which drops `ELECTRON_RUN_AS_NODE`).
|
|
126
|
+
*/
|
|
127
|
+
computeSpawnEnv() {
|
|
128
|
+
return { ...process.env, ...this.opts.env };
|
|
129
|
+
}
|
|
130
|
+
appendOutput(source, chunk) {
|
|
131
|
+
let tail = (source === 'stdout' ? this.stdoutTail : this.stderrTail) + String(chunk);
|
|
132
|
+
if (Buffer.byteLength(tail, 'utf8') > DRIVER_OUTPUT_TAIL_BYTES_PER_STREAM) {
|
|
133
|
+
// Slice by characters first, then trim any remaining multibyte excess.
|
|
134
|
+
// Driver logs are overwhelmingly ASCII, while this keeps the common path
|
|
135
|
+
// cheap and guarantees a hard upper bound after the second pass.
|
|
136
|
+
tail = tail.slice(-DRIVER_OUTPUT_TAIL_BYTES_PER_STREAM);
|
|
137
|
+
while (Buffer.byteLength(tail, 'utf8') > DRIVER_OUTPUT_TAIL_BYTES_PER_STREAM) {
|
|
138
|
+
tail = tail.slice(1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (source === 'stdout')
|
|
142
|
+
this.stdoutTail = tail;
|
|
143
|
+
else
|
|
144
|
+
this.stderrTail = tail;
|
|
145
|
+
}
|
|
146
|
+
startupError(error) {
|
|
147
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
148
|
+
const output = this.getOutputTail().trim();
|
|
149
|
+
return new Error(output ? `${message}\nDriver output (tail):\n${output}` : message);
|
|
150
|
+
}
|
|
67
151
|
async ensureBinaryAvailable() {
|
|
68
152
|
// When the command is an absolute path that exists, the driver resolver
|
|
69
153
|
// (resolveChromeDriver / resolveFirefoxDriver) has already located and
|
|
@@ -99,6 +183,8 @@ export class DriverService {
|
|
|
99
183
|
const deadline = Date.now() + this.opts.readinessTimeoutMs;
|
|
100
184
|
let lastErr;
|
|
101
185
|
while (Date.now() < deadline) {
|
|
186
|
+
if (this.startupFailure)
|
|
187
|
+
throw this.startupError(this.startupFailure);
|
|
102
188
|
try {
|
|
103
189
|
const res = await client.send({ method: 'GET', path: this.opts.readinessPath });
|
|
104
190
|
// chromedriver responds with { value: { ready: true, message: '...' } } or similar
|
|
@@ -113,7 +199,9 @@ export class DriverService {
|
|
|
113
199
|
// notice". These are cheap localhost GETs.
|
|
114
200
|
await new Promise((r) => setTimeout(r, DRIVER_READINESS_POLL_INTERVAL_MS));
|
|
115
201
|
}
|
|
116
|
-
|
|
202
|
+
if (this.startupFailure)
|
|
203
|
+
throw this.startupError(this.startupFailure);
|
|
204
|
+
throw this.startupError(`Driver service not ready at ${this.endpoint.hostname}:${this.endpoint.port} - ${String(lastErr)}`);
|
|
117
205
|
}
|
|
118
206
|
}
|
|
119
207
|
//# sourceMappingURL=service.js.map
|
package/dist/lib/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/lib/service.ts"],"names":[],"mappings":"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"}
|
package/docs/api-reference.md
CHANGED
|
@@ -14,7 +14,7 @@ Launch browsers, move between pages and frames, handle dialogs, and wait for nav
|
|
|
14
14
|
| Symbol | Kind | Summary | Docs |
|
|
15
15
|
|---|---|---|---|
|
|
16
16
|
| `Browser` | class | — | [browser-api](browser-api.md) |
|
|
17
|
-
| `LaunchOptions` | type |
|
|
17
|
+
| `LaunchOptions` | type | Mutually-exclusive browser and Electron renderer launch configurations. | [browser-api](browser-api.md) |
|
|
18
18
|
| `LoadState` | type | When to consider a navigation complete. - `'load'` — page `load` event has fired (default) - `'domcontentloaded'` — `DOMContentLoaded` has fired (faster, no waiting for images/fonts) - `'networkidle'` — `load` + no in-flight requests for 500 ms - `'none'` — do not wait; return as soon as the navigation is initiated | [browser-api](browser-api.md) |
|
|
19
19
|
| `Page` | class | — | [browser-api](browser-api.md) |
|
|
20
20
|
| `Frame` | class | — | [browser-api](browser-api.md) |
|
|
@@ -101,6 +101,29 @@ Configure devices, emulation overrides, and deterministic browser time.
|
|
|
101
101
|
| `ClockInstallOptions` | type | Options for {@link Clock.install}. | [clock](clock.md) |
|
|
102
102
|
| `ClockTime` | type | Accepted forms for a point in time. | [clock](clock.md) |
|
|
103
103
|
|
|
104
|
+
## Electron Automation
|
|
105
|
+
|
|
106
|
+
Launch packaged Electron applications, drive their renderer, and opt in to main-process testing.
|
|
107
|
+
|
|
108
|
+
| Symbol | Kind | Summary | Docs |
|
|
109
|
+
|---|---|---|---|
|
|
110
|
+
| `ElectronLaunchOptions` | type | Options for driving an Electron application (see `LaunchOptions.electron`). | [electron](electron.md) |
|
|
111
|
+
| `ElectronService` | class | Driver service for automating an Electron application renderer. It uses the chromedriver protocol like ChromeService, but resolves the driver only from Electron-specific configuration, never from system Chrome. | [electron](electron.md) |
|
|
112
|
+
| `ElectronServiceOptions` | type | Driver-process configuration for {@link ElectronService}. | [electron](electron.md) |
|
|
113
|
+
| `ElectronRemote` | class | Run code in the Electron main process via `browser.electron.executeMain`. Named `executeMain` (not WDIO's `execute`) so the process boundary is loud: `browser.evaluate()` is the renderer, `executeMain()` the main process. | [electron](electron.md) |
|
|
114
|
+
| `MainProcessCallback` | type | A function evaluated in the Electron main process; receives the `electron` module. | [electron](electron.md) |
|
|
115
|
+
| `ElectronDialogMock` | type | A native-dialog replacement returned by `browser.electron.mockDialog()`. | [electron](electron.md) |
|
|
116
|
+
| `ElectronDialogMethod` | type | — | [electron](electron.md) |
|
|
117
|
+
| `ElectronDialogCall` | type | One native-dialog invocation. `options` excludes the optional parent window. | [electron](electron.md) |
|
|
118
|
+
| `ElectronDialogResult` | type | — | [electron](electron.md) |
|
|
119
|
+
| `ElectronOpenDialogResult` | type | Scripted result for Electron's asynchronous `dialog.showOpenDialog()`. | [electron](electron.md) |
|
|
120
|
+
| `ElectronSaveDialogResult` | type | Scripted result for Electron's asynchronous `dialog.showSaveDialog()`. | [electron](electron.md) |
|
|
121
|
+
| `ElectronMessageBoxResult` | type | Scripted result for Electron's asynchronous `dialog.showMessageBox()`. | [electron](electron.md) |
|
|
122
|
+
| `ElectronMainLogMonitor` | class | Buffers and dispatches main-process log entries. Reachable via `browser.electron.mainLogs`; its public surface mirrors the renderer {@link LogMonitor } so console monitoring reads the same in both processes. | [electron](electron.md) |
|
|
123
|
+
| `ElectronMainLog` | type | — | [electron](electron.md) |
|
|
124
|
+
| `ElectronMainLogHandler` | type | — | [electron](electron.md) |
|
|
125
|
+
| `ElectronMainLogLevel` | type | Normalized level for a main-process log entry. | [electron](electron.md) |
|
|
126
|
+
|
|
104
127
|
## Accessibility
|
|
105
128
|
|
|
106
129
|
Run axe-core accessibility checks and inspect violation details.
|
|
@@ -131,4 +154,16 @@ Handle stable CraftDriver errors or customize browser driver services.
|
|
|
131
154
|
| `FirefoxService` | class | — | [getting-started](getting-started.md) |
|
|
132
155
|
| `FirefoxServiceOptions` | type | — | [getting-started](getting-started.md) |
|
|
133
156
|
|
|
134
|
-
|
|
157
|
+
## Other Exports
|
|
158
|
+
|
|
159
|
+
Exports that are public but not yet assigned to a feature group.
|
|
160
|
+
|
|
161
|
+
| Symbol | Kind | Summary | Docs |
|
|
162
|
+
|---|---|---|---|
|
|
163
|
+
| `ElectronMainConnectInfo` | type | — | [electron](electron.md) |
|
|
164
|
+
| `ElectronMock` | type | A replacement for a single `electron.<api>.<fn>` main-process method, returned by `browser.electron.mock()`. Records every call, returns a scripted value, and restores the original method on `restore()` or `browser.quit()`. | — |
|
|
165
|
+
| `ElectronMockCall` | type | One recorded invocation of a mocked Electron main-process method. | — |
|
|
166
|
+
| `ElectronRemoteOptions` | type | Extra context ElectronRemote needs beyond the inspector endpoint. | [electron](electron.md) |
|
|
167
|
+
| `PageMatcher` | type | Selects a top-level page by `url` and/or `title` for {@link Browser.waitForPage}. A string matches as a substring; a `RegExp` is tested. When both fields are given, both must match. | [browser-api](browser-api.md) |
|
|
168
|
+
|
|
169
|
+
Total exports: **82**.
|
package/docs/browser-api.md
CHANGED
|
@@ -28,11 +28,17 @@ const browser = await Browser.launch({
|
|
|
28
28
|
| Option | Type | Default | Description |
|
|
29
29
|
|--------|------|---------|-------------|
|
|
30
30
|
| `browserName` | `'chrome' \| 'chromium' \| 'firefox'` | `'chrome'` | Browser to launch |
|
|
31
|
-
| `enableBiDi` | `boolean` | `true` | Use WebDriver BiDi.
|
|
31
|
+
| `enableBiDi` | `boolean` | browsers: `true`; Electron: `false` | Use WebDriver BiDi. Electron requires an explicit opt-in because negotiation resets its initial renderer to `about:blank`. |
|
|
32
32
|
| `storageState` | `string` | — | Path to a session-state JSON file to load on startup |
|
|
33
33
|
| `mobileEmulation` | `MobileEmulation \| DeviceName` | — | Mobile device emulation settings (Chrome/Chromium only) |
|
|
34
34
|
| `downloadsDir` | `string` | temp dir | Directory where downloaded files are saved |
|
|
35
35
|
| `browserPath` | `string` | — | Custom browser binary to launch (Chrome/Chromium/Firefox) — see [Driver Configuration → Browser Binary Configuration](./driver-configuration.md#browser-binary-configuration) |
|
|
36
|
+
| `electron` | `ElectronLaunchOptions` | — | Launch a packaged Electron application renderer instead of a browser. Mutually exclusive with browser-only options; see [Testing Electron Apps](./electron.md). |
|
|
37
|
+
| `electronService` | `ElectronService` | automatic | Customize the Electron-specific chromedriver service. Valid only with `electron`. |
|
|
38
|
+
|
|
39
|
+
The TypeScript surface is a discriminated union: browser options and Electron
|
|
40
|
+
options cannot be mixed. The same validation runs at runtime for JavaScript and
|
|
41
|
+
JSON-driven callers.
|
|
36
42
|
|
|
37
43
|
## Navigation
|
|
38
44
|
|