appium-geckodriver 2.2.0 → 2.2.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/CHANGELOG.md +12 -0
- package/build/lib/commands/find.d.ts +10 -0
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +10 -1
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/driver.d.ts +4 -4
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +11 -11
- package/build/lib/driver.js.map +1 -1
- package/build/lib/gecko.d.ts.map +1 -1
- package/build/lib/gecko.js +11 -11
- package/build/lib/gecko.js.map +1 -1
- package/lib/commands/find.ts +10 -1
- package/lib/driver.ts +15 -14
- package/lib/gecko.ts +14 -14
- package/npm-shrinkwrap.json +165 -117
- package/package.json +4 -5
- package/build/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [2.2.2](https://github.com/appium/appium-geckodriver/compare/v2.2.1...v2.2.2) (2026-05-01)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* lint ([#159](https://github.com/appium/appium-geckodriver/issues/159)) ([92b7a12](https://github.com/appium/appium-geckodriver/commit/92b7a127b3729cc45e034ce0a08025039e444219))
|
|
6
|
+
|
|
7
|
+
## [2.2.1](https://github.com/appium/appium-geckodriver/compare/v2.2.0...v2.2.1) (2026-04-10)
|
|
8
|
+
|
|
9
|
+
### Miscellaneous Chores
|
|
10
|
+
|
|
11
|
+
* **deps-dev:** bump typescript from 5.9.3 to 6.0.2 ([#158](https://github.com/appium/appium-geckodriver/issues/158)) ([bf9246c](https://github.com/appium/appium-geckodriver/commit/bf9246c584c6a477c07c779c75ed6a28affeab8e))
|
|
12
|
+
|
|
1
13
|
## [2.2.0](https://github.com/appium/appium-geckodriver/compare/v2.1.12...v2.2.0) (2026-03-17)
|
|
2
14
|
|
|
3
15
|
### Features
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import type { GeckoDriver } from '../driver';
|
|
2
|
+
/**
|
|
3
|
+
* Find element(s) by given strategy and selector. If context is provided, search will be performed within the context element.
|
|
4
|
+
* This is needed to make lookup by image working.
|
|
5
|
+
* @this GeckoDriver
|
|
6
|
+
* @param strategy - The strategy to use for finding the element(s) (e.g., 'css selector', 'xpath', etc.)
|
|
7
|
+
* @param selector - The selector to use for finding the element(s)
|
|
8
|
+
* @param mult - Whether to find multiple elements (true) or a single element (false)
|
|
9
|
+
* @param context - Optional context element ID to search within
|
|
10
|
+
* @returns A promise that resolves to the found element(s)
|
|
11
|
+
*/
|
|
2
12
|
export declare function findElOrEls(this: GeckoDriver, strategy: string, selector: string, mult: boolean, context?: string): Promise<any>;
|
|
3
13
|
//# sourceMappingURL=find.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AAE3C;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,CAMd"}
|
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.findElOrEls = findElOrEls;
|
|
4
4
|
const support_1 = require("appium/support");
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Find element(s) by given strategy and selector. If context is provided, search will be performed within the context element.
|
|
7
|
+
* This is needed to make lookup by image working.
|
|
8
|
+
* @this GeckoDriver
|
|
9
|
+
* @param strategy - The strategy to use for finding the element(s) (e.g., 'css selector', 'xpath', etc.)
|
|
10
|
+
* @param selector - The selector to use for finding the element(s)
|
|
11
|
+
* @param mult - Whether to find multiple elements (true) or a single element (false)
|
|
12
|
+
* @param context - Optional context element ID to search within
|
|
13
|
+
* @returns A promise that resolves to the found element(s)
|
|
14
|
+
*/
|
|
6
15
|
async function findElOrEls(strategy, selector, mult, context) {
|
|
7
16
|
const endpoint = `/element${context ? `/${support_1.util.unwrapElement(context)}/element` : ''}${mult ? 's' : ''}`;
|
|
8
17
|
return await this.gecko.proxy.command(endpoint, 'POST', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":";;AAaA,kCAYC;AAzBD,4CAAoC;AAGpC;;;;;;;;;GASG;AACI,KAAK,UAAU,WAAW,CAE/B,QAAgB,EAChB,QAAgB,EAChB,IAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,cAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzG,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QACtD,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -5,22 +5,22 @@ import { desiredCapConstraints } from './desired-caps';
|
|
|
5
5
|
import * as findCommands from './commands/find';
|
|
6
6
|
export type GeckoConstraints = typeof desiredCapConstraints;
|
|
7
7
|
export declare class GeckoDriver extends BaseDriver<GeckoConstraints, StringRecord> implements ExternalDriver<GeckoConstraints, string, StringRecord> {
|
|
8
|
+
proxyReqRes: (...args: any) => any;
|
|
9
|
+
findElOrEls: typeof findCommands.findElOrEls;
|
|
8
10
|
private isProxyActive;
|
|
9
11
|
private _gecko;
|
|
10
12
|
private _bidiProxyUrl;
|
|
11
|
-
proxyReqRes: (...args: any) => any;
|
|
12
13
|
constructor(opts?: InitialOpts);
|
|
14
|
+
get gecko(): GeckoDriverServer;
|
|
15
|
+
get bidiProxyUrl(): string | null;
|
|
13
16
|
proxyActive(sessionId?: string): boolean;
|
|
14
17
|
getProxyAvoidList(): RouteMatcher[];
|
|
15
18
|
canProxy(): boolean;
|
|
16
|
-
get gecko(): GeckoDriverServer;
|
|
17
19
|
validateDesiredCaps(caps: any): caps is any;
|
|
18
20
|
createSession(w3cCaps1: W3CDriverCaps<GeckoConstraints>, w3cCaps2?: W3CDriverCaps<GeckoConstraints>, ...args: any[]): Promise<DefaultCreateSessionResult<GeckoConstraints>>;
|
|
19
|
-
get bidiProxyUrl(): string | null;
|
|
20
21
|
deleteSession(): Promise<void>;
|
|
21
22
|
private resetState;
|
|
22
23
|
private _extractWebSocketUrl;
|
|
23
|
-
findElOrEls: typeof findCommands.findElOrEls;
|
|
24
24
|
}
|
|
25
25
|
export default GeckoDriver;
|
|
26
26
|
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAS,MAAM,eAAe,CAAC;AACjD,OAAO,EAAoB,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAUhD,MAAM,MAAM,gBAAgB,GAAG,OAAO,qBAAqB,CAAC;AAE5D,qBAAa,WACX,SAAQ,UAAU,CAAC,gBAAgB,EAAE,YAAY,CACjD,YAAW,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAS,MAAM,eAAe,CAAC;AACjD,OAAO,EAAoB,iBAAiB,EAAC,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAUhD,MAAM,MAAM,gBAAgB,GAAG,OAAO,qBAAqB,CAAC;AAE5D,qBAAa,WACX,SAAQ,UAAU,CAAC,gBAAgB,EAAE,YAAY,CACjD,YAAW,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC;IAE1D,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAE1C,WAAW,kCAA4B;IAEvC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,aAAa,CAAuB;gBAEhC,IAAI,GAAE,WAA+B;IAgBjD,IAAI,KAAK,IAAI,iBAAiB,CAK7B;IAED,IAAa,YAAY,IAAI,MAAM,GAAG,IAAI,CAEzC;IAGQ,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAIxC,iBAAiB,IAAI,YAAY,EAAE;IAInC,QAAQ,IAAI,OAAO;IAInB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG;IAmBrC,aAAa,CAC1B,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACzC,QAAQ,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAqBzC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7C,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,oBAAoB;CAe7B;AAED,eAAe,WAAW,CAAC"}
|
package/build/lib/driver.js
CHANGED
|
@@ -51,10 +51,11 @@ const NO_PROXY = [
|
|
|
51
51
|
['POST', new RegExp('^/session/[^/]+/elements?$')],
|
|
52
52
|
];
|
|
53
53
|
class GeckoDriver extends driver_1.BaseDriver {
|
|
54
|
+
proxyReqRes;
|
|
55
|
+
findElOrEls = findCommands.findElOrEls;
|
|
54
56
|
isProxyActive = false;
|
|
55
57
|
_gecko = null;
|
|
56
58
|
_bidiProxyUrl = null;
|
|
57
|
-
proxyReqRes;
|
|
58
59
|
constructor(opts = {}) {
|
|
59
60
|
super(opts);
|
|
60
61
|
this.desiredCapConstraints = lodash_1.default.cloneDeep(desired_caps_1.desiredCapConstraints);
|
|
@@ -70,6 +71,15 @@ class GeckoDriver extends driver_1.BaseDriver {
|
|
|
70
71
|
];
|
|
71
72
|
this.resetState();
|
|
72
73
|
}
|
|
74
|
+
get gecko() {
|
|
75
|
+
if (!this._gecko) {
|
|
76
|
+
throw new Error('Gecko driver is not initialized');
|
|
77
|
+
}
|
|
78
|
+
return this._gecko;
|
|
79
|
+
}
|
|
80
|
+
get bidiProxyUrl() {
|
|
81
|
+
return this._bidiProxyUrl;
|
|
82
|
+
}
|
|
73
83
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
74
84
|
proxyActive(sessionId) {
|
|
75
85
|
return this.isProxyActive;
|
|
@@ -80,12 +90,6 @@ class GeckoDriver extends driver_1.BaseDriver {
|
|
|
80
90
|
canProxy() {
|
|
81
91
|
return true;
|
|
82
92
|
}
|
|
83
|
-
get gecko() {
|
|
84
|
-
if (!this._gecko) {
|
|
85
|
-
throw new Error('Gecko driver is not initialized');
|
|
86
|
-
}
|
|
87
|
-
return this._gecko;
|
|
88
|
-
}
|
|
89
93
|
validateDesiredCaps(caps) {
|
|
90
94
|
const isValid = super.validateDesiredCaps(caps);
|
|
91
95
|
if (!isValid) {
|
|
@@ -120,9 +124,6 @@ class GeckoDriver extends driver_1.BaseDriver {
|
|
|
120
124
|
this.isProxyActive = true;
|
|
121
125
|
return [sessionId, processedCaps];
|
|
122
126
|
}
|
|
123
|
-
get bidiProxyUrl() {
|
|
124
|
-
return this._bidiProxyUrl;
|
|
125
|
-
}
|
|
126
127
|
async deleteSession() {
|
|
127
128
|
this.log.info('Ending Gecko Driver session');
|
|
128
129
|
await this._gecko?.stop();
|
|
@@ -151,7 +152,6 @@ class GeckoDriver extends driver_1.BaseDriver {
|
|
|
151
152
|
return null;
|
|
152
153
|
}
|
|
153
154
|
}
|
|
154
|
-
findElOrEls = findCommands.findElOrEls;
|
|
155
155
|
}
|
|
156
156
|
exports.GeckoDriver = GeckoDriver;
|
|
157
157
|
exports.default = GeckoDriver;
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AASvB,0CAAiD;AACjD,mCAA6D;AAC7D,iDAAqD;AACrD,2CAAwE;AACxE,8DAAgD;AAChD,mCAA4C;AAE5C,MAAM,QAAQ,GAAmB;IAC/B,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC7C,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,4BAA4B,CAAC,CAAC;CACnD,CAAC;AAIF,MAAa,WACX,SAAQ,mBAA0C;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
package/build/lib/gecko.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gecko.d.ts","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAWpF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"gecko.d.ts","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAWpF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAwID,qBAAa,UAAW,SAAQ,OAAO;IACrC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;AAmBD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;IAMjD,IAAI,KAAK,IAAI,UAAU,CAKtB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAkEhF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB5B;AAED,eAAe,iBAAiB,CAAC"}
|
package/build/lib/gecko.js
CHANGED
|
@@ -20,17 +20,6 @@ const GECKO_PORT_RANGE = [5200, 5300];
|
|
|
20
20
|
const GECKO_SERVER_GUARD = support_1.util.getLockFileGuard(node_path_1.default.resolve(node_os_1.default.tmpdir(), 'gecko_server_guard.lock'), { timeout: 5, tryRecovery: true });
|
|
21
21
|
const DEFAULT_MARIONETTE_PORT = 2828;
|
|
22
22
|
exports.GECKO_SERVER_HOST = '127.0.0.1';
|
|
23
|
-
class GeckoProxy extends driver_1.JWProxy {
|
|
24
|
-
didProcessExit;
|
|
25
|
-
async proxyCommand(url, method, body = null) {
|
|
26
|
-
if (this.didProcessExit) {
|
|
27
|
-
throw new driver_1.errors.InvalidContextError(`'${method} ${url}' cannot be proxied to Gecko Driver server because ` +
|
|
28
|
-
'its process is not running (probably crashed). Check the Appium log for more details');
|
|
29
|
-
}
|
|
30
|
-
return await super.proxyCommand(url, method, body);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.GeckoProxy = GeckoProxy;
|
|
34
23
|
class GeckoDriverProcess {
|
|
35
24
|
noReset;
|
|
36
25
|
verbosity;
|
|
@@ -146,6 +135,17 @@ class GeckoDriverProcess {
|
|
|
146
135
|
}
|
|
147
136
|
}
|
|
148
137
|
}
|
|
138
|
+
class GeckoProxy extends driver_1.JWProxy {
|
|
139
|
+
didProcessExit;
|
|
140
|
+
async proxyCommand(url, method, body = null) {
|
|
141
|
+
if (this.didProcessExit) {
|
|
142
|
+
throw new driver_1.errors.InvalidContextError(`'${method} ${url}' cannot be proxied to Gecko Driver server because ` +
|
|
143
|
+
'its process is not running (probably crashed). Check the Appium log for more details');
|
|
144
|
+
}
|
|
145
|
+
return await super.proxyCommand(url, method, body);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.GeckoProxy = GeckoProxy;
|
|
149
149
|
const RUNNING_PROCESS_IDS = [];
|
|
150
150
|
process.once('exit', () => {
|
|
151
151
|
if (lodash_1.default.isEmpty(RUNNING_PROCESS_IDS)) {
|
package/build/lib/gecko.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gecko.js","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA8C;AAC9C,4CAAgD;AAChD,+CAAwC;AACxC,uCAA0C;AAC1C,6CAA8C;AAC9C,2DAA4C;AAE5C,2CAAsC;AAEtC,MAAM,SAAS,GAAG,cAAc,gBAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,aAAa;AAC/C,MAAM,gBAAgB,GAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxD,MAAM,kBAAkB,GAAG,cAAI,CAAC,gBAAgB,CAC9C,mBAAI,CAAC,OAAO,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,EACpD,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAChC,CAAC;AACF,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACxB,QAAA,iBAAiB,GAAG,WAAW,CAAC;AAM7C,
|
|
1
|
+
{"version":3,"file":"gecko.js","sourceRoot":"","sources":["../../lib/gecko.ts"],"names":[],"mappings":"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"}
|
package/lib/commands/find.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import {util} from 'appium/support';
|
|
2
2
|
import type {GeckoDriver} from '../driver';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Find element(s) by given strategy and selector. If context is provided, search will be performed within the context element.
|
|
6
|
+
* This is needed to make lookup by image working.
|
|
7
|
+
* @this GeckoDriver
|
|
8
|
+
* @param strategy - The strategy to use for finding the element(s) (e.g., 'css selector', 'xpath', etc.)
|
|
9
|
+
* @param selector - The selector to use for finding the element(s)
|
|
10
|
+
* @param mult - Whether to find multiple elements (true) or a single element (false)
|
|
11
|
+
* @param context - Optional context element ID to search within
|
|
12
|
+
* @returns A promise that resolves to the found element(s)
|
|
13
|
+
*/
|
|
5
14
|
export async function findElOrEls(
|
|
6
15
|
this: GeckoDriver,
|
|
7
16
|
strategy: string,
|
package/lib/driver.ts
CHANGED
|
@@ -27,10 +27,13 @@ export class GeckoDriver
|
|
|
27
27
|
extends BaseDriver<GeckoConstraints, StringRecord>
|
|
28
28
|
implements ExternalDriver<GeckoConstraints, string, StringRecord>
|
|
29
29
|
{
|
|
30
|
+
public proxyReqRes: (...args: any) => any;
|
|
31
|
+
|
|
32
|
+
findElOrEls = findCommands.findElOrEls;
|
|
33
|
+
|
|
30
34
|
private isProxyActive: boolean = false;
|
|
31
35
|
private _gecko: GeckoDriverServer | null = null;
|
|
32
36
|
private _bidiProxyUrl: string | null = null;
|
|
33
|
-
public proxyReqRes: (...args: any) => any;
|
|
34
37
|
|
|
35
38
|
constructor(opts: InitialOpts = {} as InitialOpts) {
|
|
36
39
|
super(opts);
|
|
@@ -48,6 +51,17 @@ export class GeckoDriver
|
|
|
48
51
|
this.resetState();
|
|
49
52
|
}
|
|
50
53
|
|
|
54
|
+
get gecko(): GeckoDriverServer {
|
|
55
|
+
if (!this._gecko) {
|
|
56
|
+
throw new Error('Gecko driver is not initialized');
|
|
57
|
+
}
|
|
58
|
+
return this._gecko;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
override get bidiProxyUrl(): string | null {
|
|
62
|
+
return this._bidiProxyUrl;
|
|
63
|
+
}
|
|
64
|
+
|
|
51
65
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
52
66
|
override proxyActive(sessionId?: string): boolean {
|
|
53
67
|
return this.isProxyActive;
|
|
@@ -61,13 +75,6 @@ export class GeckoDriver
|
|
|
61
75
|
return true;
|
|
62
76
|
}
|
|
63
77
|
|
|
64
|
-
get gecko(): GeckoDriverServer {
|
|
65
|
-
if (!this._gecko) {
|
|
66
|
-
throw new Error('Gecko driver is not initialized');
|
|
67
|
-
}
|
|
68
|
-
return this._gecko;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
78
|
override validateDesiredCaps(caps: any): caps is any {
|
|
72
79
|
const isValid = super.validateDesiredCaps(caps);
|
|
73
80
|
if (!isValid) {
|
|
@@ -112,10 +119,6 @@ export class GeckoDriver
|
|
|
112
119
|
return [sessionId, processedCaps];
|
|
113
120
|
}
|
|
114
121
|
|
|
115
|
-
override get bidiProxyUrl(): string | null {
|
|
116
|
-
return this._bidiProxyUrl;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
122
|
override async deleteSession(): Promise<void> {
|
|
120
123
|
this.log.info('Ending Gecko Driver session');
|
|
121
124
|
await this._gecko?.stop();
|
|
@@ -146,8 +149,6 @@ export class GeckoDriver
|
|
|
146
149
|
return null;
|
|
147
150
|
}
|
|
148
151
|
}
|
|
149
|
-
|
|
150
|
-
findElOrEls = findCommands.findElOrEls;
|
|
151
152
|
}
|
|
152
153
|
|
|
153
154
|
export default GeckoDriver;
|
package/lib/gecko.ts
CHANGED
|
@@ -24,20 +24,6 @@ export interface SessionOptions {
|
|
|
24
24
|
reqBasePath?: string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export class GeckoProxy extends JWProxy {
|
|
28
|
-
didProcessExit?: boolean;
|
|
29
|
-
|
|
30
|
-
override async proxyCommand(url: string, method: HTTPMethod, body: HTTPBody = null) {
|
|
31
|
-
if (this.didProcessExit) {
|
|
32
|
-
throw new errors.InvalidContextError(
|
|
33
|
-
`'${method} ${url}' cannot be proxied to Gecko Driver server because ` +
|
|
34
|
-
'its process is not running (probably crashed). Check the Appium log for more details',
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
return await super.proxyCommand(url, method, body);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
27
|
class GeckoDriverProcess {
|
|
42
28
|
private readonly noReset?: boolean;
|
|
43
29
|
private readonly verbosity?: string;
|
|
@@ -172,6 +158,20 @@ class GeckoDriverProcess {
|
|
|
172
158
|
}
|
|
173
159
|
}
|
|
174
160
|
|
|
161
|
+
export class GeckoProxy extends JWProxy {
|
|
162
|
+
didProcessExit?: boolean;
|
|
163
|
+
|
|
164
|
+
override async proxyCommand(url: string, method: HTTPMethod, body: HTTPBody = null) {
|
|
165
|
+
if (this.didProcessExit) {
|
|
166
|
+
throw new errors.InvalidContextError(
|
|
167
|
+
`'${method} ${url}' cannot be proxied to Gecko Driver server because ` +
|
|
168
|
+
'its process is not running (probably crashed). Check the Appium log for more details',
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
return await super.proxyCommand(url, method, body);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
175
|
const RUNNING_PROCESS_IDS: (number | undefined)[] = [];
|
|
176
176
|
process.once('exit', () => {
|
|
177
177
|
if (_.isEmpty(RUNNING_PROCESS_IDS)) {
|