@qapilot/appium-module 1.0.1 → 1.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/dist/commands/command.registry.d.ts.map +1 -1
- package/dist/commands/command.registry.js +5 -1
- package/dist/commands/command.registry.js.map +1 -1
- package/dist/commands/element/element-info.d.ts +16 -0
- package/dist/commands/element/element-info.d.ts.map +1 -0
- package/dist/commands/element/element-info.js +27 -0
- package/dist/commands/element/element-info.js.map +1 -0
- package/dist/commands/element/find-element.command.d.ts.map +1 -1
- package/dist/commands/element/find-element.command.js +3 -1
- package/dist/commands/element/find-element.command.js.map +1 -1
- package/dist/commands/element/find-elements.command.d.ts.map +1 -1
- package/dist/commands/element/find-elements.command.js +7 -4
- package/dist/commands/element/find-elements.command.js.map +1 -1
- package/dist/commands/script/execute-script.command.d.ts +1 -1
- package/dist/commands/script/execute-script.command.d.ts.map +1 -1
- package/dist/commands/script/execute-script.command.js +1 -1
- package/dist/commands/script/execute-script.command.js.map +1 -1
- package/dist/commands/session/get-settings.command.d.ts +20 -0
- package/dist/commands/session/get-settings.command.d.ts.map +1 -0
- package/dist/commands/session/get-settings.command.js +21 -0
- package/dist/commands/session/get-settings.command.js.map +1 -0
- package/dist/commands/session/update-settings.command.d.ts +25 -0
- package/dist/commands/session/update-settings.command.d.ts.map +1 -0
- package/dist/commands/session/update-settings.command.js +33 -0
- package/dist/commands/session/update-settings.command.js.map +1 -0
- package/dist/http/middleware/request-validator.d.ts.map +1 -1
- package/dist/http/middleware/request-validator.js +1 -0
- package/dist/http/middleware/request-validator.js.map +1 -1
- package/dist/invoker/command-invoker.d.ts.map +1 -1
- package/dist/invoker/command-invoker.js +4 -3
- package/dist/invoker/command-invoker.js.map +1 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +16 -10
- package/dist/logger/index.js.map +1 -1
- package/dist/types/command.types.d.ts +1 -0
- package/dist/types/command.types.d.ts.map +1 -1
- package/dist/types/webdriver.types.d.ts +12 -0
- package/dist/types/webdriver.types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.registry.d.ts","sourceRoot":"","sources":["../../src/commands/command.registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"command.registry.d.ts","sourceRoot":"","sources":["../../src/commands/command.registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsDhD,KAAK,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AA2D5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAUnD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAEzD"}
|
|
@@ -3,6 +3,8 @@ import { AppiumError, AppiumErrorCode } from '../types/error.types.js';
|
|
|
3
3
|
import { CreateSessionCommand } from './session/create-session.command.js';
|
|
4
4
|
import { GetSessionCommand } from './session/get-session.command.js';
|
|
5
5
|
import { DeleteSessionCommand } from './session/delete-session.command.js';
|
|
6
|
+
import { GetSettingsCommand } from './session/get-settings.command.js';
|
|
7
|
+
import { UpdateSettingsCommand } from './session/update-settings.command.js';
|
|
6
8
|
// Element
|
|
7
9
|
import { FindElementCommand } from './element/find-element.command.js';
|
|
8
10
|
import { FindElementsCommand } from './element/find-elements.command.js';
|
|
@@ -41,10 +43,12 @@ import { SetLocationCommand } from './device/set-location.command.js';
|
|
|
41
43
|
import { ExecuteScriptCommand } from './script/execute-script.command.js';
|
|
42
44
|
import { ExecuteScriptSyncCommand } from './script/execute-script-sync.command.js';
|
|
43
45
|
const commands = [
|
|
44
|
-
// Session (
|
|
46
|
+
// Session (5)
|
|
45
47
|
new CreateSessionCommand(),
|
|
46
48
|
new GetSessionCommand(),
|
|
47
49
|
new DeleteSessionCommand(),
|
|
50
|
+
new GetSettingsCommand(),
|
|
51
|
+
new UpdateSettingsCommand(),
|
|
48
52
|
// Element (11)
|
|
49
53
|
new FindElementCommand(),
|
|
50
54
|
new FindElementsCommand(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.registry.js","sourceRoot":"","sources":["../../src/commands/command.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGvE,UAAU;AACV,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"command.registry.js","sourceRoot":"","sources":["../../src/commands/command.registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collect everything a find response carried alongside the element id.
|
|
3
|
+
*
|
|
4
|
+
* Keys are passed through verbatim. The set of keys is whatever the session's
|
|
5
|
+
* `elementResponseAttributes` asked for, which differs between drivers
|
|
6
|
+
* (UiAutomator2 vs XCUITest) and even between driver versions, so this makes
|
|
7
|
+
* no attempt to normalize or interpret them. Notably `attribute/name` and
|
|
8
|
+
* `name` are distinct keys that would collide if the `attribute/` prefix were
|
|
9
|
+
* stripped.
|
|
10
|
+
*
|
|
11
|
+
* Returns undefined rather than {} when nothing came back, so callers can
|
|
12
|
+
* distinguish "no attributes requested / driver ignored the request" from
|
|
13
|
+
* "attributes returned but all empty".
|
|
14
|
+
*/
|
|
15
|
+
export declare function extractElementInfo(value: Record<string, unknown> | null | undefined): Record<string, unknown> | undefined;
|
|
16
|
+
//# sourceMappingURL=element-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-info.d.ts","sourceRoot":"","sources":["../../../src/commands/element/element-info.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAOrC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { W3C_ELEMENT_KEY, LEGACY_ELEMENT_KEY } from '../../types/webdriver.types.js';
|
|
2
|
+
const ID_KEYS = new Set([W3C_ELEMENT_KEY, LEGACY_ELEMENT_KEY]);
|
|
3
|
+
/**
|
|
4
|
+
* Collect everything a find response carried alongside the element id.
|
|
5
|
+
*
|
|
6
|
+
* Keys are passed through verbatim. The set of keys is whatever the session's
|
|
7
|
+
* `elementResponseAttributes` asked for, which differs between drivers
|
|
8
|
+
* (UiAutomator2 vs XCUITest) and even between driver versions, so this makes
|
|
9
|
+
* no attempt to normalize or interpret them. Notably `attribute/name` and
|
|
10
|
+
* `name` are distinct keys that would collide if the `attribute/` prefix were
|
|
11
|
+
* stripped.
|
|
12
|
+
*
|
|
13
|
+
* Returns undefined rather than {} when nothing came back, so callers can
|
|
14
|
+
* distinguish "no attributes requested / driver ignored the request" from
|
|
15
|
+
* "attributes returned but all empty".
|
|
16
|
+
*/
|
|
17
|
+
export function extractElementInfo(value) {
|
|
18
|
+
if (value == null)
|
|
19
|
+
return undefined;
|
|
20
|
+
const info = {};
|
|
21
|
+
for (const [key, v] of Object.entries(value)) {
|
|
22
|
+
if (!ID_KEYS.has(key))
|
|
23
|
+
info[key] = v;
|
|
24
|
+
}
|
|
25
|
+
return Object.keys(info).length > 0 ? info : undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=element-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"element-info.js","sourceRoot":"","sources":["../../../src/commands/element/element-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAErF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiD;IAEjD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-element.command.d.ts","sourceRoot":"","sources":["../../../src/commands/element/find-element.command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"find-element.command.d.ts","sourceRoot":"","sources":["../../../src/commands/element/find-element.command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IACtF,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAU;IAClC,QAAQ,CAAC,YAAY,kCAAkC;IAE9C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAiBlD,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO;IAI7C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;CAU9C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AppiumError, AppiumErrorCode } from '../../types/error.types.js';
|
|
2
2
|
import { W3C_ELEMENT_KEY, LEGACY_ELEMENT_KEY } from '../../types/webdriver.types.js';
|
|
3
3
|
import { BaseCommand } from '../base.command.js';
|
|
4
|
+
import { extractElementInfo } from './element-info.js';
|
|
4
5
|
export class FindElementCommand extends BaseCommand {
|
|
5
6
|
name = 'findElement';
|
|
6
7
|
method = 'POST';
|
|
@@ -30,7 +31,8 @@ export class FindElementCommand extends BaseCommand {
|
|
|
30
31
|
const elementId = value[W3C_ELEMENT_KEY] ??
|
|
31
32
|
value[LEGACY_ELEMENT_KEY] ??
|
|
32
33
|
'';
|
|
33
|
-
|
|
34
|
+
const elementInfo = extractElementInfo(value);
|
|
35
|
+
return elementInfo === undefined ? { elementId } : { elementId, elementInfo };
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
//# sourceMappingURL=find-element.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-element.command.js","sourceRoot":"","sources":["../../../src/commands/element/find-element.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"find-element.command.js","sourceRoot":"","sources":["../../../src/commands/element/find-element.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,MAAM,OAAO,kBAAmB,SAAQ,WAAgD;IAC7E,IAAI,GAAG,aAAa,CAAC;IACrB,MAAM,GAAG,MAAe,CAAC;IACzB,YAAY,GAAG,8BAA8B,CAAC;IAE9C,QAAQ,CAAC,MAAyB;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,yCAAyC;gBAClD,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,sCAAsC;gBAC/C,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAyB;QACjC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,GAAY;QACxB,MAAM,IAAI,GAAG,GAA8B,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAA4B,CAAC;QACvD,MAAM,SAAS,GACZ,KAAK,CAAC,eAAe,CAAwB;YAC7C,KAAK,CAAC,kBAAkB,CAAwB;YACjD,EAAE,CAAC;QACL,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-elements.command.d.ts","sourceRoot":"","sources":["../../../src/commands/element/find-elements.command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"find-elements.command.d.ts","sourceRoot":"","sources":["../../../src/commands/element/find-elements.command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,UAAU,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;IAC1F,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAU;IAClC,QAAQ,CAAC,YAAY,mCAAmC;IAE/C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAiBnD,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO;IAI9C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,EAAE;CAahD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AppiumError, AppiumErrorCode } from '../../types/error.types.js';
|
|
2
2
|
import { W3C_ELEMENT_KEY, LEGACY_ELEMENT_KEY } from '../../types/webdriver.types.js';
|
|
3
3
|
import { BaseCommand } from '../base.command.js';
|
|
4
|
+
import { extractElementInfo } from './element-info.js';
|
|
4
5
|
export class FindElementsCommand extends BaseCommand {
|
|
5
6
|
name = 'findElements';
|
|
6
7
|
method = 'POST';
|
|
@@ -29,11 +30,13 @@ export class FindElementsCommand extends BaseCommand {
|
|
|
29
30
|
const value = body['value'];
|
|
30
31
|
if (!Array.isArray(value))
|
|
31
32
|
return [];
|
|
32
|
-
return value.map((el) =>
|
|
33
|
-
elementId
|
|
33
|
+
return value.map((el) => {
|
|
34
|
+
const elementId = el[W3C_ELEMENT_KEY] ??
|
|
34
35
|
el[LEGACY_ELEMENT_KEY] ??
|
|
35
|
-
''
|
|
36
|
-
|
|
36
|
+
'';
|
|
37
|
+
const elementInfo = extractElementInfo(el);
|
|
38
|
+
return elementInfo === undefined ? { elementId } : { elementId, elementInfo };
|
|
39
|
+
});
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
42
|
//# sourceMappingURL=find-elements.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-elements.command.js","sourceRoot":"","sources":["../../../src/commands/element/find-elements.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"find-elements.command.js","sourceRoot":"","sources":["../../../src/commands/element/find-elements.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,MAAM,OAAO,mBAAoB,SAAQ,WAAmD;IACjF,IAAI,GAAG,cAAc,CAAC;IACtB,MAAM,GAAG,MAAe,CAAC;IACzB,YAAY,GAAG,+BAA+B,CAAC;IAE/C,QAAQ,CAAC,MAA0B;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,yCAAyC;gBAClD,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,sCAAsC;gBAC/C,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAA0B;QAClC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,GAAY;QACxB,MAAM,IAAI,GAAG,GAA8B,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAmC,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACtB,MAAM,SAAS,GACZ,EAAE,CAAC,eAAe,CAAwB;gBAC1C,EAAE,CAAC,kBAAkB,CAAwB;gBAC9C,EAAE,CAAC;YACL,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -7,7 +7,7 @@ interface ExecuteScriptParams extends Record<string, unknown> {
|
|
|
7
7
|
export declare class ExecuteScriptCommand extends BaseCommand<ExecuteScriptParams, unknown> {
|
|
8
8
|
readonly name = "executeScript";
|
|
9
9
|
readonly method: "POST";
|
|
10
|
-
readonly pathTemplate = "/session/{sessionId}/execute";
|
|
10
|
+
readonly pathTemplate = "/session/{sessionId}/execute/async";
|
|
11
11
|
validate(params: ExecuteScriptParams): void;
|
|
12
12
|
buildBody(params: ExecuteScriptParams): unknown;
|
|
13
13
|
parseResponse(raw: unknown): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-script.command.d.ts","sourceRoot":"","sources":["../../../src/commands/script/execute-script.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,WAAW,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACjF,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAU;IAClC,QAAQ,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"execute-script.command.d.ts","sourceRoot":"","sources":["../../../src/commands/script/execute-script.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,WAAW,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACjF,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAU;IAClC,QAAQ,CAAC,YAAY,wCAAwC;IAEpD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAUpD,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO;IAO/C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;CAIrC"}
|
|
@@ -3,7 +3,7 @@ import { BaseCommand } from '../base.command.js';
|
|
|
3
3
|
export class ExecuteScriptCommand extends BaseCommand {
|
|
4
4
|
name = 'executeScript';
|
|
5
5
|
method = 'POST';
|
|
6
|
-
pathTemplate = '/session/{sessionId}/execute';
|
|
6
|
+
pathTemplate = '/session/{sessionId}/execute/async';
|
|
7
7
|
validate(params) {
|
|
8
8
|
if (!params.script) {
|
|
9
9
|
throw new AppiumError({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-script.command.js","sourceRoot":"","sources":["../../../src/commands/script/execute-script.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,OAAO,oBAAqB,SAAQ,WAAyC;IACxE,IAAI,GAAG,eAAe,CAAC;IACvB,MAAM,GAAG,MAAe,CAAC;IACzB,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"execute-script.command.js","sourceRoot":"","sources":["../../../src/commands/script/execute-script.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQjD,MAAM,OAAO,oBAAqB,SAAQ,WAAyC;IACxE,IAAI,GAAG,eAAe,CAAC;IACvB,MAAM,GAAG,MAAe,CAAC;IACzB,YAAY,GAAG,oCAAoC,CAAC;IAEpD,QAAQ,CAAC,MAA2B;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,+FAA+F;gBACxG,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAA2B;QACnC,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,GAAY;QACxB,MAAM,IAAI,GAAG,GAA8B,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from '../base.command.js';
|
|
2
|
+
interface GetSettingsParams extends Record<string, unknown> {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Read the driver settings currently in effect on a session.
|
|
7
|
+
*
|
|
8
|
+
* Returns the whole settings object as the driver reports it. Use this to
|
|
9
|
+
* capture values before `updateSettings` so they can be restored afterwards,
|
|
10
|
+
* which matters when the session is owned by someone else.
|
|
11
|
+
*/
|
|
12
|
+
export declare class GetSettingsCommand extends BaseCommand<GetSettingsParams, Record<string, unknown>> {
|
|
13
|
+
readonly name = "getSettings";
|
|
14
|
+
readonly method: "GET";
|
|
15
|
+
readonly pathTemplate = "/session/{sessionId}/appium/settings";
|
|
16
|
+
buildBody(_params: GetSettingsParams): undefined;
|
|
17
|
+
parseResponse(raw: unknown): Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=get-settings.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-settings.command.d.ts","sourceRoot":"","sources":["../../../src/commands/session/get-settings.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CACjD,iBAAiB,EACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB;IACC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,MAAM,EAAG,KAAK,CAAU;IACjC,QAAQ,CAAC,YAAY,0CAA0C;IAE/D,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS;IAIhD,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAIrD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseCommand } from '../base.command.js';
|
|
2
|
+
/**
|
|
3
|
+
* Read the driver settings currently in effect on a session.
|
|
4
|
+
*
|
|
5
|
+
* Returns the whole settings object as the driver reports it. Use this to
|
|
6
|
+
* capture values before `updateSettings` so they can be restored afterwards,
|
|
7
|
+
* which matters when the session is owned by someone else.
|
|
8
|
+
*/
|
|
9
|
+
export class GetSettingsCommand extends BaseCommand {
|
|
10
|
+
name = 'getSettings';
|
|
11
|
+
method = 'GET';
|
|
12
|
+
pathTemplate = '/session/{sessionId}/appium/settings';
|
|
13
|
+
buildBody(_params) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
parseResponse(raw) {
|
|
17
|
+
const body = raw;
|
|
18
|
+
return body['value'] ?? {};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=get-settings.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-settings.command.js","sourceRoot":"","sources":["../../../src/commands/session/get-settings.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAGvC;IACU,IAAI,GAAG,aAAa,CAAC;IACrB,MAAM,GAAG,KAAc,CAAC;IACxB,YAAY,GAAG,sCAAsC,CAAC;IAE/D,SAAS,CAAC,OAA0B;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,aAAa,CAAC,GAAY;QACxB,MAAM,IAAI,GAAG,GAA8B,CAAC;QAC5C,OAAQ,IAAI,CAAC,OAAO,CAAyC,IAAI,EAAE,CAAC;IACtE,CAAC;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseCommand } from '../base.command.js';
|
|
2
|
+
interface UpdateSettingsParams extends Record<string, unknown> {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
settings: Record<string, unknown>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Update Appium driver settings on a live session.
|
|
8
|
+
*
|
|
9
|
+
* The update is a partial merge — keys not supplied are left untouched — so
|
|
10
|
+
* callers can flip one setting without having to replay the whole object.
|
|
11
|
+
*
|
|
12
|
+
* Note that a driver accepts and stores settings it does not support, then
|
|
13
|
+
* ignores them, answering 200 either way. `getSettings` plus an observation of
|
|
14
|
+
* the actual behaviour is the only way to confirm a setting took effect.
|
|
15
|
+
*/
|
|
16
|
+
export declare class UpdateSettingsCommand extends BaseCommand<UpdateSettingsParams, void> {
|
|
17
|
+
readonly name = "updateSettings";
|
|
18
|
+
readonly method: "POST";
|
|
19
|
+
readonly pathTemplate = "/session/{sessionId}/appium/settings";
|
|
20
|
+
validate(params: UpdateSettingsParams): void;
|
|
21
|
+
buildBody(params: UpdateSettingsParams): unknown;
|
|
22
|
+
parseResponse(): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=update-settings.command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-settings.command.d.ts","sourceRoot":"","sources":["../../../src/commands/session/update-settings.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC;IAChF,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAU;IAClC,QAAQ,CAAC,YAAY,0CAA0C;IAEtD,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAUrD,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO;IAIhD,aAAa,IAAI,IAAI;CAGtB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AppiumError, AppiumErrorCode } from '../../types/error.types.js';
|
|
2
|
+
import { BaseCommand } from '../base.command.js';
|
|
3
|
+
/**
|
|
4
|
+
* Update Appium driver settings on a live session.
|
|
5
|
+
*
|
|
6
|
+
* The update is a partial merge — keys not supplied are left untouched — so
|
|
7
|
+
* callers can flip one setting without having to replay the whole object.
|
|
8
|
+
*
|
|
9
|
+
* Note that a driver accepts and stores settings it does not support, then
|
|
10
|
+
* ignores them, answering 200 either way. `getSettings` plus an observation of
|
|
11
|
+
* the actual behaviour is the only way to confirm a setting took effect.
|
|
12
|
+
*/
|
|
13
|
+
export class UpdateSettingsCommand extends BaseCommand {
|
|
14
|
+
name = 'updateSettings';
|
|
15
|
+
method = 'POST';
|
|
16
|
+
pathTemplate = '/session/{sessionId}/appium/settings';
|
|
17
|
+
validate(params) {
|
|
18
|
+
if (params.settings === null || typeof params.settings !== 'object') {
|
|
19
|
+
throw new AppiumError({
|
|
20
|
+
code: AppiumErrorCode.VALIDATION_ERROR,
|
|
21
|
+
message: '"settings" is required and must be an object',
|
|
22
|
+
httpStatus: 400,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
buildBody(params) {
|
|
27
|
+
return { settings: params.settings };
|
|
28
|
+
}
|
|
29
|
+
parseResponse() {
|
|
30
|
+
// Appium answers {"value": null} — there is nothing to parse.
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=update-settings.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-settings.command.js","sourceRoot":"","sources":["../../../src/commands/session/update-settings.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAsB,SAAQ,WAAuC;IACvE,IAAI,GAAG,gBAAgB,CAAC;IACxB,MAAM,GAAG,MAAe,CAAC;IACzB,YAAY,GAAG,sCAAsC,CAAC;IAEtD,QAAQ,CAAC,MAA4B;QAC5C,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpE,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,8CAA8C;gBACvD,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAA4B;QACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED,aAAa;QACX,8DAA8D;IAChE,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-validator.d.ts","sourceRoot":"","sources":["../../../src/http/middleware/request-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"request-validator.d.ts","sourceRoot":"","sources":["../../../src/http/middleware/request-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuB/D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAgB5F"}
|
|
@@ -16,6 +16,7 @@ const executeRequestSchema = z.object({
|
|
|
16
16
|
.optional()
|
|
17
17
|
.default({}),
|
|
18
18
|
params: z.record(z.unknown()).optional().default({}),
|
|
19
|
+
timeoutMs: z.number().int().positive().optional(),
|
|
19
20
|
});
|
|
20
21
|
export function validateExecuteRequest(req, res, next) {
|
|
21
22
|
const result = executeRequestSchema.safeParse(req.body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-validator.js","sourceRoot":"","sources":["../../../src/http/middleware/request-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QACxD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,0DAA0D;SACpE,CAAC;KACH,CAAC;IACF,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"request-validator.js","sourceRoot":"","sources":["../../../src/http/middleware/request-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACzD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QACxD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,0DAA0D;SACpE,CAAC;KACH,CAAC;IACF,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IACpF,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9F,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,eAAe,CAAC,gBAAgB;gBACtC,OAAO,EAAE,oBAAoB,MAAM,EAAE;gBACrC,UAAU,EAAE,GAAG;aAChB;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,IAAI,EAAE,CAAC;AACT,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-invoker.d.ts","sourceRoot":"","sources":["../../src/invoker/command-invoker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"command-invoker.d.ts","sourceRoot":"","sources":["../../src/invoker/command-invoker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAejF,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAsGrF"}
|
|
@@ -3,9 +3,9 @@ import { AppiumError, AppiumErrorCode } from '../types/error.types.js';
|
|
|
3
3
|
import { getCommand } from '../commands/command.registry.js';
|
|
4
4
|
import { getProvider } from '../providers/provider.factory.js';
|
|
5
5
|
import logger from '../logger/index.js';
|
|
6
|
+
const DEFAULT_TIMEOUT = Number(process.env['APPIUM_HTTP_TIMEOUT_MS']) || 120_000;
|
|
6
7
|
function createAxiosInstance() {
|
|
7
8
|
return axios.create({
|
|
8
|
-
timeout: 120_000,
|
|
9
9
|
validateStatus: () => true, // handle all statuses manually
|
|
10
10
|
});
|
|
11
11
|
}
|
|
@@ -19,10 +19,10 @@ export async function invokeCommand(request) {
|
|
|
19
19
|
const resolvedParams = commandName === 'createSession' && params['capabilities'] != null
|
|
20
20
|
? {
|
|
21
21
|
...params,
|
|
22
|
-
capabilities: {
|
|
22
|
+
capabilities: provider.normalizeCapabilities({
|
|
23
23
|
...provider.getDefaultCapabilities(),
|
|
24
24
|
...params['capabilities'],
|
|
25
|
-
},
|
|
25
|
+
}),
|
|
26
26
|
}
|
|
27
27
|
: params;
|
|
28
28
|
const requestConfig = command.buildRequestConfig(resolvedParams);
|
|
@@ -36,6 +36,7 @@ export async function invokeCommand(request) {
|
|
|
36
36
|
url,
|
|
37
37
|
headers,
|
|
38
38
|
data: requestConfig.body,
|
|
39
|
+
timeout: request.timeoutMs ?? DEFAULT_TIMEOUT,
|
|
39
40
|
});
|
|
40
41
|
if (response.status >= 400) {
|
|
41
42
|
const error = provider.normalizeError(response.status, response.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-invoker.js","sourceRoot":"","sources":["../../src/invoker/command-invoker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAsB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,SAAS,mBAAmB;IAC1B,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,
|
|
1
|
+
{"version":3,"file":"command-invoker.js","sourceRoot":"","sources":["../../src/invoker/command-invoker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAqBxB,QAAA,MAAM,MAAM,6BAMX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/logger/index.js
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import pino from 'pino';
|
|
2
2
|
const isDev = process.env['NODE_ENV'] !== 'production';
|
|
3
3
|
const level = process.env['LOG_LEVEL'] ?? 'info';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
let transport;
|
|
5
|
+
if (isDev) {
|
|
6
|
+
try {
|
|
7
|
+
transport = pino.transport({
|
|
8
|
+
target: 'pino-pretty',
|
|
9
|
+
options: {
|
|
10
|
+
colorize: true,
|
|
11
|
+
translateTime: 'SYS:standard',
|
|
12
|
+
ignore: 'pid,hostname',
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// pino-pretty not installed — fall back to default pino output
|
|
18
|
+
}
|
|
19
|
+
}
|
|
14
20
|
const logger = pino({
|
|
15
21
|
level,
|
|
16
22
|
base: { service: 'appium-http-service' },
|
package/dist/logger/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC;AACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;AAEjD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC;AACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC;AAEjD,IAAI,SAAwD,CAAC;AAC7D,IAAI,KAAK,EAAE,CAAC;IACV,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACzB,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,cAAc;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,CACjB;IACE,KAAK;IACL,IAAI,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;CACzC,EACD,SAAS,CACV,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.types.d.ts","sourceRoot":"","sources":["../../src/types/command.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"command.types.d.ts","sourceRoot":"","sources":["../../src/types/command.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,mBAAmB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
|
|
@@ -2,6 +2,18 @@ export declare const W3C_ELEMENT_KEY = "element-6066-11e4-a52e-4f735466cecf";
|
|
|
2
2
|
export declare const LEGACY_ELEMENT_KEY = "ELEMENT";
|
|
3
3
|
export interface WebDriverElement {
|
|
4
4
|
elementId: string;
|
|
5
|
+
/**
|
|
6
|
+
* Everything the find response carried alongside the element id, keys
|
|
7
|
+
* verbatim as the server sent them (`attribute/resource-id`, `rect`,
|
|
8
|
+
* `name`, `text`, ...).
|
|
9
|
+
*
|
|
10
|
+
* Absent unless the session has `shouldUseCompactResponses: false` and a
|
|
11
|
+
* non-empty `elementResponseAttributes`, which is NOT the driver default —
|
|
12
|
+
* see `updateSettings`. Also absent per-key: a driver silently omits any
|
|
13
|
+
* attribute name it does not serve, so treat a missing key as unknown
|
|
14
|
+
* rather than as an empty value.
|
|
15
|
+
*/
|
|
16
|
+
elementInfo?: Record<string, unknown>;
|
|
5
17
|
}
|
|
6
18
|
export interface WebDriverRect {
|
|
7
19
|
x: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriver.types.d.ts","sourceRoot":"","sources":["../../src/types/webdriver.types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,wCAAwC,CAAC;AACrE,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"webdriver.types.d.ts","sourceRoot":"","sources":["../../src/types/webdriver.types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,wCAAwC,CAAC;AACrE,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAG3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,gBAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;CAC9C;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAGD,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,IAAI,GACJ,kBAAkB,GAClB,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,kBAAkB,GAClB,YAAY,GACZ,cAAc,GACd,MAAM,GACN,UAAU,GACV,WAAW,GACX,mBAAmB,CAAC;AAGxB,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAGnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qapilot/appium-module",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Appium W3C WebDriver module for interacting with devices across BrowserStack, LambdaTest, and local Appium servers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"build": "tsc",
|
|
26
26
|
"start": "node dist/server.js",
|
|
27
27
|
"typecheck": "tsc --noEmit",
|
|
28
|
+
"test": "tsx scripts/release-test/src/runner.ts",
|
|
28
29
|
"prepublishOnly": "npm run build"
|
|
29
30
|
},
|
|
30
31
|
"keywords": [
|