appium-uiautomator2-driver 6.0.2 → 6.1.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.
@@ -11,7 +11,6 @@ const appium_uiautomator2_server_1 = require("appium-uiautomator2-server");
11
11
  const support_1 = require("appium/support");
12
12
  const bluebird_1 = __importDefault(require("bluebird"));
13
13
  const axios_1 = __importDefault(require("axios"));
14
- const REQD_PARAMS = ['adb', 'tmpDir', 'host', 'systemPort', 'devicePort', 'disableWindowAnimation'];
15
14
  const SERVER_LAUNCH_TIMEOUT_MS = 30000;
16
15
  const SERVER_INSTALL_RETRIES = 20;
17
16
  const SERVICES_LAUNCH_TIMEOUT_MS = 30000;
@@ -20,12 +19,14 @@ const SERVER_REQUEST_TIMEOUT_MS = 500;
20
19
  exports.SERVER_PACKAGE_ID = 'io.appium.uiautomator2.server';
21
20
  exports.SERVER_TEST_PACKAGE_ID = `${exports.SERVER_PACKAGE_ID}.test`;
22
21
  exports.INSTRUMENTATION_TARGET = `${exports.SERVER_TEST_PACKAGE_ID}/androidx.test.runner.AndroidJUnitRunner`;
22
+ const REQUIRED_OPTIONS = [
23
+ 'adb',
24
+ 'host',
25
+ 'systemPort',
26
+ 'disableWindowAnimation',
27
+ ];
23
28
  class UIA2Proxy extends driver_1.JWProxy {
24
- /** @type {boolean} */
25
- didInstrumentationExit;
26
- /**
27
- * @override
28
- */
29
+ didInstrumentationExit = false;
29
30
  async proxyCommand(url, method, body = null) {
30
31
  if (this.didInstrumentationExit) {
31
32
  throw new driver_1.errors.InvalidContextError(`'${method} ${url}' cannot be proxied to UiAutomator2 server because ` +
@@ -36,29 +37,24 @@ class UIA2Proxy extends driver_1.JWProxy {
36
37
  }
37
38
  }
38
39
  class UiAutomator2Server {
39
- /** @type {string} */
40
+ jwproxy;
41
+ proxyReqRes;
42
+ proxyCommand;
40
43
  host;
41
- /** @type {number} */
42
44
  systemPort;
43
- /** @type {import('appium-adb').ADB} */
44
45
  adb;
45
- /** @type {boolean} */
46
46
  disableWindowAnimation;
47
- /** @type {boolean|undefined} */
48
47
  disableSuppressAccessibilityService;
49
- /** @type {import('teen_process').SubProcess|null} */
50
- instrumentationProcess;
51
- /**
52
- *
53
- * @param {import('@appium/types').AppiumLogger} log
54
- * @param {UiAutomator2ServerOptions} opts
55
- */
48
+ log;
49
+ instrumentationProcess = null;
56
50
  constructor(log, opts) {
57
- for (const req of REQD_PARAMS) {
58
- if (!opts || !support_1.util.hasValue(opts[req])) {
59
- throw new Error(`Option '${req}' is required!`);
51
+ // Validate and assign required properties from UiAutomator2ServerOptions
52
+ // The keys are typed to match only the required (non-optional) properties of the interface
53
+ for (const key of REQUIRED_OPTIONS) {
54
+ if (!opts || !support_1.util.hasValue(opts[key])) {
55
+ throw new Error(`Option '${key}' is required!`);
60
56
  }
61
- this[req] = opts[req];
57
+ this[key] = opts[key];
62
58
  }
63
59
  this.log = log;
64
60
  this.disableSuppressAccessibilityService = opts.disableSuppressAccessibilityService;
@@ -80,79 +76,18 @@ class UiAutomator2Server {
80
76
  this.jwproxy.didInstrumentationExit = false;
81
77
  this.instrumentationProcess = null;
82
78
  }
83
- /**
84
- * @param {string} appPath
85
- * @param {string} appId
86
- * @returns {Promise<{installState: import('appium-adb').InstallState, appPath: string; appId: string}>}
87
- */
88
- async prepareServerPackage(appPath, appId) {
89
- const resultInfo = {
90
- installState: this.adb.APP_INSTALL_STATE.NOT_INSTALLED,
91
- appPath,
92
- appId,
93
- };
94
- if (appId === exports.SERVER_TEST_PACKAGE_ID && await this.adb.isAppInstalled(appId)) {
95
- // There is no point in getting the state for the test server,
96
- // since it does not contain any version info
97
- resultInfo.installState = this.adb.APP_INSTALL_STATE.SAME_VERSION_INSTALLED;
98
- }
99
- else if (appId === exports.SERVER_PACKAGE_ID) {
100
- resultInfo.installState = await this.adb.getApplicationInstallState(resultInfo.appPath, appId);
101
- }
102
- return resultInfo;
103
- }
104
- /**
105
- * @typedef {Object} PackageInfo
106
- * @property {import('appium-adb').InstallState} installState
107
- * @property {string} appPath
108
- * @property {string} appId
109
- */
110
- /**
111
- * Checks if server components must be installed from the device under test
112
- * in scope of the current driver session.
113
- *
114
- * For example, if one of servers on the device under test was newer than servers current UIA2 driver wants to
115
- * use for the session, the UIA2 driver should uninstall the installed ones in order to avoid
116
- * version mismatch between the UIA2 drier and servers on the device under test.
117
- * Also, if the device under test has missing servers, current UIA2 driver should uninstall all
118
- * servers once in order to install proper servers freshly.
119
- *
120
- * @param {PackageInfo[]} packagesInfo
121
- * @returns {boolean} true if any of components is already installed and the other is not installed
122
- * or the installed one has a newer version.
123
- */
124
- shouldUninstallServerPackages(packagesInfo = []) {
125
- const isAnyComponentInstalled = packagesInfo.some(({ installState }) => installState !== this.adb.APP_INSTALL_STATE.NOT_INSTALLED);
126
- const isAnyComponentNotInstalledOrNewer = packagesInfo.some(({ installState }) => [
127
- this.adb.APP_INSTALL_STATE.NOT_INSTALLED,
128
- this.adb.APP_INSTALL_STATE.NEWER_VERSION_INSTALLED,
129
- ].includes(installState));
130
- return isAnyComponentInstalled && isAnyComponentNotInstalledOrNewer;
131
- }
132
- /**
133
- * Checks if server components should be installed on the device under test in scope of the current driver session.
134
- *
135
- * @param {PackageInfo[]} packagesInfo
136
- * @returns {boolean} true if any of components is not installed or older than currently installed in order to
137
- * install or upgrade the servers on the device under test.
138
- */
139
- shouldInstallServerPackages(packagesInfo = []) {
140
- return packagesInfo.some(({ installState }) => [
141
- this.adb.APP_INSTALL_STATE.NOT_INSTALLED,
142
- this.adb.APP_INSTALL_STATE.OLDER_VERSION_INSTALLED,
143
- ].includes(installState));
144
- }
145
79
  /**
146
80
  * Installs the apks on to the device or emulator.
147
81
  *
148
- * @param {number} installTimeout - Installation timeout
82
+ * @param installTimeout - Installation timeout
149
83
  */
150
84
  async installServerApk(installTimeout = SERVER_INSTALL_RETRIES * 1000) {
151
85
  const packagesInfo = await bluebird_1.default.all([
152
86
  {
153
87
  appPath: appium_uiautomator2_server_1.SERVER_APK_PATH,
154
88
  appId: exports.SERVER_PACKAGE_ID,
155
- }, {
89
+ },
90
+ {
156
91
  appPath: appium_uiautomator2_server_1.TEST_APK_PATH,
157
92
  appId: exports.SERVER_TEST_PACKAGE_ID,
158
93
  },
@@ -183,59 +118,13 @@ class UiAutomator2Server {
183
118
  noIncremental: true,
184
119
  replace: true,
185
120
  timeout: installTimeout,
186
- timeoutCapName: 'uiautomator2ServerInstallTimeout'
121
+ timeoutCapName: 'uiautomator2ServerInstallTimeout',
187
122
  });
188
123
  };
189
124
  await bluebird_1.default.all(packagesInfo.map(({ appPath }) => installPkg(appPath)));
190
125
  }
191
126
  await this.verifyServicesAvailability();
192
127
  }
193
- async verifyServicesAvailability() {
194
- this.log.debug(`Waiting up to ${SERVICES_LAUNCH_TIMEOUT_MS}ms for services to be available`);
195
- let isPmServiceAvailable = false;
196
- let pmOutput = '';
197
- let pmError = null;
198
- try {
199
- await (0, asyncbox_1.waitForCondition)(async () => {
200
- if (!isPmServiceAvailable) {
201
- pmError = null;
202
- pmOutput = '';
203
- try {
204
- pmOutput = await this.adb.shell(['pm', 'list', 'instrumentation']);
205
- }
206
- catch (e) {
207
- pmError = e;
208
- }
209
- if (pmOutput.includes('Could not access the Package Manager')) {
210
- pmError = new Error(`Problem running Package Manager: ${pmOutput}`);
211
- pmOutput = ''; // remove output, so it is not printed below
212
- }
213
- else if (pmOutput.includes(exports.INSTRUMENTATION_TARGET)) {
214
- pmOutput = ''; // remove output, so it is not printed below
215
- this.log.debug(`Instrumentation target '${exports.INSTRUMENTATION_TARGET}' is available`);
216
- isPmServiceAvailable = true;
217
- }
218
- else if (!pmError) {
219
- pmError = new Error('The instrumentation target is not listed by Package Manager');
220
- }
221
- }
222
- return isPmServiceAvailable;
223
- }, {
224
- waitMs: SERVICES_LAUNCH_TIMEOUT_MS,
225
- intervalMs: 1000,
226
- });
227
- }
228
- catch {
229
- // @ts-ignore It is ok if the attribute does not exist
230
- this.log.error(`Unable to find instrumentation target '${exports.INSTRUMENTATION_TARGET}': ${(pmError || {}).message}`);
231
- if (pmOutput) {
232
- this.log.debug('Available targets:');
233
- for (const line of pmOutput.split('\n')) {
234
- this.log.debug(` ${line.replace('instrumentation:', '')}`);
235
- }
236
- }
237
- }
238
- }
239
128
  async startSession(caps) {
240
129
  await this.cleanupAutomationLeftovers();
241
130
  if (caps.skipServerInstallation) {
@@ -275,9 +164,9 @@ class UiAutomator2Server {
275
164
  });
276
165
  }
277
166
  catch {
278
- throw this.log.errorWithException(`The instrumentation process cannot be initialized within ${timeout}ms timeout. `
279
- + 'Make sure the application under test does not crash and investigate the logcat output. '
280
- + `You could also try to increase the value of 'uiautomator2ServerLaunchTimeout' capability`);
167
+ throw this.log.errorWithException(`The instrumentation process cannot be initialized within ${timeout}ms timeout. ` +
168
+ 'Make sure the application under test does not crash and investigate the logcat output. ' +
169
+ `You could also try to increase the value of 'uiautomator2ServerLaunchTimeout' capability`);
281
170
  }
282
171
  }
283
172
  if (!this.jwproxy.didInstrumentationExit) {
@@ -285,23 +174,138 @@ class UiAutomator2Server {
285
174
  }
286
175
  retries++;
287
176
  if (retries >= maxRetries) {
288
- throw this.log.errorWithException('The instrumentation process cannot be initialized. '
289
- + 'Make sure the application under test does not crash and investigate the logcat output.');
177
+ throw this.log.errorWithException('The instrumentation process cannot be initialized. ' +
178
+ 'Make sure the application under test does not crash and investigate the logcat output.');
290
179
  }
291
- this.log.warn(`The instrumentation process has been unexpectedly terminated. `
292
- + `Retrying UiAutomator2 startup (#${retries} of ${maxRetries - 1})`);
180
+ this.log.warn(`The instrumentation process has been unexpectedly terminated. ` +
181
+ `Retrying UiAutomator2 startup (#${retries} of ${maxRetries - 1})`);
293
182
  await this.cleanupAutomationLeftovers(true);
294
183
  await bluebird_1.default.delay(delayBetweenRetries);
295
184
  }
296
- this.log.debug(`The initialization of the instrumentation process took `
297
- + `${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
185
+ this.log.debug(`The initialization of the instrumentation process took ` +
186
+ `${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
298
187
  await this.jwproxy.command('/session', 'POST', {
299
188
  capabilities: {
300
189
  firstMatch: [caps],
301
190
  alwaysMatch: {},
302
- }
191
+ },
303
192
  });
304
193
  }
194
+ async deleteSession() {
195
+ this.log.debug('Deleting UiAutomator2 server session');
196
+ try {
197
+ await this.jwproxy.command('/', 'DELETE');
198
+ }
199
+ catch (err) {
200
+ this.log.warn(`Did not get the confirmation of UiAutomator2 server session deletion. ` +
201
+ `Original error: ${err.message}`);
202
+ }
203
+ // Theoretically we could also force kill instumentation and server processes
204
+ // without waiting for them to properly quit on their own.
205
+ // This may cause unexpected error reports in device logs though.
206
+ await this._waitForTermination();
207
+ try {
208
+ await this.stopInstrumentationProcess();
209
+ }
210
+ catch (err) {
211
+ this.log.warn(`Could not stop the instrumentation process. Original error: ${err.message}`);
212
+ }
213
+ try {
214
+ await bluebird_1.default.all([this.adb.forceStop(exports.SERVER_PACKAGE_ID), this.adb.forceStop(exports.SERVER_TEST_PACKAGE_ID)]);
215
+ }
216
+ catch { }
217
+ }
218
+ async prepareServerPackage(appPath, appId) {
219
+ const resultInfo = {
220
+ installState: this.adb.APP_INSTALL_STATE.NOT_INSTALLED,
221
+ appPath,
222
+ appId,
223
+ };
224
+ if (appId === exports.SERVER_TEST_PACKAGE_ID && (await this.adb.isAppInstalled(appId))) {
225
+ // There is no point in getting the state for the test server,
226
+ // since it does not contain any version info
227
+ resultInfo.installState = this.adb.APP_INSTALL_STATE.SAME_VERSION_INSTALLED;
228
+ }
229
+ else if (appId === exports.SERVER_PACKAGE_ID) {
230
+ resultInfo.installState = await this.adb.getApplicationInstallState(resultInfo.appPath, appId);
231
+ }
232
+ return resultInfo;
233
+ }
234
+ /**
235
+ * Checks if server components must be installed from the device under test
236
+ * in scope of the current driver session.
237
+ *
238
+ * For example, if one of servers on the device under test was newer than servers current UIA2 driver wants to
239
+ * use for the session, the UIA2 driver should uninstall the installed ones in order to avoid
240
+ * version mismatch between the UIA2 drier and servers on the device under test.
241
+ * Also, if the device under test has missing servers, current UIA2 driver should uninstall all
242
+ * servers once in order to install proper servers freshly.
243
+ *
244
+ * @param packagesInfo
245
+ * @returns true if any of components is already installed and the other is not installed
246
+ * or the installed one has a newer version.
247
+ */
248
+ shouldUninstallServerPackages(packagesInfo = []) {
249
+ const isAnyComponentInstalled = packagesInfo.some(({ installState }) => installState !== this.adb.APP_INSTALL_STATE.NOT_INSTALLED);
250
+ const isAnyComponentNotInstalledOrNewer = packagesInfo.some(({ installState }) => [this.adb.APP_INSTALL_STATE.NOT_INSTALLED, this.adb.APP_INSTALL_STATE.NEWER_VERSION_INSTALLED].includes(installState));
251
+ return isAnyComponentInstalled && isAnyComponentNotInstalledOrNewer;
252
+ }
253
+ /**
254
+ * Checks if server components should be installed on the device under test in scope of the current driver session.
255
+ *
256
+ * @param packagesInfo
257
+ * @returns true if any of components is not installed or older than currently installed in order to
258
+ * install or upgrade the servers on the device under test.
259
+ */
260
+ shouldInstallServerPackages(packagesInfo = []) {
261
+ return packagesInfo.some(({ installState }) => [this.adb.APP_INSTALL_STATE.NOT_INSTALLED, this.adb.APP_INSTALL_STATE.OLDER_VERSION_INSTALLED].includes(installState));
262
+ }
263
+ async verifyServicesAvailability() {
264
+ this.log.debug(`Waiting up to ${SERVICES_LAUNCH_TIMEOUT_MS}ms for services to be available`);
265
+ let isPmServiceAvailable = false;
266
+ let pmOutput = '';
267
+ let pmError = null;
268
+ try {
269
+ await (0, asyncbox_1.waitForCondition)(async () => {
270
+ if (!isPmServiceAvailable) {
271
+ pmError = null;
272
+ pmOutput = '';
273
+ try {
274
+ pmOutput = await this.adb.shell(['pm', 'list', 'instrumentation']);
275
+ }
276
+ catch (e) {
277
+ pmError = e;
278
+ }
279
+ if (pmOutput.includes('Could not access the Package Manager')) {
280
+ pmError = new Error(`Problem running Package Manager: ${pmOutput}`);
281
+ pmOutput = ''; // remove output, so it is not printed below
282
+ }
283
+ else if (pmOutput.includes(exports.INSTRUMENTATION_TARGET)) {
284
+ pmOutput = ''; // remove output, so it is not printed below
285
+ this.log.debug(`Instrumentation target '${exports.INSTRUMENTATION_TARGET}' is available`);
286
+ isPmServiceAvailable = true;
287
+ }
288
+ else if (!pmError) {
289
+ pmError = new Error('The instrumentation target is not listed by Package Manager');
290
+ }
291
+ }
292
+ return isPmServiceAvailable;
293
+ }, {
294
+ waitMs: SERVICES_LAUNCH_TIMEOUT_MS,
295
+ intervalMs: 1000,
296
+ });
297
+ }
298
+ catch {
299
+ const errorMessage = pmError?.message || 'Unknown error';
300
+ this.log.error(`Unable to find instrumentation target '${exports.INSTRUMENTATION_TARGET}': ${errorMessage}`);
301
+ if (pmOutput) {
302
+ this.log.debug('Available targets:');
303
+ for (const line of pmOutput.split('\n')) {
304
+ this.log.debug(` ${line.replace('instrumentation:', '')}`);
305
+ }
306
+ }
307
+ }
308
+ }
305
309
  async startInstrumentationProcess() {
306
310
  const cmd = ['am', 'instrument', '-w'];
307
311
  if (this.disableWindowAnimation) {
@@ -334,33 +338,6 @@ class UiAutomator2Server {
334
338
  this.instrumentationProcess = null;
335
339
  }
336
340
  }
337
- async deleteSession() {
338
- this.log.debug('Deleting UiAutomator2 server session');
339
- try {
340
- await this.jwproxy.command('/', 'DELETE');
341
- }
342
- catch (err) {
343
- this.log.warn(`Did not get the confirmation of UiAutomator2 server session deletion. ` +
344
- `Original error: ${err.message}`);
345
- }
346
- // Theoretically we could also force kill instumentation and server processes
347
- // without waiting for them to properly quit on their own.
348
- // This may cause unexpected error reports in device logs though.
349
- await this._waitForTermination();
350
- try {
351
- await this.stopInstrumentationProcess();
352
- }
353
- catch (err) {
354
- this.log.warn(`Could not stop the instrumentation process. Original error: ${err.message}`);
355
- }
356
- try {
357
- await bluebird_1.default.all([
358
- this.adb.forceStop(exports.SERVER_PACKAGE_ID),
359
- this.adb.forceStop(exports.SERVER_TEST_PACKAGE_ID)
360
- ]);
361
- }
362
- catch { }
363
- }
364
341
  async cleanupAutomationLeftovers(strictCleanup = false) {
365
342
  this.log.debug(`Performing ${strictCleanup ? 'strict' : 'shallow'} cleanup of automation leftovers`);
366
343
  const serverBase = `http://${this.host}:${this.systemPort}`;
@@ -373,8 +350,7 @@ class UiAutomator2Server {
373
350
  if (activeSessionIds.length) {
374
351
  this.log.debug(`The following obsolete sessions are still running: ${activeSessionIds}`);
375
352
  this.log.debug(`Cleaning up ${support_1.util.pluralize('obsolete session', activeSessionIds.length, true)}`);
376
- await bluebird_1.default.all(activeSessionIds
377
- .map((/** @type {string} */ id) => axios_1.default.delete(`${serverBase}/session/${id}`, {
353
+ await bluebird_1.default.all(activeSessionIds.map((id) => axios_1.default.delete(`${serverBase}/session/${id}`, {
378
354
  timeout: SERVER_REQUEST_TIMEOUT_MS,
379
355
  })));
380
356
  // Let the server to be properly terminated before continuing
@@ -388,10 +364,7 @@ class UiAutomator2Server {
388
364
  this.log.debug(`No obsolete sessions have been detected (${e.message})`);
389
365
  }
390
366
  try {
391
- await bluebird_1.default.all([
392
- this.adb.forceStop(exports.SERVER_PACKAGE_ID),
393
- this.adb.forceStop(exports.SERVER_TEST_PACKAGE_ID)
394
- ]);
367
+ await bluebird_1.default.all([this.adb.forceStop(exports.SERVER_PACKAGE_ID), this.adb.forceStop(exports.SERVER_TEST_PACKAGE_ID)]);
395
368
  }
396
369
  catch { }
397
370
  if (strictCleanup) {
@@ -423,24 +396,11 @@ class UiAutomator2Server {
423
396
  });
424
397
  }
425
398
  catch {
426
- this.log.warn(`The UIA2 server did has not been terminated within ${SERVER_SHUTDOWN_TIMEOUT_MS}ms timeout. ` +
399
+ this.log.warn(`The UIA2 server has not been terminated within ${SERVER_SHUTDOWN_TIMEOUT_MS}ms timeout. ` +
427
400
  `Continuing anyway`);
428
401
  }
429
402
  }
430
403
  }
431
404
  exports.UiAutomator2Server = UiAutomator2Server;
432
405
  exports.default = UiAutomator2Server;
433
- /**
434
- * @typedef {Object} UiAutomator2ServerOptions
435
- * @property {import('appium-adb').ADB} adb
436
- * @property {string} tmpDir
437
- * @property {string} host
438
- * @property {number} systemPort
439
- * @property {number} devicePort
440
- * @property {boolean} disableWindowAnimation
441
- * @property {number} [readTimeout]
442
- * @property {boolean} [disableSuppressAccessibilityService]
443
- * @property {string} [apk]
444
- * @property {string} [basePath]
445
- */
446
406
  //# sourceMappingURL=uiautomator2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uiautomator2.js","sourceRoot":"","sources":["../../lib/uiautomator2.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiautomator2.js","sourceRoot":"","sources":["../../lib/uiautomator2.ts"],"names":[],"mappings":"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"}