appium-geckodriver 2.2.5 → 2.3.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 +12 -0
- package/build/lib/driver.d.ts +35 -0
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +2 -0
- package/build/lib/driver.js.map +1 -1
- package/build/lib/method-map.d.ts +40 -0
- package/build/lib/method-map.d.ts.map +1 -0
- package/build/lib/method-map.js +39 -0
- package/build/lib/method-map.js.map +1 -0
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +1 -2
- package/build/lib/utils.js.map +1 -1
- package/lib/driver.ts +3 -0
- package/lib/method-map.ts +39 -0
- package/lib/utils.ts +1 -2
- package/npm-shrinkwrap.json +132 -577
- package/package.json +4 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [2.3.0](https://github.com/appium/appium-geckodriver/compare/v2.2.6...v2.3.0) (2026-06-10)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* add 5 Firefox WebDriver endpoints ([#167](https://github.com/appium/appium-geckodriver/issues/167)) ([7811050](https://github.com/appium/appium-geckodriver/commit/7811050feb14c35f5aa2dfc6b9ee8e759bc63fb8))
|
|
6
|
+
|
|
7
|
+
## [2.2.6](https://github.com/appium/appium-geckodriver/compare/v2.2.5...v2.2.6) (2026-05-25)
|
|
8
|
+
|
|
9
|
+
### Miscellaneous Chores
|
|
10
|
+
|
|
11
|
+
* Ditch bluebird ([#164](https://github.com/appium/appium-geckodriver/issues/164)) ([d37b6a0](https://github.com/appium/appium-geckodriver/commit/d37b6a029176bd783c55a4aff4b8e425ac8a1939))
|
|
12
|
+
|
|
1
13
|
## [2.2.5](https://github.com/appium/appium-geckodriver/compare/v2.2.4...v2.2.5) (2026-05-22)
|
|
2
14
|
|
|
3
15
|
### Miscellaneous Chores
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -5,6 +5,41 @@ 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
|
+
static newMethodMap: {
|
|
9
|
+
readonly '/session/:sessionId/moz/context': {
|
|
10
|
+
readonly GET: {
|
|
11
|
+
readonly command: "getContext";
|
|
12
|
+
};
|
|
13
|
+
readonly POST: {
|
|
14
|
+
readonly command: "setContext";
|
|
15
|
+
readonly payloadParams: {
|
|
16
|
+
readonly required: readonly ["context"];
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
readonly '/session/:sessionId/moz/addon/install': {
|
|
21
|
+
readonly POST: {
|
|
22
|
+
readonly command: "installAddon";
|
|
23
|
+
readonly payloadParams: {
|
|
24
|
+
readonly validate: (payloadData: any) => false | "Either 'addon' or 'path' must be provided";
|
|
25
|
+
readonly optional: readonly ["addon", "path", "temporary", "allowPrivateBrowsing"];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
readonly '/session/:sessionId/moz/addon/uninstall': {
|
|
30
|
+
readonly POST: {
|
|
31
|
+
readonly command: "uninstallAddon";
|
|
32
|
+
readonly payloadParams: {
|
|
33
|
+
readonly required: readonly ["id"];
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
readonly '/session/:sessionId/moz/screenshot/full': {
|
|
38
|
+
readonly GET: {
|
|
39
|
+
readonly command: "takeFullScreenshot";
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
};
|
|
8
43
|
proxyReqRes: (...args: any) => any;
|
|
9
44
|
findElOrEls: typeof findCommands.findElOrEls;
|
|
10
45
|
private isProxyActive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,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;
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,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;AAGrD,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;IAEjE,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IAE5B,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAe;IAExD,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;CAgB7B;AAED,eAAe,WAAW,CAAC"}
|
package/build/lib/driver.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.GeckoDriver = void 0;
|
|
|
37
37
|
const driver_1 = require("appium/driver");
|
|
38
38
|
const gecko_1 = require("./gecko");
|
|
39
39
|
const desired_caps_1 = require("./desired-caps");
|
|
40
|
+
const method_map_1 = require("./method-map");
|
|
40
41
|
const constants_1 = require("./constants");
|
|
41
42
|
const findCommands = __importStar(require("./commands/find"));
|
|
42
43
|
const utils_1 = require("./utils");
|
|
@@ -47,6 +48,7 @@ const NO_PROXY = [
|
|
|
47
48
|
['POST', new RegExp('^/session/[^/]+/elements?$')],
|
|
48
49
|
];
|
|
49
50
|
class GeckoDriver extends driver_1.BaseDriver {
|
|
51
|
+
static newMethodMap = method_map_1.newMethodMap;
|
|
50
52
|
proxyReqRes = null;
|
|
51
53
|
findElOrEls = findCommands.findElOrEls;
|
|
52
54
|
isProxyActive = false;
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,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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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const newMethodMap: {
|
|
2
|
+
/**
|
|
3
|
+
* Firefox vendor-specific endpoints
|
|
4
|
+
* https://github.com/mozilla-firefox/firefox/blob/main/testing/geckodriver/src/command.rs
|
|
5
|
+
*/
|
|
6
|
+
readonly '/session/:sessionId/moz/context': {
|
|
7
|
+
readonly GET: {
|
|
8
|
+
readonly command: "getContext";
|
|
9
|
+
};
|
|
10
|
+
readonly POST: {
|
|
11
|
+
readonly command: "setContext";
|
|
12
|
+
readonly payloadParams: {
|
|
13
|
+
readonly required: readonly ["context"];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
readonly '/session/:sessionId/moz/addon/install': {
|
|
18
|
+
readonly POST: {
|
|
19
|
+
readonly command: "installAddon";
|
|
20
|
+
readonly payloadParams: {
|
|
21
|
+
readonly validate: (payloadData: any) => false | "Either 'addon' or 'path' must be provided";
|
|
22
|
+
readonly optional: readonly ["addon", "path", "temporary", "allowPrivateBrowsing"];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
readonly '/session/:sessionId/moz/addon/uninstall': {
|
|
27
|
+
readonly POST: {
|
|
28
|
+
readonly command: "uninstallAddon";
|
|
29
|
+
readonly payloadParams: {
|
|
30
|
+
readonly required: readonly ["id"];
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
readonly '/session/:sessionId/moz/screenshot/full': {
|
|
35
|
+
readonly GET: {
|
|
36
|
+
readonly command: "takeFullScreenshot";
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=method-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;IACvB;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BsC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newMethodMap = void 0;
|
|
4
|
+
exports.newMethodMap = {
|
|
5
|
+
/**
|
|
6
|
+
* Firefox vendor-specific endpoints
|
|
7
|
+
* https://github.com/mozilla-firefox/firefox/blob/main/testing/geckodriver/src/command.rs
|
|
8
|
+
*/
|
|
9
|
+
'/session/:sessionId/moz/context': {
|
|
10
|
+
GET: {
|
|
11
|
+
command: 'getContext',
|
|
12
|
+
},
|
|
13
|
+
POST: {
|
|
14
|
+
command: 'setContext',
|
|
15
|
+
payloadParams: { required: ['context'] },
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
'/session/:sessionId/moz/addon/install': {
|
|
19
|
+
POST: {
|
|
20
|
+
command: 'installAddon',
|
|
21
|
+
payloadParams: {
|
|
22
|
+
validate: (payloadData) => !payloadData.addon && !payloadData.path && "Either 'addon' or 'path' must be provided",
|
|
23
|
+
optional: ['addon', 'path', 'temporary', 'allowPrivateBrowsing'],
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
'/session/:sessionId/moz/addon/uninstall': {
|
|
28
|
+
POST: {
|
|
29
|
+
command: 'uninstallAddon',
|
|
30
|
+
payloadParams: { required: ['id'] },
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
'/session/:sessionId/moz/screenshot/full': {
|
|
34
|
+
GET: {
|
|
35
|
+
command: 'takeFullScreenshot',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=method-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":";;;AAGa,QAAA,YAAY,GAAG;IAC1B;;;OAGG;IACH,iCAAiC,EAAE;QACjC,GAAG,EAAE;YACH,OAAO,EAAE,YAAY;SACtB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,YAAY;YACrB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;IACD,uCAAuC,EAAE;QACvC,IAAI,EAAE;YACJ,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE;gBACb,QAAQ,EAAE,CAAC,WAAW,EAAE,EAAE,CACxB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,2CAA2C;gBACxF,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,CAAC;aACjE;SACF;KACF;IACD,yCAAyC,EAAE;QACzC,IAAI,EAAE;YACJ,OAAO,EAAE,gBAAgB;YACzB,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAC;SAClC;KACF;IACD,yCAAyC,EAAE;QACzC,GAAG,EAAE;YACH,OAAO,EAAE,oBAAoB;SAC9B;KACF;CACwC,CAAC"}
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAKhD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAkBpE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
package/build/lib/utils.js
CHANGED
|
@@ -11,7 +11,6 @@ exports.extractFileFromZip = extractFileFromZip;
|
|
|
11
11
|
const support_1 = require("appium/support");
|
|
12
12
|
const tar_stream_1 = __importDefault(require("tar-stream"));
|
|
13
13
|
const node_zlib_1 = __importDefault(require("node:zlib"));
|
|
14
|
-
const bluebird_1 = __importDefault(require("bluebird"));
|
|
15
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
16
15
|
const driver_1 = require("appium/driver");
|
|
17
16
|
const GECKO_CAP_PREFIXES = ['moz:'];
|
|
@@ -53,7 +52,7 @@ async function mkdirp(p) {
|
|
|
53
52
|
async function extractFileFromTarGz(srcArchive, fileToExtract, dstPath) {
|
|
54
53
|
const chunks = [];
|
|
55
54
|
const extract = tar_stream_1.default.extract();
|
|
56
|
-
const extractPromise = new
|
|
55
|
+
const extractPromise = new Promise((resolve, reject) => {
|
|
57
56
|
extract.on('entry', (header, stream, next) => {
|
|
58
57
|
if (header.name === fileToExtract) {
|
|
59
58
|
stream.on('data', (chunk) => {
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;;;AAYA,kDAkBC;AAKD,wCAEC;AAKD,wBAEC;AAKD,oDAyCC;AAKD,gDAyBC;AAxHD,4CAAqD;AACrD,4DAA6B;AAC7B,0DAA6B;AAC7B,0DAA6B;AAE7B,0CAA4C;AAE5C,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAU,CAAC;AAE7C;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAkB;IACpD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IACE,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC5D,sBAAa,CAAC,GAAG,CAAC,IAAW,CAAC,EAC9B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;IACjC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,qDAAqD;QACrD,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,OAAe;IAClE,MAAM,aAAG,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM,CAAC,CAAS;IACpC,MAAM,YAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,aAAqB,EACrB,OAAe;IAEf,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,oBAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;gBACf,IAAI,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAChC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CACX,IAAI,KAAK,CACP,aAAa,aAAa,gCAAgC,UAAU,WAAW,CAChF,CACF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,YAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,mBAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,cAAc,CAAC;AACvB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,aAAqB,EACrB,OAAe;IAEf,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,aAAG,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAE,EAAE;QAClE,IAAI,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;QAEpB,MAAM,OAAO,GAAG,MAAM,iBAAO,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAC9B,MAAM,YAAE,CAAC,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,MAAM,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,aAAa,aAAa,gCAAgC,UAAU,WAAW,CAChF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/lib/driver.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
import {BaseDriver, errors} from 'appium/driver';
|
|
10
10
|
import {GECKO_SERVER_HOST, GeckoDriverServer} from './gecko';
|
|
11
11
|
import {desiredCapConstraints} from './desired-caps';
|
|
12
|
+
import {newMethodMap} from './method-map';
|
|
12
13
|
import {INSECURE_FEAT_CUSTOM_GECKODRIVER_EXECUTABLE} from './constants';
|
|
13
14
|
import * as findCommands from './commands/find';
|
|
14
15
|
import {formatCapsForServer} from './utils';
|
|
@@ -26,6 +27,8 @@ export class GeckoDriver
|
|
|
26
27
|
extends BaseDriver<GeckoConstraints, StringRecord>
|
|
27
28
|
implements ExternalDriver<GeckoConstraints, string, StringRecord>
|
|
28
29
|
{
|
|
30
|
+
static newMethodMap = newMethodMap;
|
|
31
|
+
|
|
29
32
|
public proxyReqRes: (...args: any) => any = null as any;
|
|
30
33
|
|
|
31
34
|
findElOrEls = findCommands.findElOrEls;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type {MethodMap} from '@appium/types';
|
|
2
|
+
import type {GeckoDriver} from './driver';
|
|
3
|
+
|
|
4
|
+
export const newMethodMap = {
|
|
5
|
+
/**
|
|
6
|
+
* Firefox vendor-specific endpoints
|
|
7
|
+
* https://github.com/mozilla-firefox/firefox/blob/main/testing/geckodriver/src/command.rs
|
|
8
|
+
*/
|
|
9
|
+
'/session/:sessionId/moz/context': {
|
|
10
|
+
GET: {
|
|
11
|
+
command: 'getContext',
|
|
12
|
+
},
|
|
13
|
+
POST: {
|
|
14
|
+
command: 'setContext',
|
|
15
|
+
payloadParams: {required: ['context']},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
'/session/:sessionId/moz/addon/install': {
|
|
19
|
+
POST: {
|
|
20
|
+
command: 'installAddon',
|
|
21
|
+
payloadParams: {
|
|
22
|
+
validate: (payloadData) =>
|
|
23
|
+
!payloadData.addon && !payloadData.path && "Either 'addon' or 'path' must be provided",
|
|
24
|
+
optional: ['addon', 'path', 'temporary', 'allowPrivateBrowsing'],
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
'/session/:sessionId/moz/addon/uninstall': {
|
|
29
|
+
POST: {
|
|
30
|
+
command: 'uninstallAddon',
|
|
31
|
+
payloadParams: {required: ['id']},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
'/session/:sessionId/moz/screenshot/full': {
|
|
35
|
+
GET: {
|
|
36
|
+
command: 'takeFullScreenshot',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
} as const satisfies MethodMap<GeckoDriver>;
|
package/lib/utils.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {fs, net, zip, tempDir} from 'appium/support';
|
|
2
2
|
import tar from 'tar-stream';
|
|
3
3
|
import zlib from 'node:zlib';
|
|
4
|
-
import B from 'bluebird';
|
|
5
4
|
import path from 'node:path';
|
|
6
5
|
import type {StringRecord} from '@appium/types';
|
|
7
6
|
import {STANDARD_CAPS} from 'appium/driver';
|
|
@@ -55,7 +54,7 @@ export async function extractFileFromTarGz(
|
|
|
55
54
|
): Promise<void> {
|
|
56
55
|
const chunks: Buffer[] = [];
|
|
57
56
|
const extract = tar.extract();
|
|
58
|
-
const extractPromise = new
|
|
57
|
+
const extractPromise = new Promise<void>((resolve, reject) => {
|
|
59
58
|
extract.on('entry', (header, stream, next) => {
|
|
60
59
|
if (header.name === fileToExtract) {
|
|
61
60
|
stream.on('data', (chunk: Buffer) => {
|