appium-xcuitest-driver 7.26.4 → 7.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [7.27.0](https://github.com/appium/appium-xcuitest-driver/compare/v7.26.4...v7.27.0) (2024-09-25)
2
+
3
+ ### Features
4
+
5
+ * build-wda script parameters ([#2475](https://github.com/appium/appium-xcuitest-driver/issues/2475)) ([b8bdfad](https://github.com/appium/appium-xcuitest-driver/commit/b8bdfad3c86efd2d351e99fd53c879d7e6e4b082))
6
+
1
7
  ## [7.26.4](https://github.com/appium/appium-xcuitest-driver/compare/v7.26.3...v7.26.4) (2024-09-17)
2
8
 
3
9
  ### Miscellaneous Chores
@@ -1 +1 @@
1
- {"version":3,"file":"optional-checks.d.ts","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.js"],"names":[],"mappings":"AAKA,wDAAwD;AACxD;IACE,uBAAwC;IAExC,+DAaC;IAED,uBAEC;IAED,sBAEC;IAED,sBAEC;CACF;AACD,uDAA8D;AAG9D,wDAAwD;AACxD;IACE,oBAA0H;IAE1H,+DAKC;IAED,uBAEC;IAED,sBAEC;IAED,sBAEC;CACF;AACD,2EAAkF;AAGlF,wDAAwD;AACxD;IACE,sBAAyB;IACzB,4BAA6D;IAE7D,+DAMC;IAED,uBAKC;IAED,sBAEC;IAED,sBAEC;CACF;AACD,sDAA6D"}
1
+ {"version":3,"file":"optional-checks.d.ts","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.js"],"names":[],"mappings":"AAKA,wDAAwD;AACxD;IACE,uBAAwC;IAExC,+DAaC;IAED,uBAEC;IAED,sBAEC;IAED,sBAEC;CACF;AACD,uDAA8D;AAG9D,wDAAwD;AACxD;IACE,oBAAoI;IAEpI,+DAKC;IAED,uBAEC;IAED,sBAEC;IAED,sBAEC;CACF;AACD,2EAAkF;AAGlF,wDAAwD;AACxD;IACE,sBAAyB;IACzB,4BAA6D;IAE7D,+DAMC;IAED,uBAKC;IAED,sBAEC;IAED,sBAEC;CACF;AACD,sDAA6D"}
@@ -39,7 +39,7 @@ exports.optionalIdbCheck = new OptionalIdbCommandCheck();
39
39
  /** @satisfies {import('@appium/types').IDoctorCheck} */
40
40
  class OptionalApplesimutilsCommandCheck {
41
41
  constructor() {
42
- this.README_LINK = 'https://github.com/appium/appium-xcuitest-driver/blob/master/docs/execute-methods.md#mobile-setpermission';
42
+ this.README_LINK = 'https://github.com/appium/appium-xcuitest-driver/blob/master/docs/reference/execute-methods.md#mobile-setpermission';
43
43
  }
44
44
  async diagnose() {
45
45
  const applesimutilsPath = await (0, utils_1.resolveExecutablePath)('applesimutils');
@@ -1 +1 @@
1
- {"version":3,"file":"optional-checks.js","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optional-checks.js","sourceRoot":"","sources":["../../../lib/doctor/optional-checks.js"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ export const optionalIdbCheck = new OptionalIdbCommandCheck();
39
39
 
40
40
  /** @satisfies {import('@appium/types').IDoctorCheck} */
41
41
  export class OptionalApplesimutilsCommandCheck {
42
- README_LINK = 'https://github.com/appium/appium-xcuitest-driver/blob/master/docs/execute-methods.md#mobile-setpermission';
42
+ README_LINK = 'https://github.com/appium/appium-xcuitest-driver/blob/master/docs/reference/execute-methods.md#mobile-setpermission';
43
43
 
44
44
  async diagnose() {
45
45
  const applesimutilsPath = await resolveExecutablePath('applesimutils');
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "appium-xcuitest-driver",
3
- "version": "7.26.4",
3
+ "version": "7.27.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-xcuitest-driver",
9
- "version": "7.26.4",
9
+ "version": "7.27.0",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@colors/colors": "^1.6.0",
@@ -112,6 +112,12 @@
112
112
  "spdy": "4.0.2"
113
113
  }
114
114
  },
115
+ "node_modules/@appium/base-driver/node_modules/@types/lodash": {
116
+ "version": "4.17.7",
117
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz",
118
+ "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==",
119
+ "license": "MIT"
120
+ },
115
121
  "node_modules/@appium/docutils": {
116
122
  "version": "1.0.20",
117
123
  "resolved": "https://registry.npmjs.org/@appium/docutils/-/docutils-1.0.20.tgz",
@@ -678,9 +684,9 @@
678
684
  "license": "MIT"
679
685
  },
680
686
  "node_modules/@types/lodash": {
681
- "version": "4.17.7",
682
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz",
683
- "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==",
687
+ "version": "4.17.9",
688
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.9.tgz",
689
+ "integrity": "sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==",
684
690
  "license": "MIT"
685
691
  },
686
692
  "node_modules/@types/method-override": {
@@ -714,9 +720,9 @@
714
720
  }
715
721
  },
716
722
  "node_modules/@types/node": {
717
- "version": "22.5.5",
718
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz",
719
- "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==",
723
+ "version": "22.7.0",
724
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.0.tgz",
725
+ "integrity": "sha512-MOdOibwBs6KW1vfqz2uKMlxq5xAfAZ98SZjO8e3XnAbFnTJtAspqhWk7hrdSAs9/Y14ZWMiy7/MxMUzAOadYEw==",
720
726
  "license": "MIT",
721
727
  "dependencies": {
722
728
  "undici-types": "~6.19.2"
@@ -834,12 +840,12 @@
834
840
  }
835
841
  },
836
842
  "node_modules/@xmldom/xmldom": {
837
- "version": "0.9.2",
838
- "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.2.tgz",
839
- "integrity": "sha512-afP3lpLtalPxgNGU4bxlsru4wSDsZwdSFKnHs6PR0q3KIEWWcAlBqAdx4aWlVtP1gV1FBWlJ3d0MgaRRdj/ucA==",
843
+ "version": "0.9.3",
844
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.3.tgz",
845
+ "integrity": "sha512-W7fOe0N+t2eyL9sjDE+7bBNo/NZg6U6aU0Rp8wwQV8TRkzLnX13SvROoyJMAH0Kcm9G1DX9b1XI4LxwKxowsXw==",
840
846
  "license": "MIT",
841
847
  "engines": {
842
- "node": ">=14.0.0"
848
+ "node": ">=14.6"
843
849
  }
844
850
  },
845
851
  "node_modules/abort-controller": {
@@ -1132,9 +1138,9 @@
1132
1138
  "license": "MIT"
1133
1139
  },
1134
1140
  "node_modules/bare-events": {
1135
- "version": "2.4.2",
1136
- "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz",
1137
- "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==",
1141
+ "version": "2.5.0",
1142
+ "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.0.tgz",
1143
+ "integrity": "sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==",
1138
1144
  "license": "Apache-2.0",
1139
1145
  "optional": true
1140
1146
  },
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "xcuitest",
9
9
  "xctest"
10
10
  ],
11
- "version": "7.26.4",
11
+ "version": "7.27.0",
12
12
  "author": "Appium Contributors",
13
13
  "license": "Apache-2.0",
14
14
  "repository": {
@@ -1,28 +1,37 @@
1
1
  const {WebDriverAgent} = require('appium-webdriveragent');
2
2
  const xcode = require('appium-xcode');
3
- const B = require('bluebird');
4
3
  const {Simctl} = require('node-simctl');
5
4
  const {getSimulator} = require('appium-ios-simulator');
6
5
  const {logger} = require('appium/support');
7
6
 
8
7
  const log = logger.getLogger('WDA');
9
8
 
10
- // TODO: allow passing in all the various build params as CLI args
9
+ function parseArgValue(argName) {
10
+ const argNamePattern = new RegExp(`^--${argName}\\b`);
11
+ for (let i = 1; i < process.argv.length; ++i) {
12
+ const arg = process.argv[i];
13
+ if (argNamePattern.test(arg)) {
14
+ return arg.includes('=') ? arg.split('=')[1] : process.argv[i + 1];
15
+ }
16
+ }
17
+ return null;
18
+ }
19
+
11
20
  async function build() {
12
- const [xcodeVersion, platformVersion] = await B.all([
13
- xcode.getVersion(true),
14
- xcode.getMaxIOSSDK(),
15
- ]);
21
+ const customDevice = parseArgValue('name');
22
+ const xcodeVersion = await xcode.getVersion(true);
23
+ const platformVersion = parseArgValue('sdk') || (await xcode.getMaxIOSSDK());
24
+ const iosDevices = await new Simctl().getDevices(platformVersion, 'iOS');
16
25
  const verifyDevicePresence = (info) => {
17
26
  if (!info) {
18
- throw new Error(`Cannot find any available iOS ${platformVersion} Simulator on your system`);
27
+ throw new Error(
28
+ `Cannot find any available iOS ${platformVersion} ${customDevice ? `${customDevice} ` : ''}simulator on your system. Only the following simulators are available:\n${iosDevices.map((e) => e.name).join('\n')}`,
29
+ );
19
30
  }
20
31
  return info;
21
32
  };
22
33
  const deviceInfo = verifyDevicePresence(
23
- (await new Simctl().getDevices(platformVersion, 'iOS')).find(({name}) =>
24
- name.includes('iPhone'),
25
- ),
34
+ iosDevices.find(({name}) => name.includes(customDevice || 'iPhone')),
26
35
  );
27
36
  const device = await getSimulator(deviceInfo.udid, {
28
37
  platform: deviceInfo.platform,
@@ -34,7 +43,9 @@ async function build() {
34
43
  showXcodeLog: true,
35
44
  device,
36
45
  });
37
- log.info(`Building WDA for ${deviceInfo.name} ${platformVersion} Simulator...`);
46
+ log.info(
47
+ `Building WDA for ${deviceInfo.name} ${platformVersion} with udid '${deviceInfo.udid}' Simulator...`,
48
+ );
38
49
  await wda.xcodebuild.start(true);
39
50
  }
40
51