appium-webdriveragent 8.1.0 → 8.2.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,17 @@
1
+ ## [8.2.1](https://github.com/appium/WebDriverAgent/compare/v8.2.0...v8.2.1) (2024-03-28)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * wait for wda start in sim as well for preinstalled wda start ([#876](https://github.com/appium/WebDriverAgent/issues/876)) ([6c8920a](https://github.com/appium/WebDriverAgent/commit/6c8920adddb373b463259c3e6c14cb3c49ecbf2b))
7
+
8
+ ## [8.2.0](https://github.com/appium/WebDriverAgent/compare/v8.1.0...v8.2.0) (2024-03-28)
9
+
10
+
11
+ ### Features
12
+
13
+ * Add a capability to customize the default state change timeout on app startup ([#877](https://github.com/appium/WebDriverAgent/issues/877)) ([98351c3](https://github.com/appium/WebDriverAgent/commit/98351c358367e67e63701612fd3702d53437e12e))
14
+
1
15
  ## [8.1.0](https://github.com/appium/WebDriverAgent/compare/v8.0.2...v8.1.0) (2024-03-26)
2
16
 
3
17
 
@@ -156,19 +156,25 @@
156
156
  if (app.running) {
157
157
  [app terminate];
158
158
  }
159
- NSError *openError;
160
- if (![XCUIDevice.sharedDevice fb_openUrl:initialUrl
161
- withApplication:bundleID
162
- error:&openError]) {
163
- NSString *errorMsg = [NSString stringWithFormat:@"Cannot open the URL %@ with the %@ application. Original error: %@",
164
- initialUrl, bundleID, openError.localizedDescription];
165
- return FBResponseWithStatus([FBCommandStatus sessionNotCreatedError:errorMsg traceback:nil]);
159
+ id<FBResponsePayload> errorResponse = [self openDeepLink:initialUrl
160
+ withApplication:bundleID
161
+ timeout:capabilities[FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC]];
162
+ if (nil != errorResponse) {
163
+ return errorResponse;
166
164
  }
167
165
  } else {
166
+ NSTimeInterval defaultTimeout = _XCTApplicationStateTimeout();
167
+ if (nil != capabilities[FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC]) {
168
+ _XCTSetApplicationStateTimeout([capabilities[FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC] doubleValue]);
169
+ }
168
170
  @try {
169
171
  [app launch];
170
172
  } @catch (NSException *e) {
171
173
  return FBResponseWithStatus([FBCommandStatus sessionNotCreatedError:e.reason traceback:nil]);
174
+ } @finally {
175
+ if (nil != capabilities[FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC]) {
176
+ _XCTSetApplicationStateTimeout(defaultTimeout);
177
+ }
172
178
  }
173
179
  }
174
180
  if (!app.running) {
@@ -178,13 +184,11 @@
178
184
  }
179
185
  } else if (appState == XCUIApplicationStateRunningBackground && !forceAppLaunch) {
180
186
  if (nil != initialUrl) {
181
- NSError *openError;
182
- if (![XCUIDevice.sharedDevice fb_openUrl:initialUrl
183
- withApplication:bundleID
184
- error:&openError]) {
185
- NSString *errorMsg = [NSString stringWithFormat:@"Cannot open the URL %@ with the %@ application. Original error: %@",
186
- initialUrl, bundleID, openError.localizedDescription];
187
- return FBResponseWithStatus([FBCommandStatus sessionNotCreatedError:errorMsg traceback:nil]);
187
+ id<FBResponsePayload> errorResponse = [self openDeepLink:initialUrl
188
+ withApplication:bundleID
189
+ timeout:nil];
190
+ if (nil != errorResponse) {
191
+ return errorResponse;
188
192
  }
189
193
  } else {
190
194
  [app activate];
@@ -193,11 +197,11 @@
193
197
  }
194
198
 
195
199
  if (nil != initialUrl && nil == bundleID) {
196
- NSError *openError;
197
- if (![XCUIDevice.sharedDevice fb_openUrl:initialUrl error:&openError]) {
198
- NSString *errorMsg = [NSString stringWithFormat:@"Cannot open the URL %@. Original error: %@",
199
- initialUrl, openError.localizedDescription];
200
- return FBResponseWithStatus([FBCommandStatus sessionNotCreatedError:errorMsg traceback:nil]);
200
+ id<FBResponsePayload> errorResponse = [self openDeepLink:initialUrl
201
+ withApplication:nil
202
+ timeout:capabilities[FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC]];
203
+ if (nil != errorResponse) {
204
+ return errorResponse;
201
205
  }
202
206
  }
203
207
 
@@ -492,4 +496,33 @@
492
496
  };
493
497
  }
494
498
 
499
+ +(nullable id<FBResponsePayload>)openDeepLink:(NSString *)initialUrl
500
+ withApplication:(nullable NSString *)bundleID
501
+ timeout:(nullable NSNumber *)timeout
502
+ {
503
+ NSError *openError;
504
+ NSTimeInterval defaultTimeout = _XCTApplicationStateTimeout();
505
+ if (nil != timeout) {
506
+ _XCTSetApplicationStateTimeout([timeout doubleValue]);
507
+ }
508
+ @try {
509
+ BOOL result = nil == bundleID
510
+ ? [XCUIDevice.sharedDevice fb_openUrl:initialUrl
511
+ error:&openError]
512
+ : [XCUIDevice.sharedDevice fb_openUrl:initialUrl
513
+ withApplication:(id)bundleID
514
+ error:&openError];
515
+ if (result) {
516
+ return nil;
517
+ }
518
+ NSString *errorMsg = [NSString stringWithFormat:@"Cannot open the URL %@ with the %@ application. Original error: %@",
519
+ initialUrl, bundleID ?: @"default", openError.localizedDescription];
520
+ return FBResponseWithStatus([FBCommandStatus sessionNotCreatedError:errorMsg traceback:nil]);
521
+ } @finally {
522
+ if (nil != timeout) {
523
+ _XCTSetApplicationStateTimeout(defaultTimeout);
524
+ }
525
+ }
526
+ }
527
+
495
528
  @end
@@ -11,7 +11,7 @@
11
11
 
12
12
  /** Whether to use alternative elements visivility detection method */
13
13
  extern NSString* const FB_CAP_USE_TEST_MANAGER_FOR_VISIBLITY_DETECTION;
14
- /** Set the maximum amount of charatcers that could be typed within a minute (60 by default) */
14
+ /** Set the maximum amount of characters that could be typed within a minute (60 by default) */
15
15
  extern NSString* const FB_CAP_MAX_TYPING_FREQUENCY;
16
16
  /** this setting was needed for some legacy stuff */
17
17
  extern NSString* const FB_CAP_USE_SINGLETON_TEST_MANAGER;
@@ -42,3 +42,5 @@ extern NSString* const FB_CAP_ENVIRNOMENT;
42
42
  extern NSString* const FB_CAP_USE_NATIVE_CACHING_STRATEGY;
43
43
  /** Whether to enforce software keyboard presence on simulator */
44
44
  extern NSString* const FB_CAP_FORCE_SIMULATOR_SOFTWARE_KEYBOARD_PRESENCE;
45
+ /** Sets the application state change timeout for the initial app startup */
46
+ extern NSString* const FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC;
@@ -23,3 +23,4 @@ NSString* const FB_CAP_ARGUMENTS = @"arguments";
23
23
  NSString* const FB_CAP_ENVIRNOMENT = @"environment";
24
24
  NSString* const FB_CAP_USE_NATIVE_CACHING_STRATEGY = @"useNativeCachingStrategy";
25
25
  NSString* const FB_CAP_FORCE_SIMULATOR_SOFTWARE_KEYBOARD_PRESENCE = @"forceSimulatorSoftwareKeyboardPresence";
26
+ NSString* const FB_CAP_APP_LAUNCH_STATE_TIMEOUT_SEC = @"appLaunchStateTimeoutSec";
@@ -73,9 +73,14 @@ export class WebDriverAgent {
73
73
  * }
74
74
  * }
75
75
  *
76
- * @return {Promise<any?>} State Object
76
+ * @param {number} [timeoutMs=0] If the given timeoutMs is zero or negative number,
77
+ * this function will return the response of `/status` immediately. If the given timeoutMs,
78
+ * this function will try to get the response of `/status` up to the timeoutMs.
79
+ * @return {Promise<import('@appium/types').StringRecord|null>} State Object
80
+ * @throws {Error} If there was an error within timeoutMs timeout.
81
+ * No error is raised if zero or negative number for the timeoutMs.
77
82
  */
78
- getStatus(): Promise<any | null>;
83
+ getStatus(timeoutMs?: number | undefined): Promise<import('@appium/types').StringRecord | null>;
79
84
  /**
80
85
  * Uninstall WDAs from the test device.
81
86
  * Over Xcode 11, multiple WDA can be in the device since Xcode 11 generates different WDA.
@@ -108,9 +113,11 @@ export class WebDriverAgent {
108
113
  /**
109
114
  * Launch WDA with preinstalled package without xcodebuild.
110
115
  * @param {string} sessionId Launch WDA and establish the session with this sessionId
111
- * @return {Promise<any?>} State Object
116
+ * @return {Promise<import('@appium/types').StringRecord|null>} State Object
117
+ * @throws {Error} If there was an error within timeoutMs timeout.
118
+ * No error is raised if zero or negative number for the timeoutMs.
112
119
  */
113
- launchWithPreinstalledWDA(sessionId: string): Promise<any | null>;
120
+ launchWithPreinstalledWDA(sessionId: string): Promise<import('@appium/types').StringRecord | null>;
114
121
  /**
115
122
  * Return current running WDA's status like below after launching WDA
116
123
  * {
@@ -1 +1 @@
1
- {"version":3,"file":"webdriveragent.d.ts","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":";AA6BA;IACE,sDAuEC;IAtEC,kBAAgC;IAEhC,SAAyB;IACzB,0CAA+B;IAE/B,YAAyB;IACzB,qBAA2C;IAC3C,kBAAqC;IACrC,mBAAuC;IACvC,UAAqB;IACrB,sBAAqC;IACrC,SAAkC;IAClC,mBAAuC;IAIvC,kBAAqC;IACrC,mBAAwD;IACxD,gBAAiD;IAEjD,iBAAmC;IAKnC,uBAA+C;IAE/C,iBAAoB;IAEpB,0BAAqD;IAErD,sBAA6C;IAC7C,oBAAyC;IACzC,qBAA2C;IAC3C,qBAA2C;IAE3C,wBAAiD;IAEjD,sBAAmE;IACnE,wBAAiD;IACjD,qBAA2B;IAC3B,8BAA2F;IAE3F,8BA0Bc;IAGhB;;;OAGG;IACH,iCAIC;IAED;;;;;;;OAOG;IACH,gCAEC;IAED,sDASC;IANC,mBAAoD;IAIpD,eAA0F;IAI5F,0CAmBC;IAED;;;;OAIG;IACH,aAHY,QAAQ,OAAO,CAAC,CAK3B;IAED,oBAKC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAFY,QAAQ,GAAG,QAAE,CAexB;IAED;;;;OAIG;IACH,2BAiBC;IAED,wCA4DC;IAGD;;;OAGG;IAEH;;;;;;;;;;;OAWG;IACH;;;;;oBAFY,QAAQ,IAAI,CAAC,CAwBxB;IAED;;;;OAIG;IACH,qCAHW,MAAM,GACL,QAAQ,GAAG,QAAE,CAoCxB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBAJW,MAAM,GACL,QAAQ,GAAG,QAAE,CAmDxB;IAyHD,mBAEC;IAfD,eAWC;IArHD,6BAYC;IAED,gDAOC;IAED;;;;OAQC;IAED,kCAWC;IAED,kCAMC;IAED,mCAeC;IALC,6BAAqC;IAErC,iBAA8D;IAE9D,2CAAmD;IAGrD,sBAiCC;IAKK,UAA6C;IAkBnD,mCAEC;IAND,4BAEC;IAMD,wCAMC;IAED;;;;OAIG;IACH,8BAoCC;IAED;;OAEG;IACH,kCAGC;CACF;uBApnBsB,cAAc;wBAPb,qBAAqB;+BAGd,oBAAoB"}
1
+ {"version":3,"file":"webdriveragent.d.ts","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":";AA6BA;IACE,sDAuEC;IAtEC,kBAAgC;IAEhC,SAAyB;IACzB,0CAA+B;IAE/B,YAAyB;IACzB,qBAA2C;IAC3C,kBAAqC;IACrC,mBAAuC;IACvC,UAAqB;IACrB,sBAAqC;IACrC,SAAkC;IAClC,mBAAuC;IAIvC,kBAAqC;IACrC,mBAAwD;IACxD,gBAAiD;IAEjD,iBAAmC;IAKnC,uBAA+C;IAE/C,iBAAoB;IAEpB,0BAAqD;IAErD,sBAA6C;IAC7C,oBAAyC;IACzC,qBAA2C;IAC3C,qBAA2C;IAE3C,wBAAiD;IAEjD,sBAAmE;IACnE,wBAAiD;IACjD,qBAA2B;IAC3B,8BAA2F;IAE3F,8BA0Bc;IAGhB;;;OAGG;IACH,iCAIC;IAED;;;;;;;OAOG;IACH,gCAEC;IAED,sDASC;IANC,mBAAoD;IAIpD,eAA0F;IAI5F,0CAmBC;IAED;;;;OAIG;IACH,aAHY,QAAQ,OAAO,CAAC,CAK3B;IAED,oBAKC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,2CAJY,QAAQ,OAAO,eAAe,EAAE,YAAY,GAAC,IAAI,CAAC,CA4C7D;IAED;;;;OAIG;IACH,2BAiBC;IAED,wCA4DC;IAGD;;;OAGG;IAEH;;;;;;;;;;;OAWG;IACH;;;;;oBAFY,QAAQ,IAAI,CAAC,CAQxB;IAED;;;;;;OAMG;IACH,qCALW,MAAM,GACL,QAAQ,OAAO,eAAe,EAAE,YAAY,GAAC,IAAI,CAAC,CA+C7D;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,kBAJW,MAAM,GACL,QAAQ,GAAG,QAAE,CAmDxB;IAyHD,mBAEC;IAfD,eAWC;IArHD,6BAYC;IAED,gDAOC;IAED;;;;OAQC;IAED,kCAWC;IAED,kCAMC;IAED,mCAeC;IALC,6BAAqC;IAErC,iBAA8D;IAE9D,2CAAmD;IAGrD,sBAiCC;IAKK,UAA6C;IAkBnD,mCAEC;IAND,4BAEC;IAMD,wCAMC;IAED;;;;OAIG;IACH,8BAoCC;IAED;;OAEG;IACH,kCAGC;CACF;uBA/oBsB,cAAc;wBAPb,qBAAqB;+BAGd,oBAAoB"}
@@ -167,22 +167,53 @@ class WebDriverAgent {
167
167
  * }
168
168
  * }
169
169
  *
170
- * @return {Promise<any?>} State Object
170
+ * @param {number} [timeoutMs=0] If the given timeoutMs is zero or negative number,
171
+ * this function will return the response of `/status` immediately. If the given timeoutMs,
172
+ * this function will try to get the response of `/status` up to the timeoutMs.
173
+ * @return {Promise<import('@appium/types').StringRecord|null>} State Object
174
+ * @throws {Error} If there was an error within timeoutMs timeout.
175
+ * No error is raised if zero or negative number for the timeoutMs.
171
176
  */
172
- async getStatus() {
177
+ async getStatus(timeoutMs = 0) {
173
178
  const noSessionProxy = new no_session_proxy_1.NoSessionProxy({
174
179
  server: this.url.hostname,
175
180
  port: this.url.port,
176
181
  base: this.basePath,
177
182
  timeout: 3000,
178
183
  });
184
+ const sendGetStatus = async () => await /** @type import('@appium/types').StringRecord */ (noSessionProxy.command('/status', 'GET'));
185
+ if (lodash_1.default.isNil(timeoutMs) || timeoutMs <= 0) {
186
+ try {
187
+ return await sendGetStatus();
188
+ }
189
+ catch (err) {
190
+ this.log.debug(`WDA is not listening at '${this.url.href}'. Original error:: ${err.message}`);
191
+ return null;
192
+ }
193
+ }
194
+ let lastError = null;
195
+ let status = null;
179
196
  try {
180
- return await noSessionProxy.command('/status', 'GET');
197
+ await (0, asyncbox_1.waitForCondition)(async () => {
198
+ try {
199
+ status = await sendGetStatus();
200
+ return true;
201
+ }
202
+ catch (err) {
203
+ lastError = err;
204
+ }
205
+ return false;
206
+ }, {
207
+ waitMs: timeoutMs,
208
+ intervalMs: 300,
209
+ });
181
210
  }
182
211
  catch (err) {
183
- this.log.debug(`WDA is not listening at '${this.url.href}'`);
184
- return null;
212
+ this.log.debug(`Failed to get the status endpoint in ${timeoutMs} ms. ` +
213
+ `The last error while accessing ${this.url.href}: ${lastError}. Original error:: ${err.message}.`);
214
+ throw new Error(`WDA was not ready in ${timeoutMs} ms.`);
185
215
  }
216
+ return status;
186
217
  }
187
218
  /**
188
219
  * Uninstall WDAs from the test device.
@@ -284,24 +315,13 @@ class WebDriverAgent {
284
315
  async _launchViaDevicectl(opts = {}) {
285
316
  const { env } = opts;
286
317
  await this.device.devicectl.launchApp(this.bundleIdForXctest, { env, terminateExisting: true });
287
- // Launching app via decictl does not wait for the app start.
288
- // We should wait for the app start by ourselves.
289
- try {
290
- await (0, asyncbox_1.waitForCondition)(async () => !lodash_1.default.isNull(await this.getStatus()), {
291
- waitMs: this.wdaLaunchTimeout,
292
- intervalMs: 300,
293
- });
294
- }
295
- catch (err) {
296
- throw new Error(`Failed to start the preinstalled WebDriverAgent in ${this.wdaLaunchTimeout} ms. ` +
297
- `The WebDriverAgent might not be properly built or the device might be locked. ` +
298
- `The 'appium:wdaLaunchTimeout' capability modifies the timeout.`);
299
- }
300
318
  }
301
319
  /**
302
320
  * Launch WDA with preinstalled package without xcodebuild.
303
321
  * @param {string} sessionId Launch WDA and establish the session with this sessionId
304
- * @return {Promise<any?>} State Object
322
+ * @return {Promise<import('@appium/types').StringRecord|null>} State Object
323
+ * @throws {Error} If there was an error within timeoutMs timeout.
324
+ * No error is raised if zero or negative number for the timeoutMs.
305
325
  */
306
326
  async launchWithPreinstalledWDA(sessionId) {
307
327
  const xctestEnv = {
@@ -335,7 +355,15 @@ class WebDriverAgent {
335
355
  });
336
356
  }
337
357
  this.setupProxies(sessionId);
338
- const status = await this.getStatus();
358
+ let status;
359
+ try {
360
+ status = await this.getStatus(this.wdaLaunchTimeout);
361
+ }
362
+ catch (err) {
363
+ throw new Error(`Failed to start the preinstalled WebDriverAgent in ${this.wdaLaunchTimeout} ms. ` +
364
+ `The WebDriverAgent might not be properly built or the device might be locked. ` +
365
+ `The 'appium:wdaLaunchTimeout' capability modifies the timeout.`);
366
+ }
339
367
  this.started = true;
340
368
  return status;
341
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webdriveragent.js","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webdriveragent.js","sourceRoot":"","sources":["../../lib/webdriveragent.js"],"names":[],"mappings":"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"}
@@ -190,21 +190,53 @@ class WebDriverAgent {
190
190
  * }
191
191
  * }
192
192
  *
193
- * @return {Promise<any?>} State Object
193
+ * @param {number} [timeoutMs=0] If the given timeoutMs is zero or negative number,
194
+ * this function will return the response of `/status` immediately. If the given timeoutMs,
195
+ * this function will try to get the response of `/status` up to the timeoutMs.
196
+ * @return {Promise<import('@appium/types').StringRecord|null>} State Object
197
+ * @throws {Error} If there was an error within timeoutMs timeout.
198
+ * No error is raised if zero or negative number for the timeoutMs.
194
199
  */
195
- async getStatus () {
200
+ async getStatus (timeoutMs = 0) {
196
201
  const noSessionProxy = new NoSessionProxy({
197
202
  server: this.url.hostname,
198
203
  port: this.url.port,
199
204
  base: this.basePath,
200
205
  timeout: 3000,
201
206
  });
207
+
208
+ const sendGetStatus = async () => await /** @type import('@appium/types').StringRecord */ (noSessionProxy.command('/status', 'GET'));
209
+
210
+ if (_.isNil(timeoutMs) || timeoutMs <= 0) {
211
+ try {
212
+ return await sendGetStatus();
213
+ } catch (err) {
214
+ this.log.debug(`WDA is not listening at '${this.url.href}'. Original error:: ${err.message}`);
215
+ return null;
216
+ }
217
+ }
218
+
219
+ let lastError = null;
220
+ let status = null;
202
221
  try {
203
- return await noSessionProxy.command('/status', 'GET');
222
+ await waitForCondition(async () => {
223
+ try {
224
+ status = await sendGetStatus();
225
+ return true;
226
+ } catch (err) {
227
+ lastError = err;
228
+ }
229
+ return false;
230
+ }, {
231
+ waitMs: timeoutMs,
232
+ intervalMs: 300,
233
+ });
204
234
  } catch (err) {
205
- this.log.debug(`WDA is not listening at '${this.url.href}'`);
206
- return null;
235
+ this.log.debug(`Failed to get the status endpoint in ${timeoutMs} ms. ` +
236
+ `The last error while accessing ${this.url.href}: ${lastError}. Original error:: ${err.message}.`);
237
+ throw new Error(`WDA was not ready in ${timeoutMs} ms.`);
207
238
  }
239
+ return status;
208
240
  }
209
241
 
210
242
  /**
@@ -317,28 +349,14 @@ class WebDriverAgent {
317
349
  await this.device.devicectl.launchApp(
318
350
  this.bundleIdForXctest, { env, terminateExisting: true }
319
351
  );
320
-
321
- // Launching app via decictl does not wait for the app start.
322
- // We should wait for the app start by ourselves.
323
- try {
324
- await waitForCondition(async () => !_.isNull(await this.getStatus()), {
325
- waitMs: this.wdaLaunchTimeout,
326
- intervalMs: 300,
327
- });
328
-
329
- } catch (err) {
330
- throw new Error(
331
- `Failed to start the preinstalled WebDriverAgent in ${this.wdaLaunchTimeout} ms. ` +
332
- `The WebDriverAgent might not be properly built or the device might be locked. ` +
333
- `The 'appium:wdaLaunchTimeout' capability modifies the timeout.`
334
- );
335
- }
336
352
  }
337
353
 
338
354
  /**
339
355
  * Launch WDA with preinstalled package without xcodebuild.
340
356
  * @param {string} sessionId Launch WDA and establish the session with this sessionId
341
- * @return {Promise<any?>} State Object
357
+ * @return {Promise<import('@appium/types').StringRecord|null>} State Object
358
+ * @throws {Error} If there was an error within timeoutMs timeout.
359
+ * No error is raised if zero or negative number for the timeoutMs.
342
360
  */
343
361
  async launchWithPreinstalledWDA(sessionId) {
344
362
  const xctestEnv = {
@@ -371,7 +389,16 @@ class WebDriverAgent {
371
389
  }
372
390
 
373
391
  this.setupProxies(sessionId);
374
- const status = await this.getStatus();
392
+ let status;
393
+ try {
394
+ status = await this.getStatus(this.wdaLaunchTimeout);
395
+ } catch (err) {
396
+ throw new Error(
397
+ `Failed to start the preinstalled WebDriverAgent in ${this.wdaLaunchTimeout} ms. ` +
398
+ `The WebDriverAgent might not be properly built or the device might be locked. ` +
399
+ `The 'appium:wdaLaunchTimeout' capability modifies the timeout.`
400
+ );
401
+ }
375
402
  this.started = true;
376
403
  return status;
377
404
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-webdriveragent",
3
- "version": "8.1.0",
3
+ "version": "8.2.1",
4
4
  "description": "Package bundling WebDriverAgent",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {