appium-uiautomator2-driver 7.2.2 → 7.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"uiautomator2.js","sourceRoot":"","sources":["../../lib/uiautomator2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uiautomator2.js","sourceRoot":"","sources":["../../lib/uiautomator2.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import {Rect, StringRecord} from '@appium/types';
1
+ import type {Rect, StringRecord} from '@appium/types';
2
2
 
3
3
  export type BatteryState = -1 | 1 | 2 | 3 | 4 | 5;
4
4
 
@@ -1,4 +1,4 @@
1
- import {Constraints} from '@appium/types';
1
+ import type {Constraints} from '@appium/types';
2
2
  import {commonCapConstraints} from 'appium-android-driver';
3
3
 
4
4
  const UIAUTOMATOR2_CONSTRAINTS = {
package/lib/driver.ts CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
1
  import type {
3
2
  DefaultCreateSessionResult,
4
3
  DriverData,
@@ -10,7 +9,7 @@ import type {
10
9
  StringRecord,
11
10
  SessionCapabilities,
12
11
  } from '@appium/types';
13
- import {DEFAULT_ADB_PORT} from 'appium-adb';
12
+ import {DEFAULT_ADB_PORT, type ADB} from 'appium-adb';
14
13
  import {AndroidDriver, utils} from 'appium-android-driver';
15
14
  import {SETTINGS_HELPER_ID} from 'io.appium.settings';
16
15
  import {BaseDriver, DeviceSettings} from 'appium/driver';
@@ -241,8 +240,6 @@ const CHROME_NO_PROXY: RouteMatcher[] = [
241
240
  ['POST', new RegExp('^/session/[^/]+/se/log$')],
242
241
  ];
243
242
 
244
- const MEMOIZED_FUNCTIONS = ['getStatusBarHeight', 'getDevicePixelRatio'] as const;
245
-
246
243
  class AndroidUiautomator2Driver
247
244
  extends AndroidDriver
248
245
  implements ExternalDriver<Uiautomator2Constraints, string, StringRecord>
@@ -250,7 +247,7 @@ class AndroidUiautomator2Driver
250
247
  static newMethodMap = newMethodMap;
251
248
  static executeMethodMap = executeMethodMap;
252
249
 
253
- uiautomator2: UiAutomator2Server;
250
+ uiautomator2!: UiAutomator2Server;
254
251
 
255
252
  systemPort: number | undefined;
256
253
 
@@ -267,7 +264,7 @@ class AndroidUiautomator2Driver
267
264
  mobileGetActionHistory = mobileGetActionHistory;
268
265
  mobileScheduleAction = mobileScheduleAction;
269
266
  mobileUnscheduleAction = mobileUnscheduleAction;
270
- performActions = performActions;
267
+ performActions = performActions as AndroidDriver['performActions'];
271
268
  releaseActions = releaseActions;
272
269
 
273
270
  getAlertText = getAlertText;
@@ -281,23 +278,23 @@ class AndroidUiautomator2Driver
281
278
  mobileGetBatteryInfo = mobileGetBatteryInfo;
282
279
 
283
280
  active = active;
284
- getAttribute = getAttribute;
285
- elementEnabled = elementEnabled;
286
- elementDisplayed = elementDisplayed;
287
- elementSelected = elementSelected;
288
- getName = getName;
289
- getLocation = getLocation;
290
- getSize = getSize;
281
+ getAttribute = getAttribute as AndroidDriver['getAttribute'];
282
+ elementEnabled = elementEnabled as AndroidDriver['elementEnabled'];
283
+ elementDisplayed = elementDisplayed as AndroidDriver['elementDisplayed'];
284
+ elementSelected = elementSelected as AndroidDriver['elementSelected'];
285
+ getName = getName as AndroidDriver['getName'];
286
+ getLocation = getLocation as AndroidDriver['getLocation'];
287
+ getSize = getSize as AndroidDriver['getSize'];
291
288
  getElementRect = getElementRect;
292
289
  getElementScreenshot = getElementScreenshot;
293
- getText = getText;
294
- setValueImmediate = setValueImmediate;
295
- doSetElementValue = doSetElementValue;
296
- click = click;
290
+ getText = getText as AndroidDriver['getText'];
291
+ setValueImmediate = setValueImmediate as AndroidDriver['setValueImmediate'];
292
+ doSetElementValue = doSetElementValue as AndroidDriver['doSetElementValue'];
293
+ click = click as AndroidDriver['click'];
297
294
  clear = clear;
298
295
  mobileReplaceElementValue = mobileReplaceElementValue;
299
296
 
300
- doFindElementOrEls = doFindElementOrEls;
297
+ doFindElementOrEls = doFindElementOrEls as AndroidDriver['doFindElementOrEls'];
301
298
 
302
299
  mobileClickGesture = mobileClickGesture;
303
300
  mobileDoubleClickGesture = mobileDoubleClickGesture;
@@ -311,18 +308,18 @@ class AndroidUiautomator2Driver
311
308
  mobileScrollGesture = mobileScrollGesture;
312
309
  mobileSwipeGesture = mobileSwipeGesture;
313
310
 
314
- pressKeyCode = pressKeyCode;
315
- longPressKeyCode = longPressKeyCode;
311
+ pressKeyCode = pressKeyCode as AndroidDriver['pressKeyCode'];
312
+ longPressKeyCode = longPressKeyCode as AndroidDriver['longPressKeyCode'];
316
313
  mobilePressKey = mobilePressKey;
317
314
  mobileType = mobileType;
318
- doSendKeys = doSendKeys;
315
+ doSendKeys = doSendKeys as AndroidDriver['doSendKeys'];
319
316
  keyevent = keyevent;
320
317
 
321
318
  getPageSource = getPageSource;
322
319
  getOrientation = getOrientation;
323
320
  setOrientation = setOrientation;
324
- openNotifications = openNotifications;
325
- suspendChromedriverProxy = suspendChromedriverProxy as any;
321
+ openNotifications = openNotifications as AndroidDriver['openNotifications'];
322
+ suspendChromedriverProxy = suspendChromedriverProxy as AndroidDriver['suspendChromedriverProxy'];
326
323
  mobileGetDeviceInfo = mobileGetDeviceInfo;
327
324
  mobileResetAccessibilityCache = mobileResetAccessibilityCache;
328
325
  mobileListWindows = mobileListWindows;
@@ -331,7 +328,7 @@ class AndroidUiautomator2Driver
331
328
  getClipboard = getClipboard;
332
329
  setClipboard = setClipboard;
333
330
 
334
- setUrl = setUrl;
331
+ setUrl = setUrl as AndroidDriver['setUrl'];
335
332
  mobileDeepLink = mobileDeepLink;
336
333
  back = back;
337
334
 
@@ -342,10 +339,10 @@ class AndroidUiautomator2Driver
342
339
 
343
340
  getStatusBarHeight = getStatusBarHeight;
344
341
  getDevicePixelRatio = getDevicePixelRatio;
345
- getDisplayDensity = getDisplayDensity;
342
+ getDisplayDensity = getDisplayDensity as AndroidDriver['getDisplayDensity'];
346
343
  getViewPortRect = getViewPortRect;
347
- getWindowRect = getWindowRect;
348
- getWindowSize = getWindowSize;
344
+ getWindowRect = getWindowRect as AndroidDriver['getWindowRect'];
345
+ getWindowSize = getWindowSize as AndroidDriver['getWindowSize'];
349
346
  mobileViewPortRect = mobileViewPortRect;
350
347
 
351
348
  constructor(opts: InitialOpts = {} as InitialOpts, shouldValidateCaps = true) {
@@ -378,9 +375,8 @@ class AndroidUiautomator2Driver
378
375
  this.caps = {} as Uiautomator2DriverCaps;
379
376
  this.opts = opts as Uiautomator2DriverOpts;
380
377
  // memoize functions here, so that they are done on a per-instance basis
381
- for (const fn of MEMOIZED_FUNCTIONS) {
382
- this[fn] = _.memoize(this[fn]) as any;
383
- }
378
+ this.getStatusBarHeight = _.memoize(this.getStatusBarHeight);
379
+ this.getDevicePixelRatio = _.memoize(this.getDevicePixelRatio);
384
380
  }
385
381
 
386
382
  override get driverData() {
@@ -439,15 +435,15 @@ class AndroidUiautomator2Driver
439
435
  // ADB instance
440
436
  this.adb = await this.createADB();
441
437
 
442
- if (this.isChromeSession) {
438
+ if (this.isChromeSession && this.opts.browserName) {
443
439
  this.log.info(`We're going to run a Chrome-based session`);
444
- const {pkg, activity: defaultActivity} = utils.getChromePkg(this.opts.browserName!);
440
+ const {pkg, activity: defaultActivity} = utils.getChromePkg(this.opts.browserName);
445
441
  let activity: string = defaultActivity;
446
442
  try {
447
443
  activity = await this.adb.resolveLaunchableActivity(pkg);
448
444
  } catch (e) {
449
445
  this.log.warn(
450
- `Using the default ${pkg} activity ${activity}. Original error: ${e.message}`,
446
+ `Using the default ${pkg} activity ${activity}. Original error: ${(e as Error).message}`,
451
447
  );
452
448
  }
453
449
  this.opts.appPackage = this.caps.appPackage = pkg;
@@ -516,11 +512,16 @@ class AndroidUiautomator2Driver
516
512
  override async getSession(): Promise<SingularSessionData<Uiautomator2Constraints>> {
517
513
  const sessionData = await BaseDriver.prototype.getSession.call(this);
518
514
  this.log.debug('Getting session details from server to mix in');
519
- const uia2Data = (await this.uiautomator2!.jwproxy.command('/', 'GET', {})) as any;
515
+ const uia2Data = (await this.requireUiautomator2().jwproxy.command(
516
+ '/',
517
+ 'GET',
518
+ {},
519
+ )) as StringRecord;
520
520
  return {...sessionData, ...uia2Data};
521
521
  }
522
522
 
523
523
  async allocateSystemPort() {
524
+ const adb = this.requireAdb();
524
525
  const forwardPort = async (localPort: number) => {
525
526
  this.log.debug(
526
527
  `Forwarding UiAutomator2 Server port ${DEVICE_PORT} to local port ${localPort}`,
@@ -533,7 +534,7 @@ class AndroidUiautomator2Driver
533
534
  `old automation sessions on the same device must always be closed before starting new ones.`,
534
535
  );
535
536
  }
536
- await this.adb!.forwardPort(localPort, DEVICE_PORT);
537
+ await adb.forwardPort(localPort, DEVICE_PORT);
537
538
  };
538
539
 
539
540
  if (this.opts.systemPort) {
@@ -558,34 +559,35 @@ class AndroidUiautomator2Driver
558
559
  }
559
560
 
560
561
  async releaseSystemPort() {
561
- if (!this.systemPort || !this.adb) {
562
+ const adb = this.adb;
563
+ const systemPort = this.systemPort;
564
+ if (!systemPort || !adb) {
562
565
  return;
563
566
  }
564
567
 
565
568
  if (this.opts.systemPort) {
566
569
  // We assume if the systemPort is provided manually then it must be unique,
567
570
  // so there is no need for the explicit synchronization
568
- await this.adb.removePortForward(this.systemPort);
571
+ await adb.removePortForward(systemPort);
569
572
  } else {
570
- await DEVICE_PORT_ALLOCATION_GUARD(
571
- async () => await this.adb!.removePortForward(this.systemPort!),
572
- );
573
+ await DEVICE_PORT_ALLOCATION_GUARD(async () => await adb.removePortForward(systemPort));
573
574
  }
574
575
  }
575
576
 
576
577
  async allocateMjpegServerPort() {
577
578
  if (this.opts.mjpegServerPort) {
579
+ const adb = this.requireAdb();
578
580
  this.log.debug(
579
581
  `MJPEG broadcasting requested, forwarding MJPEG server port ${MJPEG_SERVER_DEVICE_PORT} ` +
580
582
  `to local port ${this.opts.mjpegServerPort}`,
581
583
  );
582
- await this.adb!.forwardPort(this.opts.mjpegServerPort, MJPEG_SERVER_DEVICE_PORT);
584
+ await adb.forwardPort(this.opts.mjpegServerPort, MJPEG_SERVER_DEVICE_PORT);
583
585
  }
584
586
  }
585
587
 
586
588
  async releaseMjpegServerPort() {
587
- if (this.opts.mjpegServerPort) {
588
- await this.adb!.removePortForward(this.opts.mjpegServerPort);
589
+ if (this.opts.mjpegServerPort && this.adb) {
590
+ await this.adb.removePortForward(this.opts.mjpegServerPort);
589
591
  }
590
592
  }
591
593
 
@@ -610,7 +612,7 @@ class AndroidUiautomator2Driver
610
612
  'Please check https://github.com/appium/appium/issues/13802 for more details. ' +
611
613
  'You could also set the "appium:ignoreHiddenApiPolicyError" capability to true in order to ' +
612
614
  'ignore this error, which might later lead to unexpected crashes or behavior of ' +
613
- `the automation server. Original error: ${err.message}`,
615
+ `the automation server. Original error: ${(err as Error).message}`,
614
616
  );
615
617
  }
616
618
  })(),
@@ -732,9 +734,19 @@ class AndroidUiautomator2Driver
732
734
  ): Promise<Uiautomator2SessionCaps> {
733
735
  const appInfo = await this.performSessionPreExecSetup();
734
736
  // set actual device name, udid, platform version, screen size, screen density, model and manufacturer details
737
+ const deviceName = this.adb?.curDeviceId;
738
+ const deviceUDID = this.opts.udid;
739
+ if (!deviceName) {
740
+ throw this.log.errorWithException(
741
+ 'Could not determine device name (ADB curDeviceId is empty)',
742
+ );
743
+ }
744
+ if (!deviceUDID) {
745
+ throw this.log.errorWithException('Device UDID is not set in session options');
746
+ }
735
747
  const sessionInfo: Uiautomator2SessionInfo = {
736
- deviceName: this.adb.curDeviceId!,
737
- deviceUDID: this.opts.udid!,
748
+ deviceName,
749
+ deviceUDID,
738
750
  };
739
751
  const capsWithSessionInfo = {
740
752
  ...caps,
@@ -742,9 +754,9 @@ class AndroidUiautomator2Driver
742
754
  };
743
755
  // Adding AUT info in the capabilities if it does not exist in caps
744
756
  if (appInfo) {
745
- for (const capName of ['appPackage', 'appActivity']) {
746
- if (!capsWithSessionInfo[capName] && appInfo[capName]) {
747
- capsWithSessionInfo[capName] = appInfo[capName];
757
+ for (const capName of ['appPackage', 'appActivity'] as const) {
758
+ if (!(capsWithSessionInfo as StringRecord)[capName] && appInfo[capName]) {
759
+ (capsWithSessionInfo as StringRecord)[capName] = appInfo[capName];
748
760
  }
749
761
  }
750
762
  }
@@ -755,7 +767,7 @@ class AndroidUiautomator2Driver
755
767
  try {
756
768
  return await this.getDeviceDetails();
757
769
  } catch (e) {
758
- this.log.warn(`Cannot fetch device details. Original error: ${e.message}`);
770
+ this.log.warn(`Cannot fetch device details. Original error: ${(e as Error).message}`);
759
771
  return {};
760
772
  }
761
773
  })();
@@ -786,7 +798,7 @@ class AndroidUiautomator2Driver
786
798
  } else {
787
799
  await this.uiautomator2.installServerApk(this.opts.uiautomator2ServerInstallTimeout);
788
800
  try {
789
- await this.adb!.addToDeviceIdleWhitelist(
801
+ await this.requireAdb().addToDeviceIdleWhitelist(
790
802
  SETTINGS_HELPER_ID,
791
803
  SERVER_PACKAGE_ID,
792
804
  SERVER_TEST_PACKAGE_ID,
@@ -829,21 +841,20 @@ class AndroidUiautomator2Driver
829
841
  await this.installOtherApks(otherApps);
830
842
  }
831
843
 
832
- if (this.opts.app) {
833
- if (
834
- (this.opts.noReset && !(await this.adb!.isAppInstalled(this.opts.appPackage!))) ||
835
- !this.opts.noReset
836
- ) {
844
+ if (this.opts.app && this.opts.appPackage) {
845
+ const adb = this.requireAdb();
846
+ const appPackage = this.opts.appPackage;
847
+ if ((this.opts.noReset && !(await adb.isAppInstalled(appPackage))) || !this.opts.noReset) {
837
848
  if (
838
849
  !this.opts.noSign &&
839
- !(await this.adb!.checkApkCert(this.opts.app, this.opts.appPackage!, {
850
+ !(await adb.checkApkCert(this.opts.app, appPackage, {
840
851
  requireDefaultCert: false,
841
852
  }))
842
853
  ) {
843
- await signApp(this.adb!, this.opts.app);
854
+ await signApp(adb, this.opts.app);
844
855
  }
845
856
  if (!this.opts.skipUninstall) {
846
- await this.adb!.uninstallApk(this.opts.appPackage!);
857
+ await adb.uninstallApk(appPackage);
847
858
  }
848
859
  await this.installAUT();
849
860
  } else {
@@ -865,28 +876,32 @@ class AndroidUiautomator2Driver
865
876
  }
866
877
 
867
878
  async ensureAppStarts() {
879
+ const adb = this.requireAdb();
880
+ const appPackage = this.opts.appPackage;
881
+ const appActivity = this.opts.appActivity;
882
+ if (!appPackage) {
883
+ throw this.log.errorWithException(
884
+ 'appPackage capability is required to start the application',
885
+ );
886
+ }
868
887
  // make sure we have an activity and package to wait for
869
- const appWaitPackage = this.opts.appWaitPackage || this.opts.appPackage;
870
- const appWaitActivity = this.opts.appWaitActivity || this.opts.appActivity;
888
+ const appWaitPackage = this.opts.appWaitPackage || appPackage;
889
+ const appWaitActivity = this.opts.appWaitActivity || appActivity;
871
890
  this.log.info(
872
- `Starting '${this.opts.appPackage}/${this.opts.appActivity}' ` +
873
- `and waiting for '${appWaitPackage}/${appWaitActivity}'`,
891
+ `Starting '${appPackage}${appActivity ? '/' + appActivity : ''}` +
892
+ `and waiting for '${appWaitPackage}${appWaitActivity ? '/' + appWaitActivity : ''}'`,
874
893
  );
875
894
 
876
- if (
877
- this.opts.noReset &&
878
- !this.opts.forceAppLaunch &&
879
- (await this.adb!.processExists(this.opts.appPackage!))
880
- ) {
895
+ if (this.opts.noReset && !this.opts.forceAppLaunch && (await adb.processExists(appPackage))) {
881
896
  this.log.info(
882
- `'${this.opts.appPackage}' is already running and noReset is enabled. ` +
897
+ `'${appPackage}' is already running and noReset is enabled. ` +
883
898
  `Set forceAppLaunch capability to true if the app must be forcefully restarted on session startup.`,
884
899
  );
885
900
  return;
886
901
  }
887
- await this.adb!.startApp({
888
- pkg: this.opts.appPackage!,
889
- activity: this.opts.appActivity,
902
+ await adb.startApp({
903
+ pkg: appPackage,
904
+ activity: appActivity,
890
905
  action: this.opts.intentAction || 'android.intent.action.MAIN',
891
906
  category: this.opts.intentCategory || 'android.intent.category.LAUNCHER',
892
907
  flags: this.opts.intentFlags || '0x10200000', // FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
@@ -980,7 +995,7 @@ class AndroidUiautomator2Driver
980
995
  try {
981
996
  await this.adb.setIME(this._originalIme);
982
997
  } catch (e) {
983
- this.log.warn(`Cannot restore the original IME: ${e.message}`);
998
+ this.log.warn(`Cannot restore the original IME: ${(e as Error).message}`);
984
999
  }
985
1000
  }
986
1001
  try {
@@ -1023,19 +1038,19 @@ class AndroidUiautomator2Driver
1023
1038
  // settings to the uiauto2 server already
1024
1039
  }
1025
1040
 
1026
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1027
- proxyActive(sessionId: string): boolean {
1041
+ override proxyActive(sessionId: string): boolean {
1042
+ void sessionId;
1028
1043
  // we always have an active proxy to the UiAutomator2 server
1029
1044
  return true;
1030
1045
  }
1031
1046
 
1032
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1033
- canProxy(sessionId: string): boolean {
1047
+ override canProxy(sessionId: string): boolean {
1048
+ void sessionId;
1034
1049
  // we can always proxy to the uiautomator2 server
1035
1050
  return true;
1036
1051
  }
1037
1052
 
1038
- getProxyAvoidList(): RouteMatcher[] {
1053
+ override getProxyAvoidList(): RouteMatcher[] {
1039
1054
  // we are maintaining two sets of NO_PROXY lists, one for chromedriver(CHROME_NO_PROXY)
1040
1055
  // and one for uiautomator2(NO_PROXY), based on current context will return related NO_PROXY list
1041
1056
  if (util.hasValue(this.chromedriver)) {
@@ -1054,24 +1069,43 @@ class AndroidUiautomator2Driver
1054
1069
  return this.jwpProxyAvoid;
1055
1070
  }
1056
1071
 
1057
- async updateSettings(settings: Uiautomator2Settings) {
1072
+ // @ts-expect-error narrower parameter type than the base class override allows
1073
+ override async updateSettings(settings: Uiautomator2Settings) {
1058
1074
  await this.settings.update(settings);
1059
- await this.uiautomator2!.jwproxy.command('/appium/settings', 'POST', {settings});
1075
+ await this.requireUiautomator2().jwproxy.command('/appium/settings', 'POST', {settings});
1060
1076
  }
1061
1077
 
1062
- async getSettings() {
1078
+ override async getSettings(): Promise<StringRecord> {
1063
1079
  const driverSettings = this.settings.getSettings();
1064
- const serverSettings = (await this.uiautomator2!.jwproxy.command(
1080
+ const serverSettings = (await this.requireUiautomator2().jwproxy.command(
1065
1081
  '/appium/settings',
1066
1082
  'GET',
1067
1083
  )) as Partial<Uiautomator2Settings>;
1068
- return {...driverSettings, ...serverSettings} as any;
1084
+ return {...driverSettings, ...serverSettings};
1069
1085
  }
1070
1086
 
1071
1087
  // needed to make the typechecker happy
1072
- async getAppiumSessionCapabilities(): Promise<SessionCapabilities<Uiautomator2Constraints>> {
1088
+ override async getAppiumSessionCapabilities(): Promise<
1089
+ SessionCapabilities<Uiautomator2Constraints>
1090
+ > {
1073
1091
  return (await super.getAppiumSessionCapabilities()) as SessionCapabilities<Uiautomator2Constraints>;
1074
1092
  }
1093
+
1094
+ private requireAdb(): ADB {
1095
+ const adb = this.adb;
1096
+ if (!adb) {
1097
+ throw this.log.errorWithException('ADB must be initialized before this operation');
1098
+ }
1099
+ return adb;
1100
+ }
1101
+
1102
+ private requireUiautomator2(): UiAutomator2Server {
1103
+ const server = this.uiautomator2;
1104
+ if (!server) {
1105
+ throw this.log.errorWithException('UiAutomator2 server is not initialized');
1106
+ }
1107
+ return server;
1108
+ }
1075
1109
  }
1076
1110
 
1077
1111
  export {AndroidUiautomator2Driver};
@@ -1,4 +1,4 @@
1
- import {ExecuteMethodMap} from '@appium/types';
1
+ import type {ExecuteMethodMap} from '@appium/types';
2
2
  import {AndroidDriver} from 'appium-android-driver';
3
3
 
4
4
  export const executeMethodMap = {
@@ -88,10 +88,10 @@ export class UiAutomator2Server {
88
88
  public readonly proxyReqRes: typeof UIA2Proxy.prototype.proxyReqRes;
89
89
  public readonly proxyCommand: typeof UIA2Proxy.prototype.command;
90
90
 
91
- private readonly host: string;
92
- private readonly systemPort: number;
93
- private readonly adb: ADB;
94
- private readonly disableWindowAnimation: boolean;
91
+ private readonly host!: string;
92
+ private readonly systemPort!: number;
93
+ private readonly adb!: ADB;
94
+ private readonly disableWindowAnimation!: boolean;
95
95
  private readonly disableSuppressAccessibilityService?: boolean;
96
96
  private readonly log: AppiumLogger;
97
97
  private instrumentationProcess: SubProcess | null = null;