appium-webdriveragent 12.2.2 → 13.0.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 +13 -0
- package/WebDriverAgentLib/Info.plist +2 -2
- package/build/lib/index.d.ts +1 -1
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/index.js +2 -1
- package/build/lib/index.js.map +1 -1
- package/build/lib/types.d.ts +4 -3
- package/build/lib/types.d.ts.map +1 -1
- package/build/lib/webdriveragent.d.ts +3 -19
- package/build/lib/webdriveragent.d.ts.map +1 -1
- package/build/lib/webdriveragent.js +27 -95
- package/build/lib/webdriveragent.js.map +1 -1
- package/lib/index.ts +1 -1
- package/lib/types.ts +4 -3
- package/lib/webdriveragent.ts +31 -106
- package/package.json +2 -2
- package/lib/appium-ios-device.d.ts +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## [13.0.0](https://github.com/appium/WebDriverAgent/compare/v12.2.2...v13.0.0) (2026-05-17)
|
|
2
|
+
|
|
3
|
+
### ⚠ BREAKING CHANGES
|
|
4
|
+
|
|
5
|
+
* quitAndUninstall() removed — use quit() only. App uninstall is out of scope for this module.
|
|
6
|
+
* uninstall() removed — WDA must not be uninstalled from this package; callers (e.g. xcuitest-driver) should own that if needed.
|
|
7
|
+
* setupCaching() no longer uninstalls WDA — on bundle-id or version mismatch it logs and skips caching instead of removing apps from the device. Also, it now returns the cached url on success.
|
|
8
|
+
* appium-ios-device dependency removed — preinstalled WDA on real devices always launches via devicectl (no iOS < 17 Xctest fallback).
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* Drop legacy APIs ([#1137](https://github.com/appium/WebDriverAgent/issues/1137)) ([8995d24](https://github.com/appium/WebDriverAgent/commit/8995d24e16634a4624918319996839993502c7b4))
|
|
13
|
+
|
|
1
14
|
## [12.2.2](https://github.com/appium/WebDriverAgent/compare/v12.2.1...v12.2.2) (2026-05-08)
|
|
2
15
|
|
|
3
16
|
### Bug Fixes
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
<key>CFBundlePackageType</key>
|
|
16
16
|
<string>FMWK</string>
|
|
17
17
|
<key>CFBundleShortVersionString</key>
|
|
18
|
-
<string>
|
|
18
|
+
<string>13.0.0</string>
|
|
19
19
|
<key>CFBundleSignature</key>
|
|
20
20
|
<string>????</string>
|
|
21
21
|
<key>CFBundleVersion</key>
|
|
22
|
-
<string>
|
|
22
|
+
<string>13.0.0</string>
|
|
23
23
|
<key>NSPrincipalClass</key>
|
|
24
24
|
<string/>
|
|
25
25
|
</dict>
|
package/build/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { bundleWDASim } from './check-dependencies';
|
|
2
2
|
export { NoSessionProxy } from './no-session-proxy';
|
|
3
3
|
export { WebDriverAgent } from './webdriveragent';
|
|
4
|
-
export { WDA_BASE_URL, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE } from './constants';
|
|
4
|
+
export { WDA_BASE_URL, WDA_RUNNER_APP, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE } from './constants';
|
|
5
5
|
export { resetTestProcesses, BOOTSTRAP_PATH } from './utils';
|
|
6
6
|
export * from './types';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAE3D,cAAc,SAAS,CAAC"}
|
package/build/lib/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.BOOTSTRAP_PATH = exports.resetTestProcesses = exports.PROJECT_FILE = exports.WDA_RUNNER_BUNDLE_ID = exports.WDA_BASE_URL = exports.WebDriverAgent = exports.NoSessionProxy = exports.bundleWDASim = void 0;
|
|
17
|
+
exports.BOOTSTRAP_PATH = exports.resetTestProcesses = exports.PROJECT_FILE = exports.WDA_RUNNER_BUNDLE_ID = exports.WDA_RUNNER_APP = exports.WDA_BASE_URL = exports.WebDriverAgent = exports.NoSessionProxy = exports.bundleWDASim = void 0;
|
|
18
18
|
var check_dependencies_1 = require("./check-dependencies");
|
|
19
19
|
Object.defineProperty(exports, "bundleWDASim", { enumerable: true, get: function () { return check_dependencies_1.bundleWDASim; } });
|
|
20
20
|
var no_session_proxy_1 = require("./no-session-proxy");
|
|
@@ -23,6 +23,7 @@ var webdriveragent_1 = require("./webdriveragent");
|
|
|
23
23
|
Object.defineProperty(exports, "WebDriverAgent", { enumerable: true, get: function () { return webdriveragent_1.WebDriverAgent; } });
|
|
24
24
|
var constants_1 = require("./constants");
|
|
25
25
|
Object.defineProperty(exports, "WDA_BASE_URL", { enumerable: true, get: function () { return constants_1.WDA_BASE_URL; } });
|
|
26
|
+
Object.defineProperty(exports, "WDA_RUNNER_APP", { enumerable: true, get: function () { return constants_1.WDA_RUNNER_APP; } });
|
|
26
27
|
Object.defineProperty(exports, "WDA_RUNNER_BUNDLE_ID", { enumerable: true, get: function () { return constants_1.WDA_RUNNER_BUNDLE_ID; } });
|
|
27
28
|
Object.defineProperty(exports, "PROJECT_FILE", { enumerable: true, get: function () { return constants_1.PROJECT_FILE; } });
|
|
28
29
|
var utils_1 = require("./utils");
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAkD;AAA1C,kHAAA,YAAY,OAAA;AACpB,uDAAkD;AAA1C,kHAAA,cAAc,OAAA;AACtB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAkD;AAA1C,kHAAA,YAAY,OAAA;AACpB,uDAAkD;AAA1C,kHAAA,cAAc,OAAA;AACtB,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,yCAA6F;AAArF,yGAAA,YAAY,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACxE,iCAA2D;AAAnD,2GAAA,kBAAkB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAE1C,0CAAwB"}
|
package/build/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type HTTPHeaders } from '@appium/types';
|
|
2
|
+
import type { Simctl } from 'node-simctl';
|
|
3
|
+
import type { Devicectl } from 'node-devicectl';
|
|
2
4
|
export interface WDASettings {
|
|
3
5
|
elementResponseAttribute?: string;
|
|
4
6
|
shouldUseCompactResponses?: boolean;
|
|
@@ -88,9 +90,8 @@ export interface WebDriverAgentArgs {
|
|
|
88
90
|
}
|
|
89
91
|
export interface AppleDevice {
|
|
90
92
|
udid: string;
|
|
91
|
-
simctl?:
|
|
92
|
-
devicectl?:
|
|
93
|
-
[key: string]: any;
|
|
93
|
+
simctl?: Simctl;
|
|
94
|
+
devicectl?: Devicectl;
|
|
94
95
|
}
|
|
95
96
|
/**
|
|
96
97
|
* Information of the device under test
|
package/build/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,6 @@ export declare class WebDriverAgent {
|
|
|
34
34
|
private readonly wdaLaunchTimeout;
|
|
35
35
|
private readonly usePreinstalledWDA?;
|
|
36
36
|
private readonly updatedWDABundleIdSuffix;
|
|
37
|
-
private xctestApiClient?;
|
|
38
37
|
private _xcodebuild?;
|
|
39
38
|
private _url?;
|
|
40
39
|
/**
|
|
@@ -139,19 +138,13 @@ export declare class WebDriverAgent {
|
|
|
139
138
|
/**
|
|
140
139
|
* Reuse running WDA if it has the same bundle id with updatedWDABundleId.
|
|
141
140
|
* Or reuse it if it has the default id without updatedWDABundleId.
|
|
142
|
-
*
|
|
143
|
-
|
|
144
|
-
setupCaching(): Promise<void>;
|
|
145
|
-
/**
|
|
146
|
-
* Quit and uninstall running WDA.
|
|
141
|
+
*
|
|
142
|
+
* @returns The WDA URL used for caching on success, or `undefined` if caching was skipped.
|
|
147
143
|
*/
|
|
148
|
-
|
|
149
|
-
private parseBundleId;
|
|
150
|
-
private fetchWDABundle;
|
|
144
|
+
setupCaching(): Promise<string | undefined>;
|
|
151
145
|
private setupProxies;
|
|
152
146
|
private toUrl;
|
|
153
147
|
private setWDAPaths;
|
|
154
|
-
private isRunning;
|
|
155
148
|
/**
|
|
156
149
|
* Return current running WDA's status like below
|
|
157
150
|
* {
|
|
@@ -174,12 +167,6 @@ export declare class WebDriverAgent {
|
|
|
174
167
|
* @param timeoutMs If zero or negative, returns immediately. Otherwise, waits up to timeoutMs.
|
|
175
168
|
*/
|
|
176
169
|
private getStatus;
|
|
177
|
-
/**
|
|
178
|
-
* Uninstall WDAs from the test device.
|
|
179
|
-
* Over Xcode 11, multiple WDA can be in the device since Xcode 11 generates different WDA.
|
|
180
|
-
* Appium does not expect multiple WDAs are running on a device.
|
|
181
|
-
*/
|
|
182
|
-
private uninstall;
|
|
183
170
|
private _cleanupProjectIfFresh;
|
|
184
171
|
/**
|
|
185
172
|
* Launch WDA with preinstalled package with 'xcrun devicectl device process launch'.
|
|
@@ -187,9 +174,6 @@ export declare class WebDriverAgent {
|
|
|
187
174
|
* https://github.com/appium/WebDriverAgent/releases
|
|
188
175
|
* with proper sign for this case.
|
|
189
176
|
*
|
|
190
|
-
* When we implement launching XCTest service via appium-ios-device,
|
|
191
|
-
* this implementation can be replaced with it.
|
|
192
|
-
*
|
|
193
177
|
* @param opts launching WDA with devicectl command options.
|
|
194
178
|
*/
|
|
195
179
|
private _launchViaDevicectl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriveragent.d.ts","sourceRoot":"","sources":["../../lib/webdriveragent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAE5C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"webdriveragent.d.ts","sourceRoot":"","sources":["../../lib/webdriveragent.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,10 @@ const utils_1 = require("./utils");
|
|
|
14
14
|
const xcodebuild_1 = require("./xcodebuild");
|
|
15
15
|
const async_lock_1 = __importDefault(require("async-lock"));
|
|
16
16
|
const teen_process_1 = require("teen_process");
|
|
17
|
-
const check_dependencies_1 = require("./check-dependencies");
|
|
18
17
|
const constants_1 = require("./constants");
|
|
19
|
-
const appium_ios_device_1 = require("appium-ios-device");
|
|
20
18
|
const strongbox_1 = require("@appium/strongbox");
|
|
21
19
|
const WDA_LAUNCH_TIMEOUT = 60 * 1000;
|
|
22
20
|
const WDA_AGENT_PORT = 8100;
|
|
23
|
-
const WDA_CF_BUNDLE_NAME = 'WebDriverAgentRunner-Runner';
|
|
24
21
|
const SHARED_RESOURCES_GUARD = new async_lock_1.default();
|
|
25
22
|
const RECENT_MODULE_VERSION_ITEM_NAME = 'recentWdaModuleVersion';
|
|
26
23
|
const URL_PROTOCOL_SEPARATOR = '://';
|
|
@@ -55,7 +52,6 @@ class WebDriverAgent {
|
|
|
55
52
|
wdaLaunchTimeout;
|
|
56
53
|
usePreinstalledWDA;
|
|
57
54
|
updatedWDABundleIdSuffix;
|
|
58
|
-
xctestApiClient;
|
|
59
55
|
_xcodebuild;
|
|
60
56
|
_url;
|
|
61
57
|
/**
|
|
@@ -93,7 +89,6 @@ class WebDriverAgent {
|
|
|
93
89
|
this.updatedWDABundleId = args.updatedWDABundleId;
|
|
94
90
|
this.wdaLaunchTimeout = args.wdaLaunchTimeout || WDA_LAUNCH_TIMEOUT;
|
|
95
91
|
this.usePreinstalledWDA = args.usePreinstalledWDA;
|
|
96
|
-
this.xctestApiClient = null;
|
|
97
92
|
this.updatedWDABundleIdSuffix = args.updatedWDABundleIdSuffix ?? constants_1.DEFAULT_TEST_BUNDLE_SUFFIX;
|
|
98
93
|
this._xcodebuild = this.canSkipXcodebuild
|
|
99
94
|
? null
|
|
@@ -304,18 +299,17 @@ class WebDriverAgent {
|
|
|
304
299
|
async quit() {
|
|
305
300
|
if (this.usePreinstalledWDA) {
|
|
306
301
|
this.log.info('Stopping the XCTest session');
|
|
307
|
-
|
|
308
|
-
this.
|
|
309
|
-
this.xctestApiClient = null;
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
try {
|
|
302
|
+
try {
|
|
303
|
+
if (this.device.simctl) {
|
|
313
304
|
await this.device.simctl.terminateApp(this.bundleIdForXctest);
|
|
314
305
|
}
|
|
315
|
-
|
|
316
|
-
this.
|
|
306
|
+
else if (this.device.devicectl) {
|
|
307
|
+
await this.device.devicectl.terminateApp(this.bundleIdForXctest);
|
|
317
308
|
}
|
|
318
309
|
}
|
|
310
|
+
catch (e) {
|
|
311
|
+
this.log.warn(e.message);
|
|
312
|
+
}
|
|
319
313
|
}
|
|
320
314
|
else if (!this.args.webDriverAgentUrl) {
|
|
321
315
|
this.log.info('Shutting down sub-processes');
|
|
@@ -324,8 +318,7 @@ class WebDriverAgent {
|
|
|
324
318
|
}
|
|
325
319
|
}
|
|
326
320
|
else {
|
|
327
|
-
this.log.debug('
|
|
328
|
-
'since the WDA session is managed by outside this driver.');
|
|
321
|
+
this.log.debug('Stopping neither xcodebuild nor XCTest session since WDA lifecycle is not managed by this driver');
|
|
329
322
|
}
|
|
330
323
|
if (this.jwproxy) {
|
|
331
324
|
this.jwproxy.sessionId = null;
|
|
@@ -350,28 +343,29 @@ class WebDriverAgent {
|
|
|
350
343
|
/**
|
|
351
344
|
* Reuse running WDA if it has the same bundle id with updatedWDABundleId.
|
|
352
345
|
* Or reuse it if it has the default id without updatedWDABundleId.
|
|
353
|
-
*
|
|
346
|
+
*
|
|
347
|
+
* @returns The WDA URL used for caching on success, or `undefined` if caching was skipped.
|
|
354
348
|
*/
|
|
355
349
|
async setupCaching() {
|
|
356
350
|
const status = await this.getStatus(0);
|
|
357
351
|
if (!status || !status.build) {
|
|
358
352
|
this.log.debug('WDA is currently not running. There is nothing to cache');
|
|
359
|
-
return;
|
|
353
|
+
return undefined;
|
|
360
354
|
}
|
|
361
355
|
const { productBundleIdentifier, upgradedAt } = status.build;
|
|
362
356
|
// for real device
|
|
363
357
|
if (support_1.util.hasValue(productBundleIdentifier) &&
|
|
364
358
|
support_1.util.hasValue(this.updatedWDABundleId) &&
|
|
365
359
|
this.updatedWDABundleId !== productBundleIdentifier) {
|
|
366
|
-
this.log.info(`Will
|
|
367
|
-
return
|
|
360
|
+
this.log.info(`Will not reuse running WDA since it has different bundle id. The actual value is '${productBundleIdentifier}'.`);
|
|
361
|
+
return undefined;
|
|
368
362
|
}
|
|
369
363
|
// for simulator
|
|
370
364
|
if (support_1.util.hasValue(productBundleIdentifier) &&
|
|
371
365
|
!support_1.util.hasValue(this.updatedWDABundleId) &&
|
|
372
366
|
constants_1.WDA_RUNNER_BUNDLE_ID !== productBundleIdentifier) {
|
|
373
|
-
this.log.info(`Will
|
|
374
|
-
return
|
|
367
|
+
this.log.info(`Will not reuse running WDA since its bundle id is not equal to the default value ${constants_1.WDA_RUNNER_BUNDLE_ID}`);
|
|
368
|
+
return undefined;
|
|
375
369
|
}
|
|
376
370
|
const actualUpgradeTimestamp = await (0, utils_1.getWDAUpgradeTimestamp)();
|
|
377
371
|
this.log.debug(`Upgrade timestamp of the currently bundled WDA: ${actualUpgradeTimestamp}`);
|
|
@@ -379,42 +373,17 @@ class WebDriverAgent {
|
|
|
379
373
|
if (actualUpgradeTimestamp &&
|
|
380
374
|
upgradedAt &&
|
|
381
375
|
`${actualUpgradeTimestamp}`.toLowerCase() !== `${upgradedAt}`.toLowerCase()) {
|
|
382
|
-
this.log.info('Will
|
|
376
|
+
this.log.info('Will not reuse running WDA since it has different version in comparison to the one ' +
|
|
383
377
|
`which is bundled with appium-xcuitest-driver module (${actualUpgradeTimestamp} != ${upgradedAt})`);
|
|
384
|
-
return
|
|
378
|
+
return undefined;
|
|
385
379
|
}
|
|
380
|
+
const cachedUrl = this.url.href;
|
|
386
381
|
const message = support_1.util.hasValue(productBundleIdentifier)
|
|
387
|
-
? `Will reuse previously cached WDA instance at '${
|
|
388
|
-
: `Will reuse previously cached WDA instance at '${
|
|
382
|
+
? `Will reuse previously cached WDA instance at '${cachedUrl}' with '${productBundleIdentifier}'`
|
|
383
|
+
: `Will reuse previously cached WDA instance at '${cachedUrl}'`;
|
|
389
384
|
this.log.info(`${message}. Set the wdaLocalPort capability to a value different from ${this.url.port} if this is an undesired behavior.`);
|
|
390
|
-
this.webDriverAgentUrl =
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* Quit and uninstall running WDA.
|
|
394
|
-
*/
|
|
395
|
-
async quitAndUninstall() {
|
|
396
|
-
await this.quit();
|
|
397
|
-
await this.uninstall();
|
|
398
|
-
}
|
|
399
|
-
async parseBundleId(wdaBundlePath) {
|
|
400
|
-
const infoPlistPath = node_path_1.default.join(wdaBundlePath, 'Info.plist');
|
|
401
|
-
const infoPlist = (await support_1.plist.parsePlist(await support_1.fs.readFile(infoPlistPath)));
|
|
402
|
-
if (!infoPlist.CFBundleIdentifier) {
|
|
403
|
-
throw new Error(`Could not find bundle id in '${infoPlistPath}'`);
|
|
404
|
-
}
|
|
405
|
-
return infoPlist.CFBundleIdentifier;
|
|
406
|
-
}
|
|
407
|
-
async fetchWDABundle() {
|
|
408
|
-
if (!this.derivedDataPath) {
|
|
409
|
-
return await (0, check_dependencies_1.bundleWDASim)(this.xcodebuild);
|
|
410
|
-
}
|
|
411
|
-
const wdaBundlePaths = await support_1.fs.glob(`${this.derivedDataPath}/**/*${constants_1.WDA_RUNNER_APP}/`, {
|
|
412
|
-
absolute: true,
|
|
413
|
-
});
|
|
414
|
-
if (wdaBundlePaths.length === 0) {
|
|
415
|
-
throw new Error(`Could not find the WDA bundle in '${this.derivedDataPath}'`);
|
|
416
|
-
}
|
|
417
|
-
return wdaBundlePaths[0];
|
|
385
|
+
this.webDriverAgentUrl = cachedUrl;
|
|
386
|
+
return cachedUrl;
|
|
418
387
|
}
|
|
419
388
|
setupProxies(sessionId) {
|
|
420
389
|
const proxyOpts = {
|
|
@@ -456,9 +425,6 @@ class WebDriverAgent {
|
|
|
456
425
|
this.agentPath = agentPath || node_path_1.default.resolve(this.bootstrapPath, 'WebDriverAgent.xcodeproj');
|
|
457
426
|
this.log.info(`Using WDA agent: '${this.agentPath}'`);
|
|
458
427
|
}
|
|
459
|
-
async isRunning() {
|
|
460
|
-
return !!(await this.getStatus());
|
|
461
|
-
}
|
|
462
428
|
/**
|
|
463
429
|
* Return current running WDA's status like below
|
|
464
430
|
* {
|
|
@@ -523,29 +489,6 @@ class WebDriverAgent {
|
|
|
523
489
|
}
|
|
524
490
|
return status;
|
|
525
491
|
}
|
|
526
|
-
/**
|
|
527
|
-
* Uninstall WDAs from the test device.
|
|
528
|
-
* Over Xcode 11, multiple WDA can be in the device since Xcode 11 generates different WDA.
|
|
529
|
-
* Appium does not expect multiple WDAs are running on a device.
|
|
530
|
-
*/
|
|
531
|
-
async uninstall() {
|
|
532
|
-
try {
|
|
533
|
-
const bundleIds = await this.device.getUserInstalledBundleIdsByBundleName(WDA_CF_BUNDLE_NAME);
|
|
534
|
-
if (bundleIds.length === 0) {
|
|
535
|
-
this.log.debug('No WDAs on the device.');
|
|
536
|
-
return;
|
|
537
|
-
}
|
|
538
|
-
this.log.debug(`Uninstalling WDAs: '${bundleIds}'`);
|
|
539
|
-
for (const bundleId of bundleIds) {
|
|
540
|
-
await this.device.removeApp(bundleId);
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
catch (e) {
|
|
544
|
-
this.log.debug(e);
|
|
545
|
-
this.log.warn(`WebDriverAgent uninstall failed. Perhaps, it is already uninstalled? ` +
|
|
546
|
-
`Original error: ${e.message}`);
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
492
|
async _cleanupProjectIfFresh() {
|
|
550
493
|
if (this.canSkipXcodebuild) {
|
|
551
494
|
return;
|
|
@@ -609,14 +552,14 @@ class WebDriverAgent {
|
|
|
609
552
|
* https://github.com/appium/WebDriverAgent/releases
|
|
610
553
|
* with proper sign for this case.
|
|
611
554
|
*
|
|
612
|
-
* When we implement launching XCTest service via appium-ios-device,
|
|
613
|
-
* this implementation can be replaced with it.
|
|
614
|
-
*
|
|
615
555
|
* @param opts launching WDA with devicectl command options.
|
|
616
556
|
*/
|
|
617
557
|
async _launchViaDevicectl(opts = {}) {
|
|
618
558
|
const { env } = opts;
|
|
619
|
-
await this.device.devicectl.launchApp(this.bundleIdForXctest, {
|
|
559
|
+
await this.device.devicectl.launchApp(this.bundleIdForXctest, {
|
|
560
|
+
env,
|
|
561
|
+
terminateExisting: true,
|
|
562
|
+
});
|
|
620
563
|
}
|
|
621
564
|
/**
|
|
622
565
|
* Launch WDA with preinstalled package without xcodebuild.
|
|
@@ -635,18 +578,7 @@ class WebDriverAgent {
|
|
|
635
578
|
}
|
|
636
579
|
this.log.info('Launching WebDriverAgent on the device without xcodebuild');
|
|
637
580
|
if (this.isRealDevice) {
|
|
638
|
-
|
|
639
|
-
// but it has limitation about the WDA preinstalled package.
|
|
640
|
-
// https://github.com/appium/appium/issues/19206#issuecomment-2014182674
|
|
641
|
-
if (this.platformVersion && support_1.util.compareVersions(this.platformVersion, '>=', '17.0')) {
|
|
642
|
-
await this._launchViaDevicectl({ env: xctestEnv });
|
|
643
|
-
}
|
|
644
|
-
else {
|
|
645
|
-
this.xctestApiClient = new appium_ios_device_1.Xctest(this.device.udid, this.bundleIdForXctest, null, {
|
|
646
|
-
env: xctestEnv,
|
|
647
|
-
});
|
|
648
|
-
await this.xctestApiClient.start();
|
|
649
|
-
}
|
|
581
|
+
await this._launchViaDevicectl({ env: xctestEnv });
|
|
650
582
|
}
|
|
651
583
|
else {
|
|
652
584
|
await this.device.simctl.exec('launch', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webdriveragent.js","sourceRoot":"","sources":["../../lib/webdriveragent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webdriveragent.js","sourceRoot":"","sources":["../../lib/webdriveragent.ts"],"names":[],"mappings":";;;;;;AAAA,uCAA0C;AAC1C,0DAA6B;AAC7B,qDAA4C;AAC5C,6CAAyC;AAEzC,qCAA8C;AAC9C,yDAAkD;AAClD,mCAKiB;AACjB,6CAAwC;AACxC,4DAAmC;AACnC,+CAAkC;AAClC,2CAKqB;AACrB,iDAA4C;AAK5C,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,sBAAsB,GAAG,IAAI,oBAAS,EAAE,CAAC;AAC/C,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AACjE,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC,MAAa,cAAc;IACzB,aAAa,CAAU;IACvB,SAAS,CAAU;IACV,IAAI,CAAqB;IACzB,MAAM,CAAc;IACpB,eAAe,CAAU;IACzB,YAAY,CAAU;IACtB,aAAa,CAAU;IACvB,IAAI,CAAU;IACd,YAAY,CAAU;IACtB,aAAa,CAAS;IACtB,UAAU,CAAS;IACnB,YAAY,CAAU;IAC/B,iBAAiB,CAAU;IAC3B,OAAO,CAAU;IACjB,kBAAkB,CAAU;IAC5B,cAAc,CAAkB;IAChC,OAAO,CAAW;IAClB,WAAW,CAAO;IACD,GAAG,CAAe;IAClB,aAAa,CAAU;IACvB,YAAY,CAAU;IACtB,WAAW,CAAW;IACtB,oBAAoB,CAAU;IAC9B,gBAAgB,CAAW;IAC3B,cAAc,CAAW;IACzB,eAAe,CAAU;IACzB,eAAe,CAAU;IACzB,gBAAgB,CAAS;IACzB,kBAAkB,CAAW;IAC7B,wBAAwB,CAAS;IAC1C,WAAW,CAAqB;IAChC,IAAI,CAAO;IAEnB;;;;OAIG;IACH,YAAY,IAAwB,EAAE,MAA2B,IAAI;QACnE,IAAI,CAAC,IAAI,GAAG,EAAC,GAAG,IAAI,EAAC,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,YAAa,CAAC;QAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAExC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,aAAa;YAChB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC;QAC3F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,wBAAY,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEpC,mEAAmE;QACnE,+DAA+D;QAC/D,iDAAiD;QACjD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEhD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAE5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAElD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,IAAI,sCAA0B,CAAC;QAE5F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB;YACvC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,uBAAU,CACZ,IAAI,CAAC,MAAM,EACX;gBACE,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,YAAY;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,aAAa,EAAE,IAAI,CAAC,gBAAgB;gBACpC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,mCAAmC,EAAE,IAAI,CAAC,mCAAmC;gBAC7E,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;aAC9C,EACD,IAAI,CAAC,GAAG,CACT,CAAC;IACR,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,+CAA+C;QAC/C,4DAA4D;QAC5D,OAAO,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,iBAAiB;QACnB,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,gCAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACvH,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,IAAI,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC;gBACjD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,wBAAY,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CACjB,GAAG,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC,QAAQ,IAAI,IAAI,EAAE,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY,CAAC,OAAgB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,IAAI,GAAG,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB;QAC5B,MAAM,YAAY,GAAG,MAAM,IAAA,8BAAsB,EAC/C,IAAI,CAAC,GAAG,CAAC,IAAc,EACvB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACzC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAClE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,0DAA0D;gBACxD,qBAAqB,IAAI,CAAC,GAAG,CAAC,IAAI,kBAAkB,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,YAAY,YAAY,CAAC,MAAM,2BAA2B,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG;YAChG,8CAA8C,CACjD,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAA,mBAAI,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,yCAAyC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,KAAK;gBAClG,mBAAmB,CAAC,CAAC,OAAO,EAAE,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAClC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,SAAS,YAAY;gBACpE,qBAAqB,CACxB,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,0BAA0B;QAC1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,GAAG,mBAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9D,MAAM,sBAAsB,CAAC,OAAO,CAClC,kBAAkB,EAClB,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAChD,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,MAAM,IAAA,0BAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,+BAA+B;QAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAwB,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,CACvF,CAAC,OAAO,EAAE,EAAE,CAAC,YAAE,CAAC,MAAM,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAClE,CAAC;QACF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACvB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAChE,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,kGAAkG,CACnG,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjC,+EAA+E;YAC/E,kEAAkE;YAClE,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB;QAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAC,uBAAuB,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC,KAAY,CAAC;QAClE,kBAAkB;QAClB,IACE,cAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACtC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACtC,IAAI,CAAC,kBAAkB,KAAK,uBAAuB,EACnD,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,qFAAqF,uBAAuB,IAAI,CACjH,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,gBAAgB;QAChB,IACE,cAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACtC,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACvC,gCAAoB,KAAK,uBAAuB,EAChD,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,oFAAoF,gCAAoB,EAAE,CAC3G,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,sBAAsB,GAAG,MAAM,IAAA,8BAAsB,GAAE,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,sBAAsB,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAC;QAC5E,IACE,sBAAsB;YACtB,UAAU;YACV,GAAG,sBAAsB,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,UAAU,EAAE,CAAC,WAAW,EAAE,EAC3E,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,qFAAqF;gBACnF,wDAAwD,sBAAsB,OAAO,UAAU,GAAG,CACrG,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpD,CAAC,CAAC,iDAAiD,SAAS,WAAW,uBAAuB,GAAG;YACjG,CAAC,CAAC,iDAAiD,SAAS,GAAG,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,GAAG,OAAO,+DAA+D,IAAI,CAAC,GAAG,CAAC,IAAI,oCAAoC,CAC3H,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,YAAY,CAAC,SAAiB;QACpC,MAAM,SAAS,GAAQ;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS;YACtC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS;YACpD,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;YACvE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB;SACvC,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAO,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/D,IAAI,CAAC,cAAc,GAAG,IAAI,iCAAc,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,KAAa;QACzB,wEAAwE;QACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,aAAsB,EAAE,SAAkB;QAC5D,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,sBAAc,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEzD,yEAAyE;QACzE,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAC;QAC3F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,KAAK,CAAC,SAAS,CAAC,YAAoB,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,iCAAc,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;YACvE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS;YACtC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS;YACpD,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB;SACvC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAC/B,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAiB,CAAC;QAEnE,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,OAAO,MAAM,aAAa,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,4BAA4B,IAAI,CAAC,GAAG,CAAC,IAAI,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAC9E,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAQ,IAAI,CAAC;QAC1B,IAAI,MAAM,GAAwB,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,IAAA,2BAAgB,EACpB,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;oBAC/B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,SAAS,GAAG,GAAG,CAAC;gBAClB,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,EACD;gBACE,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,GAAG;aAChB,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,wCAAwC,SAAS,OAAO;gBACtD,kCAAkC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,sBAAsB,GAAG,CAAC,OAAO,GAAG,CACpG,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,MAAM,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,YAAE,CAAC,QAAQ,CAAC,mBAAI,CAAC,IAAI,CAAC,sBAAc,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CACrE,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,sCAA0B,CAAC,CAAC;YACvF,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,yEAAyE;gBACzE,qEAAqE;gBACrE,qEAAqE;gBACrE,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;gBACpF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,oFAAoF,CACrF,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,mBAAmB,CAAC,+BAA+B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBACtF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,mBAAmB,GAAG,cAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,mBAAmB,WAAW,CAAC,OAAO,6CAA6C,CACpF,CAAC;YACF,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,IAAI,cAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,6EAA6E;gBAC3E,IAAI,mBAAmB,OAAO,WAAW,CAAC,OAAO,GAAG,CACvD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,+EAA+E;YAC7E,IAAI,mBAAmB,MAAM,WAAW,CAAC,OAAO,GAAG,CACtD,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,mBAAmB,CAC/B,OAAgD,EAAE;QAElD,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QAEnB,MAAO,IAAI,CAAC,MAAM,CAAC,SAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3E,GAAG;YACH,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,yBAAyB,CAAC,SAAiB;QACvD,MAAM,SAAS,GAAoC;YACjD,QAAQ,EAAE,IAAI,CAAC,YAAY,IAAI,cAAc;YAC7C,6BAA6B,EAAE,IAAI,CAAC,iBAAiB;SACtD,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAC,GAAG,EAAE,SAAS,EAAC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAO,IAAI,CAAC,MAAM,CAAC,MAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClD,IAAI,EAAE,CAAC,6BAA6B,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC/E,GAAG,EAAE,SAAS;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,gBAAgB,OAAO;gBAChF,gFAAgF;gBAChF,gEAAgE,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzqBD,wCAyqBC"}
|
package/lib/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export {bundleWDASim} from './check-dependencies';
|
|
2
2
|
export {NoSessionProxy} from './no-session-proxy';
|
|
3
3
|
export {WebDriverAgent} from './webdriveragent';
|
|
4
|
-
export {WDA_BASE_URL, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE} from './constants';
|
|
4
|
+
export {WDA_BASE_URL, WDA_RUNNER_APP, WDA_RUNNER_BUNDLE_ID, PROJECT_FILE} from './constants';
|
|
5
5
|
export {resetTestProcesses, BOOTSTRAP_PATH} from './utils';
|
|
6
6
|
|
|
7
7
|
export * from './types';
|
package/lib/types.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import {type HTTPHeaders} from '@appium/types';
|
|
2
|
+
import type {Simctl} from 'node-simctl';
|
|
3
|
+
import type {Devicectl} from 'node-devicectl';
|
|
2
4
|
|
|
3
5
|
// WebDriverAgentLib/Utilities/FBSettings.h
|
|
4
6
|
export interface WDASettings {
|
|
@@ -99,9 +101,8 @@ export interface WebDriverAgentArgs {
|
|
|
99
101
|
|
|
100
102
|
export interface AppleDevice {
|
|
101
103
|
udid: string;
|
|
102
|
-
simctl?:
|
|
103
|
-
devicectl?:
|
|
104
|
-
[key: string]: any;
|
|
104
|
+
simctl?: Simctl;
|
|
105
|
+
devicectl?: Devicectl;
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
/**
|
package/lib/webdriveragent.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {waitForCondition} from 'asyncbox';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import {JWProxy} from '@appium/base-driver';
|
|
4
|
-
import {fs, util
|
|
4
|
+
import {fs, util} from '@appium/support';
|
|
5
5
|
import type {AppiumLogger, StringRecord} from '@appium/types';
|
|
6
6
|
import {log as defaultLogger} from './logger';
|
|
7
7
|
import {NoSessionProxy} from './no-session-proxy';
|
|
@@ -14,21 +14,19 @@ import {
|
|
|
14
14
|
import {XcodeBuild} from './xcodebuild';
|
|
15
15
|
import AsyncLock from 'async-lock';
|
|
16
16
|
import {exec} from 'teen_process';
|
|
17
|
-
import {bundleWDASim} from './check-dependencies';
|
|
18
17
|
import {
|
|
19
18
|
WDA_RUNNER_BUNDLE_ID,
|
|
20
|
-
WDA_RUNNER_APP,
|
|
21
19
|
WDA_BASE_URL,
|
|
22
20
|
WDA_UPGRADE_TIMESTAMP_PATH,
|
|
23
21
|
DEFAULT_TEST_BUNDLE_SUFFIX,
|
|
24
22
|
} from './constants';
|
|
25
|
-
import {Xctest} from 'appium-ios-device';
|
|
26
23
|
import {strongbox} from '@appium/strongbox';
|
|
27
24
|
import type {WebDriverAgentArgs, AppleDevice} from './types';
|
|
25
|
+
import type {Simctl} from 'node-simctl';
|
|
26
|
+
import type {Devicectl} from 'node-devicectl';
|
|
28
27
|
|
|
29
28
|
const WDA_LAUNCH_TIMEOUT = 60 * 1000;
|
|
30
29
|
const WDA_AGENT_PORT = 8100;
|
|
31
|
-
const WDA_CF_BUNDLE_NAME = 'WebDriverAgentRunner-Runner';
|
|
32
30
|
const SHARED_RESOURCES_GUARD = new AsyncLock();
|
|
33
31
|
const RECENT_MODULE_VERSION_ITEM_NAME = 'recentWdaModuleVersion';
|
|
34
32
|
const URL_PROTOCOL_SEPARATOR = '://';
|
|
@@ -64,7 +62,6 @@ export class WebDriverAgent {
|
|
|
64
62
|
private readonly wdaLaunchTimeout: number;
|
|
65
63
|
private readonly usePreinstalledWDA?: boolean;
|
|
66
64
|
private readonly updatedWDABundleIdSuffix: string;
|
|
67
|
-
private xctestApiClient?: Xctest | null;
|
|
68
65
|
private _xcodebuild?: XcodeBuild | null;
|
|
69
66
|
private _url?: URL;
|
|
70
67
|
|
|
@@ -112,7 +109,6 @@ export class WebDriverAgent {
|
|
|
112
109
|
|
|
113
110
|
this.wdaLaunchTimeout = args.wdaLaunchTimeout || WDA_LAUNCH_TIMEOUT;
|
|
114
111
|
this.usePreinstalledWDA = args.usePreinstalledWDA;
|
|
115
|
-
this.xctestApiClient = null;
|
|
116
112
|
this.updatedWDABundleIdSuffix = args.updatedWDABundleIdSuffix ?? DEFAULT_TEST_BUNDLE_SUFFIX;
|
|
117
113
|
|
|
118
114
|
this._xcodebuild = this.canSkipXcodebuild
|
|
@@ -366,15 +362,14 @@ export class WebDriverAgent {
|
|
|
366
362
|
async quit(): Promise<void> {
|
|
367
363
|
if (this.usePreinstalledWDA) {
|
|
368
364
|
this.log.info('Stopping the XCTest session');
|
|
369
|
-
|
|
370
|
-
this.
|
|
371
|
-
this.xctestApiClient = null;
|
|
372
|
-
} else {
|
|
373
|
-
try {
|
|
365
|
+
try {
|
|
366
|
+
if (this.device.simctl) {
|
|
374
367
|
await this.device.simctl.terminateApp(this.bundleIdForXctest);
|
|
375
|
-
}
|
|
376
|
-
this.
|
|
368
|
+
} else if (this.device.devicectl) {
|
|
369
|
+
await this.device.devicectl.terminateApp(this.bundleIdForXctest);
|
|
377
370
|
}
|
|
371
|
+
} catch (e: any) {
|
|
372
|
+
this.log.warn(e.message);
|
|
378
373
|
}
|
|
379
374
|
} else if (!this.args.webDriverAgentUrl) {
|
|
380
375
|
this.log.info('Shutting down sub-processes');
|
|
@@ -383,8 +378,7 @@ export class WebDriverAgent {
|
|
|
383
378
|
}
|
|
384
379
|
} else {
|
|
385
380
|
this.log.debug(
|
|
386
|
-
'
|
|
387
|
-
'since the WDA session is managed by outside this driver.',
|
|
381
|
+
'Stopping neither xcodebuild nor XCTest session since WDA lifecycle is not managed by this driver',
|
|
388
382
|
);
|
|
389
383
|
}
|
|
390
384
|
|
|
@@ -415,13 +409,14 @@ export class WebDriverAgent {
|
|
|
415
409
|
/**
|
|
416
410
|
* Reuse running WDA if it has the same bundle id with updatedWDABundleId.
|
|
417
411
|
* Or reuse it if it has the default id without updatedWDABundleId.
|
|
418
|
-
*
|
|
412
|
+
*
|
|
413
|
+
* @returns The WDA URL used for caching on success, or `undefined` if caching was skipped.
|
|
419
414
|
*/
|
|
420
|
-
async setupCaching(): Promise<
|
|
415
|
+
async setupCaching(): Promise<string | undefined> {
|
|
421
416
|
const status = await this.getStatus(0);
|
|
422
417
|
if (!status || !status.build) {
|
|
423
418
|
this.log.debug('WDA is currently not running. There is nothing to cache');
|
|
424
|
-
return;
|
|
419
|
+
return undefined;
|
|
425
420
|
}
|
|
426
421
|
|
|
427
422
|
const {productBundleIdentifier, upgradedAt} = status.build as any;
|
|
@@ -432,9 +427,9 @@ export class WebDriverAgent {
|
|
|
432
427
|
this.updatedWDABundleId !== productBundleIdentifier
|
|
433
428
|
) {
|
|
434
429
|
this.log.info(
|
|
435
|
-
`Will
|
|
430
|
+
`Will not reuse running WDA since it has different bundle id. The actual value is '${productBundleIdentifier}'.`,
|
|
436
431
|
);
|
|
437
|
-
return
|
|
432
|
+
return undefined;
|
|
438
433
|
}
|
|
439
434
|
// for simulator
|
|
440
435
|
if (
|
|
@@ -443,9 +438,9 @@ export class WebDriverAgent {
|
|
|
443
438
|
WDA_RUNNER_BUNDLE_ID !== productBundleIdentifier
|
|
444
439
|
) {
|
|
445
440
|
this.log.info(
|
|
446
|
-
`Will
|
|
441
|
+
`Will not reuse running WDA since its bundle id is not equal to the default value ${WDA_RUNNER_BUNDLE_ID}`,
|
|
447
442
|
);
|
|
448
|
-
return
|
|
443
|
+
return undefined;
|
|
449
444
|
}
|
|
450
445
|
|
|
451
446
|
const actualUpgradeTimestamp = await getWDAUpgradeTimestamp();
|
|
@@ -457,51 +452,21 @@ export class WebDriverAgent {
|
|
|
457
452
|
`${actualUpgradeTimestamp}`.toLowerCase() !== `${upgradedAt}`.toLowerCase()
|
|
458
453
|
) {
|
|
459
454
|
this.log.info(
|
|
460
|
-
'Will
|
|
455
|
+
'Will not reuse running WDA since it has different version in comparison to the one ' +
|
|
461
456
|
`which is bundled with appium-xcuitest-driver module (${actualUpgradeTimestamp} != ${upgradedAt})`,
|
|
462
457
|
);
|
|
463
|
-
return
|
|
458
|
+
return undefined;
|
|
464
459
|
}
|
|
465
460
|
|
|
461
|
+
const cachedUrl = this.url.href;
|
|
466
462
|
const message = util.hasValue(productBundleIdentifier)
|
|
467
|
-
? `Will reuse previously cached WDA instance at '${
|
|
468
|
-
: `Will reuse previously cached WDA instance at '${
|
|
463
|
+
? `Will reuse previously cached WDA instance at '${cachedUrl}' with '${productBundleIdentifier}'`
|
|
464
|
+
: `Will reuse previously cached WDA instance at '${cachedUrl}'`;
|
|
469
465
|
this.log.info(
|
|
470
466
|
`${message}. Set the wdaLocalPort capability to a value different from ${this.url.port} if this is an undesired behavior.`,
|
|
471
467
|
);
|
|
472
|
-
this.webDriverAgentUrl =
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
/**
|
|
476
|
-
* Quit and uninstall running WDA.
|
|
477
|
-
*/
|
|
478
|
-
async quitAndUninstall(): Promise<void> {
|
|
479
|
-
await this.quit();
|
|
480
|
-
await this.uninstall();
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
private async parseBundleId(wdaBundlePath: string): Promise<string> {
|
|
484
|
-
const infoPlistPath = path.join(wdaBundlePath, 'Info.plist');
|
|
485
|
-
const infoPlist = (await plist.parsePlist(await fs.readFile(infoPlistPath))) as {
|
|
486
|
-
CFBundleIdentifier?: string;
|
|
487
|
-
};
|
|
488
|
-
if (!infoPlist.CFBundleIdentifier) {
|
|
489
|
-
throw new Error(`Could not find bundle id in '${infoPlistPath}'`);
|
|
490
|
-
}
|
|
491
|
-
return infoPlist.CFBundleIdentifier;
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
private async fetchWDABundle(): Promise<string> {
|
|
495
|
-
if (!this.derivedDataPath) {
|
|
496
|
-
return await bundleWDASim(this.xcodebuild);
|
|
497
|
-
}
|
|
498
|
-
const wdaBundlePaths = await fs.glob(`${this.derivedDataPath}/**/*${WDA_RUNNER_APP}/`, {
|
|
499
|
-
absolute: true,
|
|
500
|
-
});
|
|
501
|
-
if (wdaBundlePaths.length === 0) {
|
|
502
|
-
throw new Error(`Could not find the WDA bundle in '${this.derivedDataPath}'`);
|
|
503
|
-
}
|
|
504
|
-
return wdaBundlePaths[0];
|
|
468
|
+
this.webDriverAgentUrl = cachedUrl;
|
|
469
|
+
return cachedUrl;
|
|
505
470
|
}
|
|
506
471
|
|
|
507
472
|
private setupProxies(sessionId: string): void {
|
|
@@ -549,10 +514,6 @@ export class WebDriverAgent {
|
|
|
549
514
|
this.log.info(`Using WDA agent: '${this.agentPath}'`);
|
|
550
515
|
}
|
|
551
516
|
|
|
552
|
-
private async isRunning(): Promise<boolean> {
|
|
553
|
-
return !!(await this.getStatus());
|
|
554
|
-
}
|
|
555
|
-
|
|
556
517
|
/**
|
|
557
518
|
* Return current running WDA's status like below
|
|
558
519
|
* {
|
|
@@ -626,32 +587,6 @@ export class WebDriverAgent {
|
|
|
626
587
|
return status;
|
|
627
588
|
}
|
|
628
589
|
|
|
629
|
-
/**
|
|
630
|
-
* Uninstall WDAs from the test device.
|
|
631
|
-
* Over Xcode 11, multiple WDA can be in the device since Xcode 11 generates different WDA.
|
|
632
|
-
* Appium does not expect multiple WDAs are running on a device.
|
|
633
|
-
*/
|
|
634
|
-
private async uninstall(): Promise<void> {
|
|
635
|
-
try {
|
|
636
|
-
const bundleIds = await this.device.getUserInstalledBundleIdsByBundleName(WDA_CF_BUNDLE_NAME);
|
|
637
|
-
if (bundleIds.length === 0) {
|
|
638
|
-
this.log.debug('No WDAs on the device.');
|
|
639
|
-
return;
|
|
640
|
-
}
|
|
641
|
-
|
|
642
|
-
this.log.debug(`Uninstalling WDAs: '${bundleIds}'`);
|
|
643
|
-
for (const bundleId of bundleIds) {
|
|
644
|
-
await this.device.removeApp(bundleId);
|
|
645
|
-
}
|
|
646
|
-
} catch (e: any) {
|
|
647
|
-
this.log.debug(e);
|
|
648
|
-
this.log.warn(
|
|
649
|
-
`WebDriverAgent uninstall failed. Perhaps, it is already uninstalled? ` +
|
|
650
|
-
`Original error: ${e.message}`,
|
|
651
|
-
);
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
|
|
655
590
|
private async _cleanupProjectIfFresh(): Promise<void> {
|
|
656
591
|
if (this.canSkipXcodebuild) {
|
|
657
592
|
return;
|
|
@@ -725,9 +660,6 @@ export class WebDriverAgent {
|
|
|
725
660
|
* https://github.com/appium/WebDriverAgent/releases
|
|
726
661
|
* with proper sign for this case.
|
|
727
662
|
*
|
|
728
|
-
* When we implement launching XCTest service via appium-ios-device,
|
|
729
|
-
* this implementation can be replaced with it.
|
|
730
|
-
*
|
|
731
663
|
* @param opts launching WDA with devicectl command options.
|
|
732
664
|
*/
|
|
733
665
|
private async _launchViaDevicectl(
|
|
@@ -735,7 +667,10 @@ export class WebDriverAgent {
|
|
|
735
667
|
): Promise<void> {
|
|
736
668
|
const {env} = opts;
|
|
737
669
|
|
|
738
|
-
await this.device.devicectl.launchApp(this.bundleIdForXctest, {
|
|
670
|
+
await (this.device.devicectl as Devicectl).launchApp(this.bundleIdForXctest, {
|
|
671
|
+
env,
|
|
672
|
+
terminateExisting: true,
|
|
673
|
+
});
|
|
739
674
|
}
|
|
740
675
|
|
|
741
676
|
/**
|
|
@@ -755,19 +690,9 @@ export class WebDriverAgent {
|
|
|
755
690
|
}
|
|
756
691
|
this.log.info('Launching WebDriverAgent on the device without xcodebuild');
|
|
757
692
|
if (this.isRealDevice) {
|
|
758
|
-
|
|
759
|
-
// but it has limitation about the WDA preinstalled package.
|
|
760
|
-
// https://github.com/appium/appium/issues/19206#issuecomment-2014182674
|
|
761
|
-
if (this.platformVersion && util.compareVersions(this.platformVersion, '>=', '17.0')) {
|
|
762
|
-
await this._launchViaDevicectl({env: xctestEnv});
|
|
763
|
-
} else {
|
|
764
|
-
this.xctestApiClient = new Xctest(this.device.udid, this.bundleIdForXctest, null, {
|
|
765
|
-
env: xctestEnv,
|
|
766
|
-
});
|
|
767
|
-
await this.xctestApiClient.start();
|
|
768
|
-
}
|
|
693
|
+
await this._launchViaDevicectl({env: xctestEnv});
|
|
769
694
|
} else {
|
|
770
|
-
await this.device.simctl.exec('launch', {
|
|
695
|
+
await (this.device.simctl as Simctl).exec('launch', {
|
|
771
696
|
args: ['--terminate-running-process', this.device.udid, this.bundleIdForXctest],
|
|
772
697
|
env: xctestEnv,
|
|
773
698
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-webdriveragent",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Package bundling WebDriverAgent",
|
|
5
5
|
"main": "./build/lib/index.js",
|
|
6
6
|
"types": "./build/lib/index.d.ts",
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
"chai-as-promised": "^8.0.0",
|
|
66
66
|
"conventional-changelog-conventionalcommits": "^9.0.0",
|
|
67
67
|
"mocha": "^11.0.1",
|
|
68
|
+
"node-devicectl": "^1.4.0",
|
|
68
69
|
"node-simctl": "^8.0.0",
|
|
69
70
|
"prettier": "^3.0.0",
|
|
70
71
|
"semantic-release": "^25.0.2",
|
|
@@ -77,7 +78,6 @@
|
|
|
77
78
|
"@appium/base-driver": "^10.3.0",
|
|
78
79
|
"@appium/strongbox": "^1.0.0-rc.1",
|
|
79
80
|
"@appium/support": "^7.0.0-rc.1",
|
|
80
|
-
"appium-ios-device": "^3.0.0",
|
|
81
81
|
"appium-ios-simulator": "^8.0.0",
|
|
82
82
|
"async-lock": "^1.0.0",
|
|
83
83
|
"asyncbox": "^6.1.0",
|