appium-xcuitest-driver 5.15.0 → 5.15.1

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 CHANGED
@@ -1,3 +1,15 @@
1
+ ## [5.15.1](https://github.com/appium/appium-xcuitest-driver/compare/v5.15.0...v5.15.1) (2024-01-31)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * revert active application detection fix added in 5.14.1 ([#2314](https://github.com/appium/appium-xcuitest-driver/issues/2314)) ([b46243e](https://github.com/appium/appium-xcuitest-driver/commit/b46243e6276ce65bb25f6bd7650a25b935df955f))
7
+
8
+
9
+ ### Code Refactoring
10
+
11
+ * Unify devicectl usage ([#2310](https://github.com/appium/appium-xcuitest-driver/issues/2310)) ([b788c76](https://github.com/appium/appium-xcuitest-driver/commit/b788c76ef0f020adf5012d729013e7ed69508307))
12
+
1
13
  ## [5.15.0](https://github.com/appium/appium-xcuitest-driver/compare/v5.14.2...v5.15.0) (2024-01-29)
2
14
 
3
15
 
@@ -14,6 +26,8 @@
14
26
 
15
27
  ## [5.14.1](https://github.com/appium/appium-xcuitest-driver/compare/v5.14.0...v5.14.1) (2024-01-24)
16
28
 
29
+ ### Bug Fixes
30
+ * Fixed current active application detection in WebDriverAgent [WebDriverAgent#834](https://github.com/appium/WebDriverAgent/pull/834). It might require switching the active application to `com.apple.springboard` in order to interact with system dialogs, such as permission dialogs, while the current active application is not the springboard. Using `mobile:alert` or `acceptAlertButtonSelector`/`dismissAlertButtonSelector` also should help. See also [appium#19716](https://github.com/appium/appium/issues/19716).
17
31
 
18
32
  ### Miscellaneous Chores
19
33
 
@@ -46,16 +46,24 @@ export class Devicectl {
46
46
  /**
47
47
  * Simulates memory warning for the process with the given PID
48
48
  *
49
- * @param {number} pid
49
+ * @param {number|string} pid The process identifier to simulate the Low Memory warning for
50
50
  * @return {Promise<void>}
51
51
  */
52
- sendMemoryWarning(pid: number): Promise<void>;
52
+ sendMemoryWarning(pid: number | string): Promise<void>;
53
53
  /**
54
54
  * Lists running processes on the device
55
55
  *
56
56
  * @returns {Promise<ProcessInfo[]>}
57
57
  */
58
58
  listProcesses(): Promise<ProcessInfo[]>;
59
+ /**
60
+ * Send POSIX signal to the running process
61
+ *
62
+ * @param {number|string} pid The process identifier to send a signal to
63
+ * @param {number|string} signal The signal to send to a process. See 'man signal' for a list of signals
64
+ * @returns {Promise<void>}
65
+ */
66
+ sendSignalToProcess(pid: number | string, signal: number | string): Promise<void>;
59
67
  /**
60
68
  * Retrieves the list of installed apps from the device
61
69
  *
@@ -1 +1 @@
1
- {"version":3,"file":"devicectl.d.ts","sourceRoot":"","sources":["../../lib/devicectl.js"],"names":[],"mappings":"AAMA;;;;GAIG;AAUH;;;;;;;;;;;;;GAaG;AAmBH;;;;;;GAMG;AAEH;;GAEG;AAEH;IACE;;;;OAIG;IACH,kBAHW,MAAM,OACN,OAAO,eAAe,EAAE,YAAY,EAK9C;IAFC,aAAgB;IAChB,0CAAc;IAGhB;;;;;OAKG;IACH,sDAJW,MAAM,EAAE,wIA0ClB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,GACL,QAAQ,IAAI,CAAC,CAMxB;IAED;;;;OAIG;IACH,iBAFa,QAAQ,WAAW,EAAE,CAAC,CAKlC;IAED;;;;;;OAMG;IACH,gDAFa,QAAQ,OAAO,EAAE,CAAC,CAW9B;CACF;;uBAxJa,MAAM;gBACN,MAAM;;;aAaN,OAAO;sBACP,OAAO;sBACP,MAAM;mBACN,MAAM;gBACN,OAAO;YACP,OAAO;iBACP,OAAO;UACP,MAAM;eACN,OAAO;SACP,MAAM;aACN,MAAM;;;;;;;;yBA6BP;IAAC,YAAY,EAAE,IAAI,CAAA;CAAC;2BA7DF,cAAc"}
1
+ {"version":3,"file":"devicectl.d.ts","sourceRoot":"","sources":["../../lib/devicectl.js"],"names":[],"mappings":"AAMA;;;;GAIG;AAUH;;;;;;;;;;;;;GAaG;AAmBH;;;;;;GAMG;AAEH;;GAEG;AAEH;IACE;;;;OAIG;IACH,kBAHW,MAAM,OACN,OAAO,eAAe,EAAE,YAAY,EAK9C;IAFC,aAAgB;IAChB,0CAAc;IAGhB;;;;;OAKG;IACH,sDAJW,MAAM,EAAE,wIA0ClB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,GAAC,MAAM,GACZ,QAAQ,IAAI,CAAC,CAMxB;IAED;;;;OAIG;IACH,iBAFa,QAAQ,WAAW,EAAE,CAAC,CAKlC;IAED;;;;;;OAMG;IACH,yBAJW,MAAM,GAAC,MAAM,UACb,MAAM,GAAC,MAAM,GACX,QAAQ,IAAI,CAAC,CAMzB;IAED;;;;;;OAMG;IACH,gDAFa,QAAQ,OAAO,EAAE,CAAC,CAW9B;CACF;;uBArKa,MAAM;gBACN,MAAM;;;aAaN,OAAO;sBACP,OAAO;sBACP,MAAM;mBACN,MAAM;gBACN,OAAO;YACP,OAAO;iBACP,OAAO;UACP,MAAM;eACN,OAAO;SACP,MAAM;aACN,MAAM;;;;;;;;yBA6BP;IAAC,YAAY,EAAE,IAAI,CAAA;CAAC;2BA7DF,cAAc"}
@@ -111,7 +111,7 @@ class Devicectl {
111
111
  /**
112
112
  * Simulates memory warning for the process with the given PID
113
113
  *
114
- * @param {number} pid
114
+ * @param {number|string} pid The process identifier to simulate the Low Memory warning for
115
115
  * @return {Promise<void>}
116
116
  */
117
117
  async sendMemoryWarning(pid) {
@@ -128,6 +128,18 @@ class Devicectl {
128
128
  const { stdout } = await this.execute(['device', 'info', 'processes']);
129
129
  return JSON.parse(stdout).result.runningProcesses;
130
130
  }
131
+ /**
132
+ * Send POSIX signal to the running process
133
+ *
134
+ * @param {number|string} pid The process identifier to send a signal to
135
+ * @param {number|string} signal The signal to send to a process. See 'man signal' for a list of signals
136
+ * @returns {Promise<void>}
137
+ */
138
+ async sendSignalToProcess(pid, signal) {
139
+ await this.execute(['device', 'process', 'signal'], {
140
+ subcommandOptions: ['--signal', `${signal}`, '--pid', `${pid}`]
141
+ });
142
+ }
131
143
  /**
132
144
  * Retrieves the list of installed apps from the device
133
145
  *
@@ -1 +1 @@
1
- {"version":3,"file":"devicectl.js","sourceRoot":"","sources":["../../lib/devicectl.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devicectl.js","sourceRoot":"","sources":["../../lib/devicectl.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ios-deploy.d.ts","sourceRoot":"","sources":["../../lib/ios-deploy.js"],"names":[],"mappings":";AAsBA;IACE,uBAEC;IADC,UAAgB;IAGlB,qCAOC;IAED,wCAEC;IAED;;;;;;OAMG;IACH,aALW,MAAM,2CAEN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAoE/C;IAED,wFA8BC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,WACN,MAAM,YACN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAI/C;IAED;;;;;;;OAOG;IACH,yBAJW,MAAM,GACL,QAAQ,OAAO,CAAC,CAK3B;IAED;;;;;;;;;;;OAWG;IACH,uBARW,MAAM,qBACN,MAAM,GAAC,MAAM,EAAE,GAAC,SAAS,GAIvB,QAAQ,MAAO,SAAS,CAAC,CAgBrC;IAED,oEAiFC;IAED;;;;;OAKG;IACH,kDALW,MAAM,GAEJ,QAAQ,MAAM,EAAE,CAAC,CAoB7B;IAED,mCAEC;CACF"}
1
+ {"version":3,"file":"ios-deploy.d.ts","sourceRoot":"","sources":["../../lib/ios-deploy.js"],"names":[],"mappings":";AAsBA;IACE,uBAEC;IADC,UAAgB;IAGlB,qCAOC;IAED,wCAEC;IAED;;;;;;OAMG;IACH,aALW,MAAM,2CAEN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAoE/C;IAED,wFA8BC;IAED;;;;;OAKG;IACH,gBAJW,MAAM,WACN,MAAM,YACN,YAAY,GAAC,QAAQ,GAAC,UAAU,GAAC,IAAI,iBAI/C;IAED;;;;;;;OAOG;IACH,yBAJW,MAAM,GACL,QAAQ,OAAO,CAAC,CAK3B;IAED;;;;;;;;;;;OAWG;IACH,uBARW,MAAM,qBACN,MAAM,GAAC,MAAM,EAAE,GAAC,SAAS,GAIvB,QAAQ,MAAO,SAAS,CAAC,CAgBrC;IAED,oEAwDC;IAED;;;;;OAKG;IACH,kDALW,MAAM,GAEJ,QAAQ,MAAM,EAAE,CAAC,CAoB7B;IAED,mCAEC;CACF"}
@@ -12,7 +12,7 @@ const lodash_1 = __importDefault(require("lodash"));
12
12
  const teen_process_1 = require("teen_process");
13
13
  const app_utils_1 = require("./app-utils");
14
14
  const ios_fs_helpers_1 = require("./ios-fs-helpers");
15
- const xcrun_1 = require("./xcrun");
15
+ const devicectl_1 = require("./devicectl");
16
16
  const APPLICATION_INSTALLED_NOTIFICATION = 'com.apple.mobile.application_installed';
17
17
  const INSTALLATION_STAGING_DIR = 'PublicStaging';
18
18
  const APPLICATION_NOTIFICATION_TIMEOUT_MS = 30 * 1000;
@@ -196,39 +196,15 @@ class IOSDeploy {
196
196
  // so hre uses the 'devicectl' only for iOS 17+.
197
197
  if (support_1.util.compareVersions(platformVersion, '>=', '17.0')) {
198
198
  logger_1.default.debug(`Calling devicectl to kill the process`);
199
- // FIXME: replace `devicectl` command with a wrapper later
200
- // or remove after implementing appium-ios-device for iOS 17+.
201
- const xcrunBinnaryPath = await (0, xcrun_1.requireXcrun)();
202
- const { stdout } = await (0, teen_process_1.exec)(xcrunBinnaryPath, [
203
- 'devicectl',
204
- 'device',
205
- 'info',
206
- 'processes',
207
- `--device`, this.udid
208
- ]);
209
- // Each line has spaces. devicectl has JSON output option, but it writes it to a file only.
210
- // Here parse the standard output directly.
211
- // e.g.:
212
- // 823 /private/var/containers/Bundle/Application/8E748312-8CBE-4C13-8295-C2EF3ED2C0C1/WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner
213
- // 824 /Applications/MobileSafari.app/MobileSafari
214
- // 825 /usr/libexec/debugserver
215
- const executableLine = stdout.split('\n').find((line) => line.trim().endsWith(executableName));
216
- if (!executableLine) {
199
+ const devicectl = new devicectl_1.Devicectl(this.udid, logger_1.default);
200
+ const pids = (await devicectl.listProcesses())
201
+ .filter(({ executable }) => executable.endsWith(`/${executableName}`))
202
+ .map(({ processIdentifier }) => processIdentifier);
203
+ if (lodash_1.default.isEmpty(pids)) {
217
204
  logger_1.default.info(`The process of the bundle id '${bundleId}' was not running`);
218
205
  return false;
219
206
  }
220
- await (0, teen_process_1.exec)(xcrunBinnaryPath, [
221
- 'devicectl',
222
- 'device',
223
- 'process',
224
- 'signal',
225
- '-s', `2`,
226
- // e.g.
227
- // '824 /Applications/MobileSafari.app/MobileSafari '
228
- // ' 999 /Applications/MobileSafari.app/MobileSafari ' (can include spaces in the top)
229
- '-p', `${executableLine.trim().split(/\s+/)[0]}`,
230
- `--device`, this.udid
231
- ]);
207
+ await devicectl.sendSignalToProcess(pids[0], 2);
232
208
  }
233
209
  else {
234
210
  instrumentService = await appium_ios_device_1.services.startInstrumentService(this.udid);
@@ -1 +1 @@
1
- {"version":3,"file":"ios-deploy.js","sourceRoot":"","sources":["../../lib/ios-deploy.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ios-deploy.js","sourceRoot":"","sources":["../../lib/ios-deploy.js"],"names":[],"mappings":"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"}
package/lib/devicectl.js CHANGED
@@ -122,7 +122,7 @@ export class Devicectl {
122
122
  /**
123
123
  * Simulates memory warning for the process with the given PID
124
124
  *
125
- * @param {number} pid
125
+ * @param {number|string} pid The process identifier to simulate the Low Memory warning for
126
126
  * @return {Promise<void>}
127
127
  */
128
128
  async sendMemoryWarning(pid) {
@@ -141,6 +141,19 @@ export class Devicectl {
141
141
  return JSON.parse(stdout).result.runningProcesses;
142
142
  }
143
143
 
144
+ /**
145
+ * Send POSIX signal to the running process
146
+ *
147
+ * @param {number|string} pid The process identifier to send a signal to
148
+ * @param {number|string} signal The signal to send to a process. See 'man signal' for a list of signals
149
+ * @returns {Promise<void>}
150
+ */
151
+ async sendSignalToProcess(pid, signal) {
152
+ await this.execute(['device', 'process', 'signal'], {
153
+ subcommandOptions: ['--signal', `${signal}`, '--pid', `${pid}`]
154
+ });
155
+ }
156
+
144
157
  /**
145
158
  * Retrieves the list of installed apps from the device
146
159
  *
package/lib/ios-deploy.js CHANGED
@@ -7,7 +7,7 @@ import _ from 'lodash';
7
7
  import {exec} from 'teen_process';
8
8
  import {extractBundleId} from './app-utils';
9
9
  import {pushFolder} from './ios-fs-helpers';
10
- import { requireXcrun } from './xcrun';
10
+ import { Devicectl } from './devicectl';
11
11
 
12
12
  const APPLICATION_INSTALLED_NOTIFICATION = 'com.apple.mobile.application_installed';
13
13
  const INSTALLATION_STAGING_DIR = 'PublicStaging';
@@ -211,40 +211,15 @@ class IOSDeploy {
211
211
  if (util.compareVersions(platformVersion, '>=', '17.0')) {
212
212
  log.debug(`Calling devicectl to kill the process`);
213
213
 
214
- // FIXME: replace `devicectl` command with a wrapper later
215
- // or remove after implementing appium-ios-device for iOS 17+.
216
-
217
- const xcrunBinnaryPath = await requireXcrun();
218
- const {stdout} = await exec(xcrunBinnaryPath, [
219
- 'devicectl',
220
- 'device',
221
- 'info',
222
- 'processes',
223
- `--device`, this.udid
224
- ]);
225
- // Each line has spaces. devicectl has JSON output option, but it writes it to a file only.
226
- // Here parse the standard output directly.
227
- // e.g.:
228
- // 823 /private/var/containers/Bundle/Application/8E748312-8CBE-4C13-8295-C2EF3ED2C0C1/WebDriverAgentRunner-Runner.app/WebDriverAgentRunner-Runner
229
- // 824 /Applications/MobileSafari.app/MobileSafari
230
- // 825 /usr/libexec/debugserver
231
- const executableLine = stdout.split('\n').find((line) => line.trim().endsWith(executableName));
232
- if (!executableLine) {
214
+ const devicectl = new Devicectl(this.udid, log);
215
+ const pids = (await devicectl.listProcesses())
216
+ .filter(({executable}) => executable.endsWith(`/${executableName}`))
217
+ .map(({processIdentifier}) => processIdentifier);
218
+ if (_.isEmpty(pids)) {
233
219
  log.info(`The process of the bundle id '${bundleId}' was not running`);
234
220
  return false;
235
221
  }
236
- await exec(xcrunBinnaryPath, [
237
- 'devicectl',
238
- 'device',
239
- 'process',
240
- 'signal',
241
- '-s', `2`,
242
- // e.g.
243
- // '824 /Applications/MobileSafari.app/MobileSafari '
244
- // ' 999 /Applications/MobileSafari.app/MobileSafari ' (can include spaces in the top)
245
- '-p', `${executableLine.trim().split(/\s+/)[0]}`,
246
- `--device`, this.udid
247
- ]);
222
+ await devicectl.sendSignalToProcess(pids[0], 2);
248
223
  } else {
249
224
  instrumentService = await services.startInstrumentService(this.udid);
250
225
  const processes = await instrumentService.callChannel(
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "appium-xcuitest-driver",
3
- "version": "5.15.0",
3
+ "version": "5.15.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-xcuitest-driver",
9
- "version": "5.15.0",
9
+ "version": "5.15.1",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@colors/colors": "^1.6.0",
@@ -14,7 +14,7 @@
14
14
  "appium-ios-device": "^2.5.4",
15
15
  "appium-ios-simulator": "^5.5.1",
16
16
  "appium-remote-debugger": "^10.0.0",
17
- "appium-webdriveragent": "^5.15.5",
17
+ "appium-webdriveragent": "~5.15.9",
18
18
  "appium-xcode": "^5.1.4",
19
19
  "async-lock": "^1.4.0",
20
20
  "asyncbox": "^3.0.0",
@@ -829,9 +829,9 @@
829
829
  }
830
830
  },
831
831
  "node_modules/@types/node": {
832
- "version": "20.11.10",
833
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz",
834
- "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==",
832
+ "version": "20.11.14",
833
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.14.tgz",
834
+ "integrity": "sha512-w3yWCcwULefjP9DmDDsgUskrMoOy5Z8MiwKHr1FvqGPtx7CvJzQvxD7eKpxNtklQxLruxSXWddyeRtyud0RcXQ==",
835
835
  "dependencies": {
836
836
  "undici-types": "~5.26.4"
837
837
  }
@@ -1064,9 +1064,9 @@
1064
1064
  }
1065
1065
  },
1066
1066
  "node_modules/appium-webdriveragent": {
1067
- "version": "5.15.8",
1068
- "resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-5.15.8.tgz",
1069
- "integrity": "sha512-LUEoJFP49Jhh6uk1oFRUl/F/cmaLjpwWS6yWJ00+CkUYD6fbVco5JNA5lQJWgRf84Y2OuRkJktSLtcEO5jIjtg==",
1067
+ "version": "5.15.9",
1068
+ "resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-5.15.9.tgz",
1069
+ "integrity": "sha512-03brYer2B68V+Jqjy8VVYNEeDftSzizZaXGazZsAq1ENDhvXgzIErKWjFAswTQWu/ciDmXASt8I96K6ks+Gy0A==",
1070
1070
  "dependencies": {
1071
1071
  "@appium/base-driver": "^9.0.0",
1072
1072
  "@appium/strongbox": "^0.x",
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "xcuitest",
9
9
  "xctest"
10
10
  ],
11
- "version": "5.15.0",
11
+ "version": "5.15.1",
12
12
  "author": "Appium Contributors",
13
13
  "license": "Apache-2.0",
14
14
  "repository": {
@@ -81,7 +81,7 @@
81
81
  "appium-ios-device": "^2.5.4",
82
82
  "appium-ios-simulator": "^5.5.1",
83
83
  "appium-remote-debugger": "^10.0.0",
84
- "appium-webdriveragent": "^5.15.5",
84
+ "appium-webdriveragent": "~5.15.9",
85
85
  "appium-xcode": "^5.1.4",
86
86
  "async-lock": "^1.4.0",
87
87
  "asyncbox": "^3.0.0",