appium-xcuitest-driver 10.14.1 → 10.14.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/lib/commands/execute.d.ts +10 -22
  3. package/build/lib/commands/execute.d.ts.map +1 -1
  4. package/build/lib/commands/execute.js +12 -28
  5. package/build/lib/commands/execute.js.map +1 -1
  6. package/build/lib/commands/location.d.ts +8 -11
  7. package/build/lib/commands/location.d.ts.map +1 -1
  8. package/build/lib/commands/location.js +7 -15
  9. package/build/lib/commands/location.js.map +1 -1
  10. package/build/lib/commands/navigation.d.ts +14 -26
  11. package/build/lib/commands/navigation.d.ts.map +1 -1
  12. package/build/lib/commands/navigation.js +10 -18
  13. package/build/lib/commands/navigation.js.map +1 -1
  14. package/build/lib/commands/pcap.d.ts +18 -38
  15. package/build/lib/commands/pcap.d.ts.map +1 -1
  16. package/build/lib/commands/pcap.js +9 -14
  17. package/build/lib/commands/pcap.js.map +1 -1
  18. package/build/lib/commands/screenshots.d.ts +15 -9
  19. package/build/lib/commands/screenshots.d.ts.map +1 -1
  20. package/build/lib/commands/screenshots.js +13 -11
  21. package/build/lib/commands/screenshots.js.map +1 -1
  22. package/build/lib/commands/source.d.ts +10 -8
  23. package/build/lib/commands/source.d.ts.map +1 -1
  24. package/build/lib/commands/source.js +11 -14
  25. package/build/lib/commands/source.js.map +1 -1
  26. package/build/lib/driver.js +1 -1
  27. package/build/lib/driver.js.map +1 -1
  28. package/build/lib/execute-method-map.d.ts.map +1 -1
  29. package/build/lib/execute-method-map.js +0 -2
  30. package/build/lib/execute-method-map.js.map +1 -1
  31. package/lib/commands/{execute.js → execute.ts} +41 -37
  32. package/lib/commands/{location.js → location.ts} +19 -22
  33. package/lib/commands/{navigation.js → navigation.ts} +23 -26
  34. package/lib/commands/{pcap.js → pcap.ts} +28 -28
  35. package/lib/commands/{screenshots.js → screenshots.ts} +24 -16
  36. package/lib/commands/{source.js → source.ts} +23 -20
  37. package/lib/driver.ts +1 -1
  38. package/lib/execute-method-map.ts +0 -2
  39. package/npm-shrinkwrap.json +2 -2
  40. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [10.14.2](https://github.com/appium/appium-xcuitest-driver/compare/v10.14.1...v10.14.2) (2026-01-01)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Migrate various command modules to typescript (part 6) ([#2692](https://github.com/appium/appium-xcuitest-driver/issues/2692)) ([3736824](https://github.com/appium/appium-xcuitest-driver/commit/37368246181f2e4096ce80ae76e3d458ea39c711))
6
+
1
7
  ## [10.14.1](https://github.com/appium/appium-xcuitest-driver/compare/v10.14.0...v10.14.1) (2025-12-31)
2
8
 
3
9
  ### Miscellaneous Chores
@@ -1,33 +1,21 @@
1
+ import { XCUITestDriver } from '../driver';
2
+ import type { StringRecord } from '@appium/types';
1
3
  /**
2
4
  * Collect the response of an async script execution
3
- * @this {XCUITestDriver}
4
5
  * @deprecated
5
6
  * @privateRemarks It's unclear what this is for. Don't use it.
6
7
  */
7
- export function receiveAsyncResponse(this: XCUITestDriver, status: any, value: any): Promise<void>;
8
+ export declare function receiveAsyncResponse(this: XCUITestDriver, status: number | null | undefined, value: any): Promise<void>;
8
9
  /**
9
- * @template {ExecuteMethodArgs} [TArgs = unknown[]]
10
- * @template [TReturn = unknown]
11
- * @param {string} script - Either a script to run, or in the case of an Execute Method, the name of the script to execute.
12
- * @param {TArgs} [args]
13
- * @this {XCUITestDriver}
14
- * @returns {Promise<TReturn>}
10
+ * @template TReturn
11
+ * @param script - Either a script to run, or in the case of an Execute Method, the name of the script to execute.
12
+ * @param args
15
13
  */
16
- export function execute<TArgs extends ExecuteMethodArgs = unknown[], TReturn = unknown>(this: XCUITestDriver, script: string, args?: TArgs): Promise<TReturn>;
14
+ export declare function execute<TReturn = unknown>(this: XCUITestDriver, script: string, args?: ExecuteMethodArgs): Promise<TReturn>;
17
15
  /**
18
- * @this {XCUITestDriver}
19
16
  * @group Mobile Web Only
20
17
  */
21
- export function executeAsync(this: XCUITestDriver, script: any, args: any): Promise<any>;
22
- export class executeAsync {
23
- /**
24
- * @this {XCUITestDriver}
25
- * @group Mobile Web Only
26
- */
27
- constructor(this: XCUITestDriver, script: any, args: any);
28
- asyncWaitMs: number;
29
- }
30
- export type StringRecord<T = any> = import("@appium/types").StringRecord<T>;
31
- export type ExecuteMethodArgs = readonly any[] | readonly [StringRecord] | Readonly<StringRecord>;
32
- import { XCUITestDriver } from '../driver';
18
+ export declare function executeAsync(this: XCUITestDriver, script: string, args?: readonly any[]): Promise<any>;
19
+ type ExecuteMethodArgs = readonly any[] | readonly [StringRecord<unknown>] | Readonly<StringRecord<unknown>>;
20
+ export {};
33
21
  //# sourceMappingURL=execute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/commands/execute.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,mGAqBC;AAED;;;;;;;GAOG;AACH,wBAPkC,KAAK,SAAzB,iBAAkB,cAClB,OAAO,0CACV,MAAM,SACN,KAAK,GAEH,OAAO,CAAC,OAAO,CAAC,CAe5B;AAED;;;GAGG;AACH,yFAaC;;IAjBD;;;OAGG;IACH,0DAaC;IAPC,oBAAwC;;yBA+E5B,CAAC,UACF,OAAO,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;gCAIvC,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;+BAtJjD,WAAW"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../../lib/commands/execute.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAU,YAAY,EAAC,MAAM,eAAe,CAAC;AAEzD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAG,OAAO,EAC7C,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,iBAAiB,GACvB,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,SAAS,GAAG,EAAE,GACpB,OAAO,CAAC,GAAG,CAAC,CAad;AA0ED,KAAK,iBAAiB,GAAG,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -12,7 +12,6 @@ const driver_2 = require("appium/driver");
12
12
  const support_1 = require("appium/support");
13
13
  /**
14
14
  * Collect the response of an async script execution
15
- * @this {XCUITestDriver}
16
15
  * @deprecated
17
16
  * @privateRemarks It's unclear what this is for. Don't use it.
18
17
  */
@@ -34,12 +33,9 @@ async function receiveAsyncResponse(status, value) {
34
33
  return this.asyncPromise.resolve(value);
35
34
  }
36
35
  /**
37
- * @template {ExecuteMethodArgs} [TArgs = unknown[]]
38
- * @template [TReturn = unknown]
39
- * @param {string} script - Either a script to run, or in the case of an Execute Method, the name of the script to execute.
40
- * @param {TArgs} [args]
41
- * @this {XCUITestDriver}
42
- * @returns {Promise<TReturn>}
36
+ * @template TReturn
37
+ * @param script - Either a script to run, or in the case of an Execute Method, the name of the script to execute.
38
+ * @param args
43
39
  */
44
40
  async function execute(script, args) {
45
41
  // TODO: create a type that converts args to the parameters of the associated method using the `command` prop of `executeMethodMap`
@@ -49,7 +45,7 @@ async function execute(script, args) {
49
45
  return await this.executeMethod(script, [executeMethodArgs]);
50
46
  }
51
47
  else if (this.isWebContext()) {
52
- const atomsArgs = this.convertElementsForAtoms(/** @type {readonly any[]} */ (args));
48
+ const atomsArgs = this.convertElementsForAtoms(args);
53
49
  const result = await this.executeAtom('execute_script', [script, atomsArgs]);
54
50
  return this.cacheWebElements(result);
55
51
  }
@@ -58,7 +54,6 @@ async function execute(script, args) {
58
54
  }
59
55
  }
60
56
  /**
61
- * @this {XCUITestDriver}
62
57
  * @group Mobile Web Only
63
58
  */
64
59
  async function executeAsync(script, args) {
@@ -72,15 +67,13 @@ async function executeAsync(script, args) {
72
67
  }
73
68
  /**
74
69
  * Checks if script expects a particular parameter (either optional or required).
75
- * @template {keyof XCUITestDriver.executeMethodMap} Script
76
- * @param {Script} script - Script name
77
- * @param {string} param - Parameter name
70
+ * @template Script
71
+ * @param script - Script name
72
+ * @param param - Parameter name
78
73
  * @returns {boolean}
79
74
  */
80
75
  function executeMethodExpectsParam(script, param) {
81
- /** @type {ReadonlyArray<string>|undefined} */
82
76
  let required;
83
- /** @type {ReadonlyArray<string>|undefined} */
84
77
  let optional;
85
78
  const execMethodDef = driver_1.XCUITestDriver.executeMethodMap[script];
86
79
  if ('params' in execMethodDef) {
@@ -95,7 +88,7 @@ function executeMethodExpectsParam(script, param) {
95
88
  return allParams.has(param);
96
89
  }
97
90
  /**
98
- * @param {any} script
91
+ * @param script
99
92
  * @returns {script is keyof XCUITestDriver.executeMethodMap}
100
93
  */
101
94
  function isExecuteMethod(script) {
@@ -103,15 +96,14 @@ function isExecuteMethod(script) {
103
96
  }
104
97
  /**
105
98
  * Massages the arguments going into an execute method.
106
- * @param {keyof XCUITestDriver.executeMethodMap} script
107
- * @param {ExecuteMethodArgs} [args]
108
- * @returns {StringRecord<unknown>}
99
+ * @param script
100
+ * @param args
109
101
  */
110
102
  function preprocessExecuteMethodArgs(script, args) {
111
103
  if (lodash_1.default.isArray(args)) {
112
104
  args = lodash_1.default.first(args);
113
105
  }
114
- const executeMethodArgs = /** @type {StringRecord<unknown>} */ (args ?? {});
106
+ const executeMethodArgs = (args ?? {});
115
107
  /**
116
108
  * Renames the deprecated `element` key to `elementId`. Historically,
117
109
  * all of the pre-Execute-Method-Map execute methods accepted an `element` _or_ and `elementId` param.
@@ -127,16 +119,8 @@ function preprocessExecuteMethodArgs(script, args) {
127
119
  * Most of these Execute Methods (typically beginning with `mobile*`) will accept an `Element|string` for `elementId`, in practice they will only ever get a `string`. `Element|string` in the method's docstring is simply for documentation purposes.
128
120
  */
129
121
  if ('elementId' in executeMethodArgs && executeMethodExpectsParam(script, 'elementId')) {
130
- executeMethodArgs.elementId = support_1.util.unwrapElement(
131
- /** @type {import('@appium/types').Element|string} */ (executeMethodArgs.elementId));
122
+ executeMethodArgs.elementId = support_1.util.unwrapElement(executeMethodArgs.elementId);
132
123
  }
133
124
  return executeMethodArgs;
134
125
  }
135
- /**
136
- * @template [T=any]
137
- * @typedef {import('@appium/types').StringRecord<T>} StringRecord
138
- */
139
- /**
140
- * @typedef {readonly any[] | readonly [StringRecord] | Readonly<StringRecord>} ExecuteMethodArgs
141
- */
142
126
  //# sourceMappingURL=execute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/commands/execute.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../lib/commands/execute.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import type { XCUITestDriver } from '../driver';
2
+ import type { Location } from '@appium/types';
3
+ import type { LocationWithAltitude } from './types';
1
4
  /**
2
5
  * Returns location of the device under test.
3
6
  * The device under test must allow the location services for WDA
@@ -11,31 +14,25 @@
11
14
  * "mobile:getSimulatedLocation" if the simulated location has been previously set
12
15
  * "mobile:setSimulatedLocation" already.
13
16
  *
14
- * @returns {Promise<import('./types').LocationWithAltitude>}
17
+ * @returns Location with altitude
15
18
  * @throws {Error} If the device under test returns an error message.
16
19
  * i.e.: tvOS returns unsupported error
17
- * @this {XCUITestDriver}
18
20
  */
19
- export function getGeoLocation(this: import("../driver").XCUITestDriver): Promise<import("./types").LocationWithAltitude>;
21
+ export declare function getGeoLocation(this: XCUITestDriver): Promise<LocationWithAltitude>;
20
22
  /**
21
23
  * Set location of the device under test.
22
24
  *
23
25
  * iOS 17+ real device environment will be via "mobile:setSimulatedLocation" as
24
26
  * setting simulated location for XCTest session.
25
27
  *
26
- * @param {Partial<Location>} location
27
- * @this {XCUITestDriver}
28
+ * @param location - Location with latitude and longitude
28
29
  */
29
- export function setGeoLocation(this: import("../driver").XCUITestDriver, location: Partial<Location>): Promise<import("@appium/types").Location>;
30
+ export declare function setGeoLocation(this: XCUITestDriver, location: Partial<Location>): Promise<Location>;
30
31
  /**
31
32
  * Reset the location service on real device.
32
33
  *
33
34
  * @throws {Error} If the device is simulator and iOS version is below 17,
34
35
  * or 'resetLocation' raises an error.
35
- * @this {XCUITestDriver}
36
36
  */
37
- export function mobileResetLocationService(this: import("../driver").XCUITestDriver): Promise<void>;
38
- export type XCUITestDriver = import("../driver").XCUITestDriver;
39
- export type WDALocationInfo = import("./types").WDALocationInfo;
40
- export type Location = import("@appium/types").Location;
37
+ export declare function mobileResetLocationService(this: XCUITestDriver): Promise<void>;
41
38
  //# sourceMappingURL=location.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../lib/commands/location.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;GAiBG;AACH,0EALa,OAAO,CAAC,OAAO,SAAS,EAAE,oBAAoB,CAAC,CAyC3D;AAED;;;;;;;;GAQG;AACH,mFAHW,OAAO,CAAC,QAAQ,CAAC,6CAgC3B;AAED;;;;;;GAMG;AACH,oGAsBC;6BAGY,OAAO,WAAW,EAAE,cAAc;8BAClC,OAAO,SAAS,EAAE,eAAe;uBACjC,OAAO,eAAe,EAAE,QAAQ"}
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../../lib/commands/location.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAC,oBAAoB,EAAkB,MAAM,SAAS,CAAC;AAGnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkCxF;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA6BnB;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBpF"}
@@ -21,10 +21,9 @@ const utils_1 = require("../utils");
21
21
  * "mobile:getSimulatedLocation" if the simulated location has been previously set
22
22
  * "mobile:setSimulatedLocation" already.
23
23
  *
24
- * @returns {Promise<import('./types').LocationWithAltitude>}
24
+ * @returns Location with altitude
25
25
  * @throws {Error} If the device under test returns an error message.
26
26
  * i.e.: tvOS returns unsupported error
27
- * @this {XCUITestDriver}
28
27
  */
29
28
  async function getGeoLocation() {
30
29
  // Currently we proxy the setGeoLocation to mobile:setSimulatedLocation for iOS 17+.
@@ -43,7 +42,7 @@ async function getGeoLocation() {
43
42
  // '/wda/device/location' returns current device location information,
44
43
  // but '/wda/simulatedLocation' returns `null` values until the WDA process
45
44
  // sets a simulated location. After setting the value, both returns the same values.
46
- const { authorizationStatus, latitude, longitude, altitude } = /** @type {WDALocationInfo} */ (await this.proxyCommand('/wda/device/location', 'GET'));
45
+ const { authorizationStatus, latitude, longitude, altitude } = await this.proxyCommand('/wda/device/location', 'GET');
47
46
  // '3' is 'Always' in the privacy
48
47
  // https://developer.apple.com/documentation/corelocation/clauthorizationstatus
49
48
  if (authorizationStatus !== enum_1.AuthorizationStatus.authorizedAlways) {
@@ -61,17 +60,16 @@ async function getGeoLocation() {
61
60
  * iOS 17+ real device environment will be via "mobile:setSimulatedLocation" as
62
61
  * setting simulated location for XCTest session.
63
62
  *
64
- * @param {Partial<Location>} location
65
- * @this {XCUITestDriver}
63
+ * @param location - Location with latitude and longitude
66
64
  */
67
65
  async function setGeoLocation(location) {
68
- let { latitude, longitude } = location;
66
+ const { latitude, longitude } = location;
69
67
  if (!support_1.util.hasValue(latitude) || !support_1.util.hasValue(longitude)) {
70
68
  throw new driver_1.errors.InvalidArgumentError(`Both latitude and longitude should be set`);
71
69
  }
72
70
  if (this.isSimulator()) {
73
- await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).setGeolocation(`${latitude}`, `${longitude}`);
74
- return /** @type {Location} */ ({ latitude, longitude, altitude: 0 });
71
+ await this.device.setGeolocation(`${latitude}`, `${longitude}`);
72
+ return { latitude, longitude, altitude: 0 };
75
73
  }
76
74
  if ((0, utils_1.isIos17OrNewer)(this.opts)) {
77
75
  this.log.info(`Proxying to mobile:setSimulatedLocation method for iOS 17+`);
@@ -89,14 +87,13 @@ async function setGeoLocation(location) {
89
87
  service.close();
90
88
  }
91
89
  }
92
- return /** @type {Location} */ ({ latitude, longitude, altitude: 0 });
90
+ return { latitude, longitude, altitude: 0 };
93
91
  }
94
92
  /**
95
93
  * Reset the location service on real device.
96
94
  *
97
95
  * @throws {Error} If the device is simulator and iOS version is below 17,
98
96
  * or 'resetLocation' raises an error.
99
- * @this {XCUITestDriver}
100
97
  */
101
98
  async function mobileResetLocationService() {
102
99
  if ((0, utils_1.isIos17OrNewer)(this.opts)) {
@@ -119,9 +116,4 @@ async function mobileResetLocationService() {
119
116
  service.close();
120
117
  }
121
118
  }
122
- /**
123
- * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
124
- * @typedef {import('./types').WDALocationInfo} WDALocationInfo
125
- * @typedef {import('@appium/types').Location} Location
126
- */
127
119
  //# sourceMappingURL=location.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../lib/commands/location.js"],"names":[],"mappings":";;AAwBA,wCAoCC;AAWD,wCA6BC;AASD,gEAsBC;AAnID,yDAA2C;AAC3C,0CAAqC;AACrC,4CAAoC;AACpC,iCAA2C;AAC3C,oCAA0C;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,cAAc;IAClC,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACtE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yFAAyF;gBACtG,qEAAqE,CAAC,CAAC;YACzE,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IACtH,CAAC;IAED,sFAAsF;IACtF,4FAA4F;IAC5F,sEAAsE;IACtE,2EAA2E;IAC3E,oFAAoF;IACpF,MAAM,EAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,GAAG,8BAA8B,CAAC,CAC1F,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,KAAK,CAAC,CACvD,CAAC;IAEF,iCAAiC;IACjC,+EAA+E;IAC/E,IAAI,mBAAmB,KAAK,0BAAmB,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,uDAAuD;YACrD,uEAAuE;YACvE,2EAA2E;YAC3E,qFAAqF;YACrF,gCAAgC,CACnC,CAAC;IACJ,CAAC;IAED,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,cAAc,CAAC,QAAQ;IAC3C,IAAI,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,QAAQ,CAAC;IAErC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,MAAM,uDAAuD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,GAAG,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAC1H,OAAO,uBAAuB,CAAC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,4BAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,qCAAqC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC,OAAO,EAAE,CACrF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,0BAA0B;IAC9C,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,eAAM,CAAC,mBAAmB,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,4BAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,yDAAyD,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;YAC1E,mBAAmB,GAAG,CAAC,OAAO,EAAE,CACnC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;GAIG"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../../lib/commands/location.ts"],"names":[],"mappings":";;AA2BA,wCAkCC;AAUD,wCAgCC;AAQD,gEAsBC;AArID,yDAA2C;AAC3C,0CAAqC;AACrC,4CAAoC;AACpC,iCAA2C;AAC3C,oCAA0C;AAM1C;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,cAAc;IAClC,oFAAoF;IACpF,mFAAmF;IACnF,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACtE,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yFAAyF;gBACtG,qEAAqE,CAAC,CAAC;YACzE,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IACtH,CAAC;IAED,sFAAsF;IACtF,4FAA4F;IAC5F,sEAAsE;IACtE,2EAA2E;IAC3E,oFAAoF;IACpF,MAAM,EAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,KAAK,CAAoB,CAAC;IAEvI,iCAAiC;IACjC,+EAA+E;IAC/E,IAAI,mBAAmB,KAAK,0BAAmB,CAAC,gBAAgB,EAAE,CAAC;QACjE,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,uDAAuD;YACrD,uEAAuE;YACvE,2EAA2E;YAC3E,qFAAqF;YACrF,gCAAgC,CACnC,CAAC;IACJ,CAAC;IAED,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAElC,QAA2B;IAE3B,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,QAAQ,CAAC;IAEvC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAM,CAAC,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,MAAO,IAAI,CAAC,MAAoB,CAAC,cAAc,CAAC,GAAG,QAAQ,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,4BAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,qCAAqC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC,OAAO,EAAE,CACrF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,0BAA0B;IAC9C,IAAI,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,MAAM,IAAI,eAAM,CAAC,mBAAmB,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,4BAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,yDAAyD,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;YAC1E,mBAAmB,GAAG,CAAC,OAAO,EAAE,CACnC,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1,44 +1,32 @@
1
+ import type { XCUITestDriver } from '../driver';
1
2
  /**
2
- * @this {XCUITestDriver}
3
+ * Navigate back in the browser history or native app navigation.
3
4
  */
4
- export function back(this: import("../driver").XCUITestDriver): Promise<void>;
5
+ export declare function back(this: XCUITestDriver): Promise<void>;
5
6
  /**
6
- * @this {XCUITestDriver}
7
+ * Navigate forward in the browser history.
7
8
  */
8
- export function forward(this: import("../driver").XCUITestDriver): Promise<void>;
9
+ export declare function forward(this: XCUITestDriver): Promise<void>;
9
10
  /**
10
- * @this {XCUITestDriver}
11
+ * Closes the current window in a web context.
12
+ *
13
+ * @returns Promise that resolves when the window is closed
11
14
  */
12
- export function closeWindow(this: import("../driver").XCUITestDriver): Promise<any>;
15
+ export declare function closeWindow(this: XCUITestDriver): Promise<any>;
13
16
  /**
14
17
  * Opens the given URL with the default application assigned to handle it based on the URL
15
18
  * scheme, or the application provided as an optional parameter
16
19
  *
17
20
  * (Note: the version of Xcode must be 14.3+ and iOS must be 16.4+)
18
21
  *
19
- * @param {string} url - the URL to be opened, e.g. `myscheme://yolo`
20
- * @param {string} [bundleId] - the application to open the given URL with. If not provided, then
22
+ * @param url - the URL to be opened, e.g. `myscheme://yolo`
23
+ * @param bundleId - the application to open the given URL with. If not provided, then
21
24
  * the application assigned by the operating system to handle URLs of the appropriate type
22
- * @returns {Promise<void>}
23
25
  * @since 4.17
24
- * @this {XCUITestDriver}
25
26
  */
26
- export function mobileDeepLink(this: import("../driver").XCUITestDriver, url: string, bundleId?: string): Promise<void>;
27
+ export declare function mobileDeepLink(this: XCUITestDriver, url: string, bundleId?: string): Promise<void>;
27
28
  /**
28
- * @this {XCUITestDriver}
29
+ * Navigate back in native app navigation by finding and clicking the back button.
29
30
  */
30
- export function nativeBack(this: import("../driver").XCUITestDriver): Promise<void>;
31
- export type XCUITestDriver = import("../driver").XCUITestDriver;
32
- export type DeepLinkOptions = {
33
- /**
34
- * The URL to be opened. This parameter is manadatory
35
- */
36
- url: string;
37
- /**
38
- * The bundle identifier of an application to open the
39
- * given url with. If not provided then the default application for the given url scheme
40
- * is going to be used.
41
- */
42
- bundleId: string | null;
43
- };
31
+ export declare function nativeBack(this: XCUITestDriver): Promise<void>;
44
32
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../lib/commands/navigation.js"],"names":[],"mappings":"AAQA;;GAEG;AACH,8EAMC;AAED;;GAEG;AACH,iFAIC;AAED;;GAEG;AACH,oFAsBC;AAED;;;;;;;;;;;;GAYG;AACH,8EAPW,MAAM,aACN,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CASzB;AAED;;GAEG;AACH,oFAwCC;6BAGY,OAAO,WAAW,EAAE,cAAc;;;;;SAKjC,MAAM;;;;;;cACN,MAAM,OAAC"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../lib/commands/navigation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAO9C;;GAEG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAsBpE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCpE"}
@@ -12,7 +12,7 @@ const utils_1 = require("../utils");
12
12
  const CLOSE_WINDOW_TIMEOUT = 5000;
13
13
  const CLOSE_WINDOW_INTERVAL = 100;
14
14
  /**
15
- * @this {XCUITestDriver}
15
+ * Navigate back in the browser history or native app navigation.
16
16
  */
17
17
  async function back() {
18
18
  if (!this.isWebContext()) {
@@ -23,15 +23,19 @@ async function back() {
23
23
  }
24
24
  }
25
25
  /**
26
- * @this {XCUITestDriver}
26
+ * Navigate forward in the browser history.
27
27
  */
28
28
  async function forward() {
29
29
  if (!this.isWebContext()) {
30
+ // No-op for native context
31
+ return;
30
32
  }
31
33
  await this.mobileWebNav('forward');
32
34
  }
33
35
  /**
34
- * @this {XCUITestDriver}
36
+ * Closes the current window in a web context.
37
+ *
38
+ * @returns Promise that resolves when the window is closed
35
39
  */
36
40
  async function closeWindow() {
37
41
  if (!this.isWebContext()) {
@@ -63,12 +67,10 @@ async function closeWindow() {
63
67
  *
64
68
  * (Note: the version of Xcode must be 14.3+ and iOS must be 16.4+)
65
69
  *
66
- * @param {string} url - the URL to be opened, e.g. `myscheme://yolo`
67
- * @param {string} [bundleId] - the application to open the given URL with. If not provided, then
70
+ * @param url - the URL to be opened, e.g. `myscheme://yolo`
71
+ * @param bundleId - the application to open the given URL with. If not provided, then
68
72
  * the application assigned by the operating system to handle URLs of the appropriate type
69
- * @returns {Promise<void>}
70
73
  * @since 4.17
71
- * @this {XCUITestDriver}
72
74
  */
73
75
  async function mobileDeepLink(url, bundleId) {
74
76
  return await this.proxyCommand('/url', 'POST', {
@@ -77,7 +79,7 @@ async function mobileDeepLink(url, bundleId) {
77
79
  });
78
80
  }
79
81
  /**
80
- * @this {XCUITestDriver}
82
+ * Navigate back in native app navigation by finding and clicking the back button.
81
83
  */
82
84
  async function nativeBack() {
83
85
  if ((0, utils_1.isTvOs)(this.opts.platformName)) {
@@ -106,14 +108,4 @@ async function nativeBack() {
106
108
  this.log.error(`Unable to find navigation bar and back button: ${err.message}`);
107
109
  }
108
110
  }
109
- /**
110
- * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
111
- */
112
- /**
113
- * @typedef {Object} DeepLinkOptions
114
- * @property {string} url The URL to be opened. This parameter is manadatory
115
- * @property {string?} bundleId The bundle identifier of an application to open the
116
- * given url with. If not provided then the default application for the given url scheme
117
- * is going to be used.
118
- */
119
111
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../lib/commands/navigation.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../lib/commands/navigation.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,24 @@
1
+ import type { XCUITestDriver } from '../driver';
2
+ export declare class TrafficCapture {
3
+ private mainProcess;
4
+ private readonly udid;
5
+ private readonly log;
6
+ private readonly resultPath;
7
+ constructor(udid: string, log: any, resultPath: string);
8
+ start(timeoutSeconds: number): Promise<void>;
9
+ isCapturing(): boolean;
10
+ interrupt(force?: boolean): Promise<boolean>;
11
+ finish(): Promise<string>;
12
+ cleanup(): Promise<void>;
13
+ }
1
14
  /**
2
15
  * Records the given network traffic capture into a .pcap file.
3
16
  *
4
- * @param {number} timeLimitSec - The maximum recording time, in seconds. The maximum value is `43200` (12 hours).
5
- * @param {boolean} forceRestart - Whether to restart traffic capture process forcefully when startPcap is called (`true`) or ignore the call until the current traffic capture is completed (`false`, the default value).
17
+ * @param timeLimitSec - The maximum recording time, in seconds. The maximum value is `43200` (12 hours).
18
+ * @param forceRestart - Whether to restart traffic capture process forcefully when startPcap is called (`true`) or ignore the call until the current traffic capture is completed (`false`, the default value).
6
19
  * @throws {Error} If network traffic capture has failed to start.
7
- * @returns {Promise<void>}
8
- * @this {XCUITestDriver}
9
20
  */
10
- export function mobileStartPcap(this: import("../driver").XCUITestDriver, timeLimitSec?: number, forceRestart?: boolean): Promise<void>;
11
- export class mobileStartPcap {
12
- /**
13
- * Records the given network traffic capture into a .pcap file.
14
- *
15
- * @param {number} timeLimitSec - The maximum recording time, in seconds. The maximum value is `43200` (12 hours).
16
- * @param {boolean} forceRestart - Whether to restart traffic capture process forcefully when startPcap is called (`true`) or ignore the call until the current traffic capture is completed (`false`, the default value).
17
- * @throws {Error} If network traffic capture has failed to start.
18
- * @returns {Promise<void>}
19
- * @this {XCUITestDriver}
20
- */
21
- constructor(this: import("../driver").XCUITestDriver, timeLimitSec?: number, forceRestart?: boolean);
22
- _trafficCapture: TrafficCapture;
23
- }
21
+ export declare function mobileStartPcap(this: XCUITestDriver, timeLimitSec?: number, forceRestart?: boolean): Promise<void>;
24
22
  /**
25
23
  * Stops network traffic capture.
26
24
  *
@@ -29,26 +27,8 @@ export class mobileStartPcap {
29
27
  * If no previously recorded file is found and no active traffic capture processes are running, then the method returns an empty string.
30
28
  *
31
29
  * @remarks Network capture files can be viewed in [Wireshark](https://www.wireshark.org/) and other similar applications.
32
- * @returns {Promise<string>} Base64-encoded content of the recorded pcap file or an empty string if no traffic capture has been started before.
30
+ * @returns Base64-encoded content of the recorded pcap file or an empty string if no traffic capture has been started before.
33
31
  * @throws {Error} If there was an error while getting the capture file.
34
- * @this {XCUITestDriver}
35
32
  */
36
- export function mobileStopPcap(this: import("../driver").XCUITestDriver): Promise<string>;
37
- export class mobileStopPcap {
38
- _trafficCapture: any;
39
- }
40
- export class TrafficCapture {
41
- constructor(udid: any, log: any, resultPath: any);
42
- /** @type {import('teen_process').SubProcess|null} */
43
- mainProcess: import("teen_process").SubProcess | null;
44
- udid: any;
45
- log: any;
46
- resultPath: any;
47
- start(timeoutSeconds: any): Promise<void>;
48
- isCapturing(): boolean;
49
- interrupt(force?: boolean): Promise<boolean>;
50
- finish(): Promise<any>;
51
- cleanup(): Promise<void>;
52
- }
53
- export type XCUITestDriver = import("../driver").XCUITestDriver;
33
+ export declare function mobileStopPcap(this: XCUITestDriver): Promise<string>;
54
34
  //# sourceMappingURL=pcap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pcap.d.ts","sourceRoot":"","sources":["../../../lib/commands/pcap.js"],"names":[],"mappings":"AAyEA;;;;;;;;GAQG;AACH,yFANW,MAAM,iBACN,OAAO,GAEL,OAAO,CAAC,IAAI,CAAC,CAgDzB;;IAtDD;;;;;;;;OAQG;IACH,qEANW,MAAM,iBACN,OAAO,EAkDjB;IAzBG,gCAA2B;;AA2B/B;;;;;;;;;;;GAWG;AACH,0EAJa,OAAO,CAAC,MAAM,CAAC,CA0B3B;;IAJG,qBAA2B;;AAvJ/B;IAGE,kDAKC;IAPD,qDAAqD;IACrD,aADW,OAAO,cAAc,EAAE,UAAU,GAAC,IAAI,CACrC;IAEV,UAAgB;IAChB,SAAc;IACd,gBAA4B;IAI9B,0CAmBC;IAED,uBAEC;IAED,6CAgBC;IAED,uBAGC;IAED,yBAIC;CACF;6BA+FY,OAAO,WAAW,EAAE,cAAc"}
1
+ {"version":3,"file":"pcap.d.ts","sourceRoot":"","sources":["../../../lib/commands/pcap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAM9C,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAMhD,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlD,WAAW,IAAI,OAAO;IAIhB,SAAS,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB1C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAKzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,cAAc,EACpB,YAAY,SAAM,EAClB,YAAY,UAAQ,GACnB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB1E"}
@@ -10,19 +10,20 @@ const driver_1 = require("appium/driver");
10
10
  const MAX_CAPTURE_TIME_SEC = 60 * 60 * 12;
11
11
  const DEFAULT_EXT = '.pcap';
12
12
  class TrafficCapture {
13
- /** @type {import('teen_process').SubProcess|null} */
14
- mainProcess;
13
+ mainProcess = null;
14
+ udid;
15
+ log;
16
+ resultPath;
15
17
  constructor(udid, log, resultPath) {
16
18
  this.udid = udid;
17
19
  this.log = log;
18
20
  this.resultPath = resultPath;
19
- this.mainProcess = null;
20
21
  }
21
22
  async start(timeoutSeconds) {
22
- this.mainProcess = /** @type {import('teen_process').SubProcess} */ (await new py_ios_device_client_1.Pyidevice({
23
+ this.mainProcess = await new py_ios_device_client_1.Pyidevice({
23
24
  udid: this.udid,
24
25
  log: this.log,
25
- }).collectPcap(this.resultPath));
26
+ }).collectPcap(this.resultPath);
26
27
  this.mainProcess.on('line-stderr', (line) => this.log.info(`[Pcap] ${line}`));
27
28
  this.log.info(`Starting network traffic capture session on the device '${this.udid}'. ` +
28
29
  `Will timeout in ${timeoutSeconds}s`);
@@ -64,11 +65,9 @@ exports.TrafficCapture = TrafficCapture;
64
65
  /**
65
66
  * Records the given network traffic capture into a .pcap file.
66
67
  *
67
- * @param {number} timeLimitSec - The maximum recording time, in seconds. The maximum value is `43200` (12 hours).
68
- * @param {boolean} forceRestart - Whether to restart traffic capture process forcefully when startPcap is called (`true`) or ignore the call until the current traffic capture is completed (`false`, the default value).
68
+ * @param timeLimitSec - The maximum recording time, in seconds. The maximum value is `43200` (12 hours).
69
+ * @param forceRestart - Whether to restart traffic capture process forcefully when startPcap is called (`true`) or ignore the call until the current traffic capture is completed (`false`, the default value).
69
70
  * @throws {Error} If network traffic capture has failed to start.
70
- * @returns {Promise<void>}
71
- * @this {XCUITestDriver}
72
71
  */
73
72
  async function mobileStartPcap(timeLimitSec = 180, forceRestart = false) {
74
73
  if (this.isSimulator()) {
@@ -118,9 +117,8 @@ async function mobileStartPcap(timeLimitSec = 180, forceRestart = false) {
118
117
  * If no previously recorded file is found and no active traffic capture processes are running, then the method returns an empty string.
119
118
  *
120
119
  * @remarks Network capture files can be viewed in [Wireshark](https://www.wireshark.org/) and other similar applications.
121
- * @returns {Promise<string>} Base64-encoded content of the recorded pcap file or an empty string if no traffic capture has been started before.
120
+ * @returns Base64-encoded content of the recorded pcap file or an empty string if no traffic capture has been started before.
122
121
  * @throws {Error} If there was an error while getting the capture file.
123
- * @this {XCUITestDriver}
124
122
  */
125
123
  async function mobileStopPcap() {
126
124
  if (!this._trafficCapture) {
@@ -143,7 +141,4 @@ async function mobileStopPcap() {
143
141
  }
144
142
  return await (0, utils_1.encodeBase64OrUpload)(resultPath);
145
143
  }
146
- /**
147
- * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
148
- */
149
144
  //# sourceMappingURL=pcap.js.map