appium-chromedriver 8.2.28 → 8.2.30
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 +21 -0
- package/build/lib/chromedriver.d.ts +88 -80
- package/build/lib/chromedriver.d.ts.map +1 -1
- package/build/lib/chromedriver.js +132 -625
- package/build/lib/chromedriver.js.map +1 -1
- package/build/lib/commands/binary.d.ts +28 -0
- package/build/lib/commands/binary.d.ts.map +1 -0
- package/build/lib/commands/binary.js +347 -0
- package/build/lib/commands/binary.js.map +1 -0
- package/build/lib/commands/process.d.ts +18 -0
- package/build/lib/commands/process.d.ts.map +1 -0
- package/build/lib/commands/process.js +118 -0
- package/build/lib/commands/process.js.map +1 -0
- package/build/lib/commands/session.d.ts +28 -0
- package/build/lib/commands/session.d.ts.map +1 -0
- package/build/lib/commands/session.js +137 -0
- package/build/lib/commands/session.js.map +1 -0
- package/build/lib/commands/types.d.ts +32 -0
- package/build/lib/commands/types.d.ts.map +1 -0
- package/build/lib/commands/types.js +3 -0
- package/build/lib/commands/types.js.map +1 -0
- package/build/lib/commands/version.d.ts +7 -0
- package/build/lib/commands/version.d.ts.map +1 -0
- package/build/lib/commands/version.js +121 -0
- package/build/lib/commands/version.js.map +1 -0
- package/build/lib/constants.d.ts +11 -0
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +12 -1
- package/build/lib/constants.js.map +1 -1
- package/build/lib/storage-client/chromelabs.d.ts.map +1 -1
- package/build/lib/storage-client/chromelabs.js.map +1 -1
- package/build/lib/storage-client/googleapis.js +1 -1
- package/build/lib/storage-client/googleapis.js.map +1 -1
- package/build/lib/storage-client/storage-client.d.ts.map +1 -1
- package/build/lib/storage-client/storage-client.js +5 -5
- package/build/lib/storage-client/storage-client.js.map +1 -1
- package/config/mapping.json +2 -0
- package/lib/chromedriver.ts +187 -740
- package/lib/commands/binary.ts +417 -0
- package/lib/commands/process.ts +114 -0
- package/lib/commands/session.ts +120 -0
- package/lib/commands/types.ts +32 -0
- package/lib/commands/version.ts +103 -0
- package/lib/constants.ts +13 -0
- package/lib/storage-client/chromelabs.ts +27 -27
- package/lib/storage-client/googleapis.ts +1 -1
- package/lib/storage-client/storage-client.ts +6 -6
- package/package.json +1 -1
- package/build/lib/protocol-helpers.d.ts +0 -21
- package/build/lib/protocol-helpers.d.ts.map +0 -1
- package/build/lib/protocol-helpers.js +0 -48
- package/build/lib/protocol-helpers.js.map +0 -1
- package/lib/protocol-helpers.ts +0 -51
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [8.2.30](https://github.com/appium/appium-chromedriver/compare/v8.2.29...v8.2.30) (2026-04-30)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* ChromeDriver Bump to v148.0.7778.97 ([#570](https://github.com/appium/appium-chromedriver/issues/570)) ([fc5dd88](https://github.com/appium/appium-chromedriver/commit/fc5dd8867e82830bb88e48b1ca12a568193a6998))
|
|
6
|
+
|
|
7
|
+
### Code Refactoring
|
|
8
|
+
|
|
9
|
+
* Make the `start` method more readable ([#567](https://github.com/appium/appium-chromedriver/issues/567)) ([1f619c6](https://github.com/appium/appium-chromedriver/commit/1f619c65f3b70c16178ce0e62d7c07f382526b6f))
|
|
10
|
+
* simplify getCompatibleChromedriver and getChromeVersionForAutodetection methods ([#569](https://github.com/appium/appium-chromedriver/issues/569)) ([2f12709](https://github.com/appium/appium-chromedriver/commit/2f127096b363741b13eda0a06eba1ca36b839828))
|
|
11
|
+
|
|
12
|
+
## [8.2.29](https://github.com/appium/appium-chromedriver/compare/v8.2.28...v8.2.29) (2026-04-24)
|
|
13
|
+
|
|
14
|
+
### Miscellaneous Chores
|
|
15
|
+
|
|
16
|
+
* ChromeDriver Bump to v148.0.7778.56 ([#568](https://github.com/appium/appium-chromedriver/issues/568)) ([84b1bb0](https://github.com/appium/appium-chromedriver/commit/84b1bb012ad16c99d40c8d3c2a971298b0fec9e8))
|
|
17
|
+
|
|
18
|
+
### Code Refactoring
|
|
19
|
+
|
|
20
|
+
* Decompose Chromedriver internals ([#565](https://github.com/appium/appium-chromedriver/issues/565)) ([209efa8](https://github.com/appium/appium-chromedriver/commit/209efa82b03d697fd1e81cc4e80238dde7f1de00))
|
|
21
|
+
|
|
1
22
|
## [8.2.28](https://github.com/appium/appium-chromedriver/compare/v8.2.27...v8.2.28) (2026-04-23)
|
|
2
23
|
|
|
3
24
|
### Miscellaneous Chores
|
|
@@ -1,114 +1,122 @@
|
|
|
1
1
|
import events from 'node:events';
|
|
2
|
-
import { JWProxy } from '@appium/base-driver';
|
|
2
|
+
import { JWProxy, PROTOCOLS } from '@appium/base-driver';
|
|
3
|
+
import { SubProcess, exec } from 'teen_process';
|
|
4
|
+
import { ChromedriverStorageClient } from './storage-client/storage-client';
|
|
5
|
+
import { CHROMEDRIVER_EVENTS, CHROMEDRIVER_STATES } from './constants';
|
|
6
|
+
import { type SessionCapabilities } from './commands/session';
|
|
7
|
+
import type { ADB } from 'appium-adb';
|
|
3
8
|
import type { HTTPMethod, HTTPBody } from '@appium/types';
|
|
4
9
|
import type { Request, Response } from 'express';
|
|
5
10
|
import type { ChromedriverOpts } from './types';
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
static readonly
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
type ChromedriverState = (typeof CHROMEDRIVER_STATES)[keyof typeof CHROMEDRIVER_STATES];
|
|
12
|
+
type ChromedriverEventMap = {
|
|
13
|
+
[CHROMEDRIVER_EVENTS.ERROR]: [Error];
|
|
14
|
+
[CHROMEDRIVER_EVENTS.CHANGED]: [{
|
|
15
|
+
state: ChromedriverState;
|
|
16
|
+
}];
|
|
17
|
+
};
|
|
18
|
+
export declare class Chromedriver extends events.EventEmitter<ChromedriverEventMap> {
|
|
19
|
+
static readonly EVENT_ERROR: "chromedriver_error";
|
|
20
|
+
static readonly EVENT_CHANGED: "stateChanged";
|
|
21
|
+
static readonly STATE_STOPPED: "stopped";
|
|
22
|
+
static readonly STATE_STARTING: "starting";
|
|
23
|
+
static readonly STATE_ONLINE: "online";
|
|
24
|
+
static readonly STATE_STOPPING: "stopping";
|
|
25
|
+
static readonly STATE_RESTARTING: "restarting";
|
|
26
|
+
readonly proxyPort: number;
|
|
27
|
+
readonly adb?: ADB;
|
|
28
|
+
readonly cmdArgs?: string[];
|
|
29
|
+
proc: SubProcess | null;
|
|
30
|
+
readonly useSystemExecutable: boolean;
|
|
31
|
+
chromedriver?: string;
|
|
32
|
+
readonly executableDir: string;
|
|
33
|
+
readonly mappingPath?: string;
|
|
34
|
+
bundleId?: string;
|
|
35
|
+
executableVerified: boolean;
|
|
27
36
|
state: string;
|
|
28
|
-
|
|
37
|
+
_execFunc: typeof exec;
|
|
29
38
|
jwproxy: JWProxy;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
readonly isCustomExecutableDir: boolean;
|
|
40
|
+
readonly verbose?: boolean;
|
|
41
|
+
readonly logPath?: string;
|
|
42
|
+
readonly disableBuildCheck: boolean;
|
|
43
|
+
readonly storageClient: ChromedriverStorageClient | null;
|
|
44
|
+
readonly details?: ChromedriverOpts['details'];
|
|
45
|
+
capabilities: SessionCapabilities;
|
|
46
|
+
_desiredProtocol: keyof typeof PROTOCOLS | null;
|
|
47
|
+
_driverVersion: string | null;
|
|
48
|
+
_onlineStatus: Record<string, any> | null;
|
|
49
|
+
private readonly _log;
|
|
50
|
+
private readonly proxyHost;
|
|
51
|
+
private buildChromedriverArgs;
|
|
52
|
+
private getDriversMapping;
|
|
53
|
+
private getChromedrivers;
|
|
54
|
+
private updateDriversMapping;
|
|
55
|
+
private getCompatibleChromedriver;
|
|
56
|
+
private initChromedriverPath;
|
|
57
|
+
private getChromeVersion;
|
|
58
|
+
private syncProtocol;
|
|
59
|
+
private waitForOnline;
|
|
60
|
+
private getStatus;
|
|
61
|
+
private killAll;
|
|
62
|
+
private changeState;
|
|
63
|
+
private startSession;
|
|
40
64
|
constructor(args?: ChromedriverOpts);
|
|
41
|
-
/**
|
|
42
|
-
* Gets the logger instance for this Chromedriver instance.
|
|
43
|
-
* @returns The logger instance.
|
|
44
|
-
*/
|
|
45
65
|
get log(): any;
|
|
46
|
-
/**
|
|
47
|
-
* Gets the version of the currently running Chromedriver.
|
|
48
|
-
* @returns The driver version string, or null if not yet determined.
|
|
49
|
-
*/
|
|
50
66
|
get driverVersion(): string | null;
|
|
51
67
|
/**
|
|
52
68
|
* Starts a new Chromedriver session with the given capabilities.
|
|
53
|
-
*
|
|
54
|
-
* @param
|
|
55
|
-
* @
|
|
56
|
-
* @
|
|
69
|
+
*
|
|
70
|
+
* @param caps - Capabilities passed to Chromedriver session creation.
|
|
71
|
+
* @param emitStartingState - Whether to emit the `starting` state transition.
|
|
72
|
+
* @returns Session capabilities returned by Chromedriver.
|
|
57
73
|
*/
|
|
58
74
|
start(caps: SessionCapabilities, emitStartingState?: boolean): Promise<SessionCapabilities>;
|
|
59
75
|
/**
|
|
60
|
-
* Gets
|
|
61
|
-
*
|
|
76
|
+
* Gets active Chromedriver session id if the driver is online.
|
|
77
|
+
*
|
|
78
|
+
* @returns The session id or `null` when driver is not online.
|
|
62
79
|
*/
|
|
63
80
|
sessionId(): string | null;
|
|
64
81
|
/**
|
|
65
|
-
* Restarts
|
|
66
|
-
*
|
|
67
|
-
* @returns
|
|
68
|
-
* @throws {Error} If the driver is not online or if restart fails.
|
|
82
|
+
* Restarts current Chromedriver session with previously stored capabilities.
|
|
83
|
+
*
|
|
84
|
+
* @returns Session capabilities returned by the restarted session.
|
|
69
85
|
*/
|
|
70
86
|
restart(): Promise<SessionCapabilities>;
|
|
71
87
|
/**
|
|
72
|
-
* Stops the Chromedriver session and
|
|
73
|
-
*
|
|
74
|
-
* @
|
|
88
|
+
* Stops the current Chromedriver session and underlying subprocess.
|
|
89
|
+
*
|
|
90
|
+
* @param emitStates - Whether to emit stopping/stopped state transitions.
|
|
75
91
|
*/
|
|
76
92
|
stop(emitStates?: boolean): Promise<void>;
|
|
77
93
|
/**
|
|
78
|
-
* Sends a command to the
|
|
79
|
-
*
|
|
80
|
-
* @param
|
|
81
|
-
* @param
|
|
82
|
-
* @
|
|
94
|
+
* Sends a direct command to Chromedriver through the JSONWP/W3C proxy.
|
|
95
|
+
*
|
|
96
|
+
* @param url - Chromedriver endpoint path.
|
|
97
|
+
* @param method - HTTP method used for the command.
|
|
98
|
+
* @param body - Optional request payload.
|
|
99
|
+
* @returns Command response payload.
|
|
83
100
|
*/
|
|
84
101
|
sendCommand(url: string, method: HTTPMethod, body?: HTTPBody): Promise<HTTPBody>;
|
|
85
102
|
/**
|
|
86
|
-
* Proxies an
|
|
87
|
-
*
|
|
88
|
-
* @param
|
|
89
|
-
* @
|
|
103
|
+
* Proxies an incoming Express request/response pair to Chromedriver.
|
|
104
|
+
*
|
|
105
|
+
* @param req - Incoming request object.
|
|
106
|
+
* @param res - Outgoing response object.
|
|
90
107
|
*/
|
|
91
108
|
proxyReq(req: Request, res: Response): Promise<void>;
|
|
92
109
|
/**
|
|
93
|
-
* Checks
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
* @returns A promise that resolves to true if webviews are working, false otherwise.
|
|
110
|
+
* Checks whether the active webview connection is currently responsive.
|
|
111
|
+
*
|
|
112
|
+
* @returns `true` if `/url` command succeeds, otherwise `false`.
|
|
97
113
|
*/
|
|
98
114
|
hasWorkingWebview(): Promise<boolean>;
|
|
99
|
-
private
|
|
100
|
-
private
|
|
101
|
-
private
|
|
102
|
-
private
|
|
103
|
-
private
|
|
104
|
-
private getCompatibleChromedriver;
|
|
105
|
-
private initChromedriverPath;
|
|
106
|
-
private syncProtocol;
|
|
107
|
-
private waitForOnline;
|
|
108
|
-
private getStatus;
|
|
109
|
-
private startSession;
|
|
110
|
-
private changeState;
|
|
111
|
-
private killAll;
|
|
115
|
+
private prepareCapabilitiesForSessionStart;
|
|
116
|
+
private attachChromedriverProcessListeners;
|
|
117
|
+
private launchChromedriverProcess;
|
|
118
|
+
private formatChromeVersionMismatchHint;
|
|
119
|
+
private handleChromedriverStartFailure;
|
|
112
120
|
}
|
|
113
121
|
export {};
|
|
114
122
|
//# sourceMappingURL=chromedriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAC,yBAAyB,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAUrE,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAe,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAM9C,KAAK,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AACxF,KAAK,oBAAoB,GAAG;IAC1B,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAC,CAAC,CAAC;CAC7D,CAAC;AAGF,qBAAa,YAAa,SAAQ,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC;IACzE,MAAM,CAAC,QAAQ,CAAC,WAAW,uBAA6B;IACxD,MAAM,CAAC,QAAQ,CAAC,aAAa,iBAA+B;IAC5D,MAAM,CAAC,QAAQ,CAAC,aAAa,YAA+B;IAC5D,MAAM,CAAC,QAAQ,CAAC,cAAc,aAAgC;IAC9D,MAAM,CAAC,QAAQ,CAAC,YAAY,WAA8B;IAC1D,MAAM,CAAC,QAAQ,CAAC,cAAc,aAAgC;IAC9D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,eAAkC;IAElE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC/C,YAAY,EAAE,mBAAmB,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,SAAS,GAAG,IAAI,CAAC;IAChD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,yBAAyB,CAA6B;IAC9D,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,YAAY,CAAgB;gBAExB,IAAI,GAAE,gBAAqB;IA0DvC,IAAI,GAAG,QAEN;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE,mBAAmB,EAAE,iBAAiB,UAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkB9F;;;;OAIG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAU7C;;;;OAIG;IACG,IAAI,CAAC,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB5C;;;;;;;OAOG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5F;;;;;OAKG;IACG,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAS3C,OAAO,CAAC,kCAAkC;IAU1C,OAAO,CAAC,kCAAkC;YAuC5B,yBAAyB;IAgBvC,OAAO,CAAC,+BAA+B;YAkBzB,8BAA8B;CAkB7C"}
|