appium-android-driver 5.14.7 → 6.0.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.
Files changed (210) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/lib/commands/actions.d.ts +6 -224
  3. package/build/lib/commands/actions.d.ts.map +1 -1
  4. package/build/lib/commands/actions.js +306 -405
  5. package/build/lib/commands/actions.js.map +1 -1
  6. package/build/lib/commands/alert.d.ts +7 -9
  7. package/build/lib/commands/alert.d.ts.map +1 -1
  8. package/build/lib/commands/alert.js +24 -18
  9. package/build/lib/commands/alert.js.map +1 -1
  10. package/build/lib/commands/app-management.d.ts +7 -313
  11. package/build/lib/commands/app-management.d.ts.map +1 -1
  12. package/build/lib/commands/app-management.js +135 -293
  13. package/build/lib/commands/app-management.js.map +1 -1
  14. package/build/lib/commands/context.d.ts +8 -92
  15. package/build/lib/commands/context.d.ts.map +1 -1
  16. package/build/lib/commands/context.js +381 -439
  17. package/build/lib/commands/context.js.map +1 -1
  18. package/build/lib/commands/element.d.ts +8 -35
  19. package/build/lib/commands/element.d.ts.map +1 -1
  20. package/build/lib/commands/element.js +153 -136
  21. package/build/lib/commands/element.js.map +1 -1
  22. package/build/lib/commands/emu-console.d.ts +6 -48
  23. package/build/lib/commands/emu-console.d.ts.map +1 -1
  24. package/build/lib/commands/emu-console.js +19 -34
  25. package/build/lib/commands/emu-console.js.map +1 -1
  26. package/build/lib/commands/execute.d.ts +6 -5
  27. package/build/lib/commands/execute.d.ts.map +1 -1
  28. package/build/lib/commands/execute.js +77 -66
  29. package/build/lib/commands/execute.js.map +1 -1
  30. package/build/lib/commands/file-actions.d.ts +7 -128
  31. package/build/lib/commands/file-actions.d.ts.map +1 -1
  32. package/build/lib/commands/file-actions.js +183 -219
  33. package/build/lib/commands/file-actions.js.map +1 -1
  34. package/build/lib/commands/find.d.ts +8 -12
  35. package/build/lib/commands/find.d.ts.map +1 -1
  36. package/build/lib/commands/find.js +19 -23
  37. package/build/lib/commands/find.js.map +1 -1
  38. package/build/lib/commands/general.d.ts +9 -132
  39. package/build/lib/commands/general.d.ts.map +1 -1
  40. package/build/lib/commands/general.js +281 -312
  41. package/build/lib/commands/general.js.map +1 -1
  42. package/build/lib/commands/ime.d.ts +7 -10
  43. package/build/lib/commands/ime.d.ts.map +1 -1
  44. package/build/lib/commands/ime.js +47 -35
  45. package/build/lib/commands/ime.js.map +1 -1
  46. package/build/lib/commands/index.d.ts +27 -2
  47. package/build/lib/commands/index.d.ts.map +1 -1
  48. package/build/lib/commands/index.js +41 -19
  49. package/build/lib/commands/index.js.map +1 -1
  50. package/build/lib/commands/intent.d.ts +7 -417
  51. package/build/lib/commands/intent.d.ts.map +1 -1
  52. package/build/lib/commands/intent.js +104 -216
  53. package/build/lib/commands/intent.js.map +1 -1
  54. package/build/lib/commands/keyboard.d.ts +6 -5
  55. package/build/lib/commands/keyboard.d.ts.map +1 -1
  56. package/build/lib/commands/keyboard.js +16 -8
  57. package/build/lib/commands/keyboard.js.map +1 -1
  58. package/build/lib/commands/log.d.ts +7 -44
  59. package/build/lib/commands/log.d.ts.map +1 -1
  60. package/build/lib/commands/log.js +146 -108
  61. package/build/lib/commands/log.js.map +1 -1
  62. package/build/lib/commands/media-projection.d.ts +7 -143
  63. package/build/lib/commands/media-projection.d.ts.map +1 -1
  64. package/build/lib/commands/media-projection.js +113 -140
  65. package/build/lib/commands/media-projection.js.map +1 -1
  66. package/build/lib/commands/mixins.d.ts +740 -0
  67. package/build/lib/commands/mixins.d.ts.map +1 -0
  68. package/build/lib/commands/mixins.js +19 -0
  69. package/build/lib/commands/mixins.js.map +1 -0
  70. package/build/lib/commands/network.d.ts +7 -138
  71. package/build/lib/commands/network.d.ts.map +1 -1
  72. package/build/lib/commands/network.js +212 -254
  73. package/build/lib/commands/network.js.map +1 -1
  74. package/build/lib/commands/performance.d.ts +24 -70
  75. package/build/lib/commands/performance.d.ts.map +1 -1
  76. package/build/lib/commands/performance.js +144 -100
  77. package/build/lib/commands/performance.js.map +1 -1
  78. package/build/lib/commands/permissions.d.ts +8 -92
  79. package/build/lib/commands/permissions.d.ts.map +1 -1
  80. package/build/lib/commands/permissions.js +75 -87
  81. package/build/lib/commands/permissions.js.map +1 -1
  82. package/build/lib/commands/recordscreen.d.ts +7 -193
  83. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  84. package/build/lib/commands/recordscreen.js +151 -182
  85. package/build/lib/commands/recordscreen.js.map +1 -1
  86. package/build/lib/commands/shell.d.ts +7 -7
  87. package/build/lib/commands/shell.d.ts.map +1 -1
  88. package/build/lib/commands/shell.js +40 -33
  89. package/build/lib/commands/shell.js.map +1 -1
  90. package/build/lib/commands/streamscreen.d.ts +9 -103
  91. package/build/lib/commands/streamscreen.d.ts.map +1 -1
  92. package/build/lib/commands/streamscreen.js +261 -218
  93. package/build/lib/commands/streamscreen.js.map +1 -1
  94. package/build/lib/commands/system-bars.d.ts +22 -90
  95. package/build/lib/commands/system-bars.d.ts.map +1 -1
  96. package/build/lib/commands/system-bars.js +76 -74
  97. package/build/lib/commands/system-bars.js.map +1 -1
  98. package/build/lib/commands/touch.d.ts +10 -29
  99. package/build/lib/commands/touch.d.ts.map +1 -1
  100. package/build/lib/commands/touch.js +301 -285
  101. package/build/lib/commands/touch.js.map +1 -1
  102. package/build/lib/commands/types.d.ts +978 -0
  103. package/build/lib/commands/types.d.ts.map +1 -0
  104. package/build/lib/commands/types.js +3 -0
  105. package/build/lib/commands/types.js.map +1 -0
  106. package/build/lib/constraints.d.ts +291 -0
  107. package/build/lib/constraints.d.ts.map +1 -0
  108. package/build/lib/{desired-caps.js → constraints.js} +103 -102
  109. package/build/lib/constraints.js.map +1 -0
  110. package/build/lib/driver.d.ts +68 -37
  111. package/build/lib/driver.d.ts.map +1 -1
  112. package/build/lib/driver.js +123 -80
  113. package/build/lib/driver.js.map +1 -1
  114. package/build/lib/helpers/android.d.ts +164 -0
  115. package/build/lib/helpers/android.d.ts.map +1 -0
  116. package/build/lib/helpers/android.js +819 -0
  117. package/build/lib/helpers/android.js.map +1 -0
  118. package/build/lib/helpers/index.d.ts +7 -0
  119. package/build/lib/helpers/index.d.ts.map +1 -0
  120. package/build/lib/helpers/index.js +29 -0
  121. package/build/lib/helpers/index.js.map +1 -0
  122. package/build/lib/helpers/types.d.ts +121 -0
  123. package/build/lib/helpers/types.d.ts.map +1 -0
  124. package/build/lib/helpers/types.js +3 -0
  125. package/build/lib/helpers/types.js.map +1 -0
  126. package/build/lib/helpers/unlock.d.ts +32 -0
  127. package/build/lib/helpers/unlock.d.ts.map +1 -0
  128. package/build/lib/helpers/unlock.js +273 -0
  129. package/build/lib/helpers/unlock.js.map +1 -0
  130. package/build/lib/helpers/webview.d.ts +74 -0
  131. package/build/lib/helpers/webview.d.ts.map +1 -0
  132. package/build/lib/helpers/webview.js +421 -0
  133. package/build/lib/helpers/webview.js.map +1 -0
  134. package/build/lib/index.d.ts +9 -0
  135. package/build/lib/index.d.ts.map +1 -0
  136. package/build/lib/index.js +37 -0
  137. package/build/lib/index.js.map +1 -0
  138. package/build/lib/method-map.d.ts +0 -8
  139. package/build/lib/method-map.d.ts.map +1 -1
  140. package/build/lib/method-map.js +63 -74
  141. package/build/lib/method-map.js.map +1 -1
  142. package/build/lib/stubs.d.ts +0 -1
  143. package/build/lib/stubs.d.ts.map +1 -1
  144. package/build/lib/stubs.js +1 -0
  145. package/build/lib/stubs.js.map +1 -1
  146. package/build/lib/utils.d.ts +1 -1
  147. package/build/lib/utils.d.ts.map +1 -1
  148. package/lib/commands/actions.js +351 -464
  149. package/lib/commands/alert.js +27 -17
  150. package/lib/commands/app-management.js +156 -314
  151. package/lib/commands/context.js +457 -441
  152. package/lib/commands/element.js +201 -157
  153. package/lib/commands/emu-console.js +25 -45
  154. package/lib/commands/execute.js +106 -90
  155. package/lib/commands/file-actions.js +222 -240
  156. package/lib/commands/find.ts +103 -0
  157. package/lib/commands/general.js +327 -339
  158. package/lib/commands/ime.js +50 -34
  159. package/lib/commands/{index.js → index.ts} +20 -24
  160. package/lib/commands/intent.js +108 -249
  161. package/lib/commands/keyboard.js +20 -8
  162. package/lib/commands/log.js +172 -116
  163. package/lib/commands/media-projection.js +134 -161
  164. package/lib/commands/mixins.ts +966 -0
  165. package/lib/commands/network.js +252 -281
  166. package/lib/commands/performance.js +203 -132
  167. package/lib/commands/permissions.js +108 -109
  168. package/lib/commands/recordscreen.js +212 -209
  169. package/lib/commands/shell.js +51 -40
  170. package/lib/commands/streamscreen.js +355 -289
  171. package/lib/commands/system-bars.js +92 -83
  172. package/lib/commands/touch.js +357 -294
  173. package/lib/commands/types.ts +1097 -0
  174. package/lib/{desired-caps.js → constraints.ts} +106 -103
  175. package/lib/{driver.js → driver.ts} +278 -132
  176. package/lib/helpers/android.ts +1143 -0
  177. package/lib/helpers/index.ts +6 -0
  178. package/lib/helpers/types.ts +134 -0
  179. package/lib/helpers/unlock.ts +329 -0
  180. package/lib/helpers/webview.ts +582 -0
  181. package/lib/index.ts +18 -0
  182. package/lib/method-map.js +87 -98
  183. package/lib/stubs.ts +0 -1
  184. package/package.json +26 -19
  185. package/build/index.js +0 -51
  186. package/build/lib/android-helpers.d.ts +0 -136
  187. package/build/lib/android-helpers.d.ts.map +0 -1
  188. package/build/lib/android-helpers.js +0 -855
  189. package/build/lib/android-helpers.js.map +0 -1
  190. package/build/lib/commands/coverage.d.ts +0 -5
  191. package/build/lib/commands/coverage.d.ts.map +0 -1
  192. package/build/lib/commands/coverage.js +0 -19
  193. package/build/lib/commands/coverage.js.map +0 -1
  194. package/build/lib/desired-caps.d.ts +0 -353
  195. package/build/lib/desired-caps.d.ts.map +0 -1
  196. package/build/lib/desired-caps.js.map +0 -1
  197. package/build/lib/unlock-helpers.d.ts +0 -38
  198. package/build/lib/unlock-helpers.d.ts.map +0 -1
  199. package/build/lib/unlock-helpers.js +0 -266
  200. package/build/lib/unlock-helpers.js.map +0 -1
  201. package/build/lib/webview-helpers.d.ts +0 -224
  202. package/build/lib/webview-helpers.d.ts.map +0 -1
  203. package/build/lib/webview-helpers.js +0 -528
  204. package/build/lib/webview-helpers.js.map +0 -1
  205. package/index.js +0 -24
  206. package/lib/android-helpers.js +0 -983
  207. package/lib/commands/coverage.js +0 -18
  208. package/lib/commands/find.js +0 -82
  209. package/lib/unlock-helpers.js +0 -278
  210. package/lib/webview-helpers.js +0 -602
@@ -1,24 +1,26 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.AndroidDriver = void 0;
7
- const driver_1 = require("appium/driver");
8
- const desired_caps_1 = __importDefault(require("./desired-caps"));
9
- const index_1 = __importDefault(require("./commands/index"));
10
- const method_map_1 = require("./method-map");
11
- const android_helpers_1 = require("./android-helpers");
12
- const lodash_1 = __importDefault(require("lodash"));
13
- const appium_adb_1 = require("appium-adb");
7
+ exports.AndroidDriver = exports.androidCommands = void 0;
14
8
  const support_1 = require("@appium/support");
9
+ const appium_adb_1 = require("appium-adb");
10
+ const driver_1 = require("appium/driver");
15
11
  const asyncbox_1 = require("asyncbox");
16
- const shared_preferences_builder_1 = require("shared-preferences-builder");
17
12
  const bluebird_1 = __importDefault(require("bluebird"));
13
+ const lodash_1 = __importDefault(require("lodash"));
14
+ const shared_preferences_builder_1 = require("shared-preferences-builder");
15
+ const constraints_1 = __importDefault(require("./constraints"));
16
+ const helpers_1 = require("./helpers");
17
+ const method_map_1 = require("./method-map");
18
18
  const APP_EXTENSION = '.apk';
19
19
  const DEVICE_PORT = 4724;
20
- // This is a set of methods and paths that we never want to proxy to
21
- // Chromedriver
20
+ /**
21
+ * This is a set of methods and paths that we never want to proxy to
22
+ * Chromedriver
23
+ **/
22
24
  const NO_PROXY = [
23
25
  ['POST', new RegExp('^/session/[^/]+/context')],
24
26
  ['GET', new RegExp('^/session/[^/]+/context')],
@@ -41,29 +43,25 @@ class AndroidDriver extends driver_1.BaseDriver {
41
43
  'id',
42
44
  'class name',
43
45
  'accessibility id',
44
- '-android uiautomator'
46
+ '-android uiautomator',
45
47
  ];
46
- this.desiredCapConstraints = desired_caps_1.default;
48
+ this.desiredCapConstraints = lodash_1.default.cloneDeep(constraints_1.default);
47
49
  this.sessionChromedrivers = {};
48
50
  this.jwpProxyActive = false;
49
51
  this.jwpProxyAvoid = lodash_1.default.clone(NO_PROXY);
50
52
  this.settings = new driver_1.DeviceSettings({ ignoreUnimportantViews: false }, this.onSettingsUpdate.bind(this));
51
- this.chromedriver = null;
52
53
  this.apkStrings = {};
53
- this.unlocker = android_helpers_1.helpers.unlocker;
54
- for (let [cmd, fn] of lodash_1.default.toPairs(index_1.default)) {
55
- AndroidDriver.prototype[cmd] = fn;
56
- }
57
- // needs to be after the line which assigns commands to AndroidDriver.prototype, so that `this.defaultContextName` is defined.
54
+ this.unlocker = helpers_1.helpers.unlocker;
58
55
  this.curContext = this.defaultContextName();
56
+ this.opts = opts;
59
57
  }
60
- async createSession(...args) {
58
+ async createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData) {
61
59
  // the whole createSession flow is surrounded in a try-catch statement
62
60
  // if creating a session fails at any point, we teardown everything we
63
61
  // set up before throwing the error.
64
62
  try {
65
- let [sessionId, caps] = await super.createSession(...args);
66
- let serverDetails = {
63
+ const [sessionId, caps] = (await super.createSession(w3cCaps1, w3cCaps2, w3cCaps3, driverData));
64
+ const serverDetails = {
67
65
  platform: 'LINUX',
68
66
  webStorageEnabled: false,
69
67
  takesScreenshot: true,
@@ -72,11 +70,11 @@ class AndroidDriver extends driver_1.BaseDriver {
72
70
  networkConnectionEnabled: true,
73
71
  locationContextEnabled: false,
74
72
  warnings: {},
75
- desired: this.caps
73
+ desired: this.caps,
76
74
  };
77
75
  this.caps = Object.assign(serverDetails, this.caps);
78
76
  // assigning defaults
79
- let defaultOpts = {
77
+ const defaultOpts = {
80
78
  action: 'android.intent.action.MAIN',
81
79
  category: 'android.intent.category.LAUNCHER',
82
80
  flags: '0x10200000',
@@ -88,33 +86,27 @@ class AndroidDriver extends driver_1.BaseDriver {
88
86
  bootstrapPort: DEVICE_PORT,
89
87
  androidInstallTimeout: 90000,
90
88
  };
91
- lodash_1.default.defaults(this.opts, defaultOpts);
89
+ this.opts = { ...defaultOpts, ...this.opts };
92
90
  this.useUnlockHelperApp = lodash_1.default.isUndefined(this.caps.unlockType);
93
- // not user visible via caps
94
- if (this.opts.noReset === true) {
95
- this.opts.fullReset = false;
96
- }
97
- if (this.opts.fullReset === true) {
98
- this.opts.noReset = false;
99
- }
100
- this.opts.fastReset = !this.opts.fullReset && !this.opts.noReset;
101
- this.opts.skipUninstall = this.opts.fastReset || this.opts.noReset;
102
91
  if (this.isChromeSession) {
103
- android_helpers_1.helpers.adjustBrowserSessionCaps(this.opts);
92
+ helpers_1.helpers.adjustBrowserSessionCaps(this.opts);
104
93
  }
105
94
  if (this.opts.nativeWebScreenshot) {
106
95
  this.jwpProxyAvoid.push(['GET', new RegExp('^/session/[^/]+/screenshot')]);
107
96
  }
97
+ // @ts-expect-error do not put arbitrary properties on opts
108
98
  if (this.opts.reboot) {
109
99
  this.setAvdFromCapabilities(caps);
110
100
  }
111
101
  // get device udid for this session
112
- let { udid, emPort } = await android_helpers_1.helpers.getDeviceInfoFromCaps(this.opts);
102
+ const { udid, emPort } = await helpers_1.helpers.getDeviceInfoFromCaps(this.opts);
113
103
  this.opts.udid = udid;
104
+ // @ts-expect-error do not put arbitrary properties on opts
114
105
  this.opts.emPort = emPort;
115
106
  // set up an instance of ADB
116
- this.adb = await android_helpers_1.helpers.createADB({
107
+ this.adb = await helpers_1.helpers.createADB({
117
108
  udid: this.opts.udid,
109
+ // @ts-expect-error: unknown
118
110
  emPort: this.opts.emPort,
119
111
  adbPort: this.opts.adbPort,
120
112
  suppressKillServer: this.opts.suppressKillServer,
@@ -123,14 +115,16 @@ class AndroidDriver extends driver_1.BaseDriver {
123
115
  adbExecTimeout: this.opts.adbExecTimeout,
124
116
  allowOfflineDevices: this.opts.allowOfflineDevices,
125
117
  });
126
- if (await this.adb.getApiLevel() >= 23) {
118
+ if ((await this.adb.getApiLevel()) >= 23) {
127
119
  this.log.warn("Consider setting 'automationName' capability to " +
128
120
  "'uiautomator2' on Android >= 6, since UIAutomator framework " +
129
121
  'is not maintained anymore by the OS vendor.');
130
122
  }
123
+ // @ts-expect-error no arbitrary props on opts
131
124
  if (this.helpers.isPackageOrBundle(this.opts.app)) {
132
125
  // user provided package instead of app for 'app' capability, massage options
133
126
  this.opts.appPackage = this.opts.app;
127
+ // @ts-expect-error no arbitrary props on opts
134
128
  this.opts.app = null;
135
129
  }
136
130
  if (this.opts.app) {
@@ -152,7 +146,7 @@ class AndroidDriver extends driver_1.BaseDriver {
152
146
  this.log.warn('Sorry, networkSpeed capability is only available for emulators');
153
147
  }
154
148
  else {
155
- const networkSpeed = (0, android_helpers_1.ensureNetworkSpeed)(this.adb, this.opts.networkSpeed);
149
+ const networkSpeed = (0, helpers_1.ensureNetworkSpeed)(this.adb, this.opts.networkSpeed);
156
150
  await this.adb.networkSpeed(networkSpeed);
157
151
  }
158
152
  }
@@ -180,7 +174,7 @@ class AndroidDriver extends driver_1.BaseDriver {
180
174
  }
181
175
  }
182
176
  isEmulator() {
183
- return android_helpers_1.helpers.isEmulator(this.adb, this.opts);
177
+ return helpers_1.helpers.isEmulator(this.adb, this.opts);
184
178
  }
185
179
  setAvdFromCapabilities(caps) {
186
180
  if (this.opts.avd) {
@@ -189,40 +183,51 @@ class AndroidDriver extends driver_1.BaseDriver {
189
183
  else {
190
184
  if (!caps.deviceName) {
191
185
  this.log.errorAndThrow('avd or deviceName should be specified when reboot option is enables');
186
+ throw new Error(); // unreachable
192
187
  }
193
188
  if (!caps.platformVersion) {
194
189
  this.log.errorAndThrow('avd or platformVersion should be specified when reboot option is enabled');
190
+ throw new Error(); // unreachable
195
191
  }
196
- let avdDevice = caps.deviceName.replace(/[^a-zA-Z0-9_.]/g, '-');
192
+ const avdDevice = caps.deviceName.replace(/[^a-zA-Z0-9_.]/g, '-');
197
193
  this.opts.avd = `${avdDevice}__${caps.platformVersion}`;
198
194
  }
199
195
  }
200
196
  get appOnDevice() {
201
- return this.helpers.isPackageOrBundle(this.opts.app) || (!this.opts.app &&
202
- this.helpers.isPackageOrBundle(this.opts.appPackage));
197
+ return (
198
+ // @ts-expect-error no arbitrary props on opts
199
+ this.helpers.isPackageOrBundle(this.opts.app) ||
200
+ // @ts-expect-error no arbitrary props on opts
201
+ (!this.opts.app && this.helpers.isPackageOrBundle(this.opts.appPackage)));
203
202
  }
204
203
  get isChromeSession() {
205
- return android_helpers_1.helpers.isChromeBrowser(this.opts.browserName);
204
+ return helpers_1.helpers.isChromeBrowser(String(this.opts.browserName));
206
205
  }
207
206
  async onSettingsUpdate(key, value) {
208
207
  if (key === 'ignoreUnimportantViews') {
209
208
  await this.setCompressedLayoutHierarchy(value);
210
209
  }
211
210
  }
212
- async startAndroidSession() {
211
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
212
+ async startAndroidSession(opts) {
213
213
  this.log.info(`Starting Android session`);
214
214
  // set up the device to run on (real or emulator, etc)
215
- this.defaultIME = await android_helpers_1.helpers.initDevice(this.adb, this.opts);
215
+ this.defaultIME = (await helpers_1.helpers.initDevice(this.adb, this.opts));
216
216
  // set actual device name, udid, platform version, screen size, model and manufacturer details.
217
217
  this.caps.deviceName = this.adb.curDeviceId;
218
+ // @ts-expect-error do not put arbitrary properties on caps
218
219
  this.caps.deviceUDID = this.opts.udid;
219
220
  this.caps.platformVersion = await this.adb.getPlatformVersion();
221
+ // @ts-expect-error do not put arbitrary properties on caps
220
222
  this.caps.deviceScreenSize = await this.adb.getScreenSize();
223
+ // @ts-expect-error do not put arbitrary properties on caps
221
224
  this.caps.deviceModel = await this.adb.getModel();
225
+ // @ts-expect-error do not put arbitrary properties on caps
222
226
  this.caps.deviceManufacturer = await this.adb.getManufacturer();
223
227
  if (this.opts.disableWindowAnimation) {
224
228
  if (await this.adb.isAnimationOn()) {
225
- if (await this.adb.getApiLevel() >= 28) { // API level 28 is Android P
229
+ if ((await this.adb.getApiLevel()) >= 28) {
230
+ // API level 28 is Android P
226
231
  // Don't forget to reset the relaxing in delete session
227
232
  this.log.warn('Relaxing hidden api policy to manage animation scale');
228
233
  await this.adb.setHiddenApiPolicy('1', !!this.opts.ignoreHiddenApiPolicyError);
@@ -238,15 +243,17 @@ class AndroidDriver extends driver_1.BaseDriver {
238
243
  // set up app under test
239
244
  await this.initAUT();
240
245
  // start UiAutomator
241
- this.bootstrap = new android_helpers_1.helpers.bootstrap(this.adb, this.opts.bootstrapPort, this.opts.websocket);
242
- await this.bootstrap.start(this.opts.appPackage, this.opts.disableAndroidWatchers, this.opts.acceptSslCerts);
246
+ const bootstrap = (this.bootstrap = new helpers_1.helpers.bootstrap(this.adb, this.opts.bootstrapPort,
247
+ // @ts-expect-error do not put arbitrary properties on opts
248
+ this.opts.websocket));
249
+ await bootstrap.start(this.opts.appPackage, this.opts.disableAndroidWatchers, this.opts.acceptSslCerts);
243
250
  // handling unexpected shutdown
244
251
  (async () => {
245
252
  try {
246
- await this.bootstrap.onUnexpectedShutdown;
253
+ await bootstrap.onUnexpectedShutdown;
247
254
  }
248
255
  catch (err) {
249
- if (!this.bootstrap.ignoreUnexpectedShutdown) {
256
+ if (!bootstrap.ignoreUnexpectedShutdown) {
250
257
  await this.startUnexpectedShutdown(err);
251
258
  }
252
259
  }
@@ -257,12 +264,14 @@ class AndroidDriver extends driver_1.BaseDriver {
257
264
  else {
258
265
  this.log.info('Checking for lockscreen presence. ' +
259
266
  `This could be skipped by setting the 'appium:skipUnlock' capability to true.`);
260
- await android_helpers_1.helpers.unlock(this, this.adb, this.caps);
267
+ await helpers_1.helpers.unlock(this, this.adb, this.caps);
261
268
  }
262
269
  // Set CompressedLayoutHierarchy on the device based on current settings object
263
270
  // this has to happen _after_ bootstrap is initialized
264
271
  if (this.opts.ignoreUnimportantViews) {
265
- await this.settings.update({ ignoreUnimportantViews: this.opts.ignoreUnimportantViews });
272
+ await this.settings.update({
273
+ ignoreUnimportantViews: this.opts.ignoreUnimportantViews,
274
+ });
266
275
  }
267
276
  if (this.isChromeSession) {
268
277
  // start a chromedriver session and proxy to it
@@ -276,14 +285,15 @@ class AndroidDriver extends driver_1.BaseDriver {
276
285
  }
277
286
  if (support_1.util.hasValue(this.opts.orientation)) {
278
287
  this.log.debug(`Setting initial orientation to '${this.opts.orientation}'`);
288
+ // @ts-expect-error no arbitrary props on opts
279
289
  await this.setOrientation(this.opts.orientation);
280
290
  }
281
291
  await this.initAutoWebview();
282
292
  }
283
293
  async initAutoWebview() {
284
294
  if (this.opts.autoWebview) {
285
- let viewName = this.defaultWebviewName();
286
- let timeout = (this.opts.autoWebviewTimeout) || 2000;
295
+ const viewName = this.defaultWebviewName();
296
+ const timeout = this.opts.autoWebviewTimeout || 2000;
287
297
  this.log.info(`Setting auto webview to context '${viewName}' with timeout ${timeout}ms`);
288
298
  // try every 500ms until timeout is over
289
299
  await (0, asyncbox_1.retryInterval)(timeout / 500, 500, async () => {
@@ -295,26 +305,28 @@ class AndroidDriver extends driver_1.BaseDriver {
295
305
  // populate appPackage, appActivity, appWaitPackage, appWaitActivity,
296
306
  // and the device being used
297
307
  // in the opts and caps (so it gets back to the user on session creation)
298
- let launchInfo = await android_helpers_1.helpers.getLaunchInfo(this.adb, this.opts);
308
+ const launchInfo = await helpers_1.helpers.getLaunchInfo(this.adb, this.opts);
299
309
  Object.assign(this.opts, launchInfo);
300
310
  Object.assign(this.caps, launchInfo);
301
311
  // Uninstall any uninstallOtherPackages which were specified in caps
302
312
  if (this.opts.uninstallOtherPackages) {
303
- android_helpers_1.helpers.validateDesiredCaps(this.opts);
313
+ helpers_1.helpers.validateDesiredCaps(this.opts);
304
314
  // Only SETTINGS_HELPER_PKG_ID package is used by UIA1
305
- await android_helpers_1.helpers.uninstallOtherPackages(this.adb, android_helpers_1.helpers.parseArray(this.opts.uninstallOtherPackages), [android_helpers_1.SETTINGS_HELPER_PKG_ID]);
315
+ await helpers_1.helpers.uninstallOtherPackages(this.adb, helpers_1.helpers.parseArray(this.opts.uninstallOtherPackages), [helpers_1.SETTINGS_HELPER_PKG_ID]);
306
316
  }
307
317
  // Install any "otherApps" that were specified in caps
308
318
  if (this.opts.otherApps) {
319
+ /** @type {string[]} */
309
320
  let otherApps;
310
321
  try {
311
- otherApps = android_helpers_1.helpers.parseArray(this.opts.otherApps);
322
+ otherApps = helpers_1.helpers.parseArray(this.opts.otherApps);
312
323
  }
313
324
  catch (e) {
314
325
  this.log.errorAndThrow(`Could not parse "otherApps" capability: ${e.message}`);
326
+ return; // unreachable
315
327
  }
316
328
  otherApps = await bluebird_1.default.all(otherApps.map((app) => this.helpers.configureApp(app, APP_EXTENSION)));
317
- await android_helpers_1.helpers.installOtherApks(otherApps, this.adb, this.opts);
329
+ await helpers_1.helpers.installOtherApks(otherApps, this.adb, this.opts);
318
330
  }
319
331
  // install app
320
332
  if (!this.opts.app) {
@@ -323,15 +335,15 @@ class AndroidDriver extends driver_1.BaseDriver {
323
335
  }
324
336
  this.log.debug('No app capability. Assuming it is already on the device');
325
337
  if (this.opts.fastReset) {
326
- await android_helpers_1.helpers.resetApp(this.adb, this.opts);
338
+ await helpers_1.helpers.resetApp(this.adb, this.opts);
327
339
  }
328
340
  return;
329
341
  }
330
342
  if (!this.opts.skipUninstall) {
331
343
  await this.adb.uninstallApk(this.opts.appPackage);
332
344
  }
333
- await android_helpers_1.helpers.installApk(this.adb, this.opts);
334
- const apkStringsForLanguage = await android_helpers_1.helpers.pushStrings(this.opts.language, this.adb, this.opts);
345
+ await helpers_1.helpers.installApk(this.adb, this.opts);
346
+ const apkStringsForLanguage = await helpers_1.helpers.pushStrings(this.opts.language, this.adb, this.opts);
335
347
  if (this.opts.language) {
336
348
  this.apkStrings[this.opts.language] = apkStringsForLanguage;
337
349
  }
@@ -343,17 +355,21 @@ class AndroidDriver extends driver_1.BaseDriver {
343
355
  }
344
356
  async checkAppPresent() {
345
357
  this.log.debug('Checking whether app is actually present');
358
+ // @ts-expect-error do not put arbitrary properties on opts
346
359
  if (!(await support_1.fs.exists(this.opts.app))) {
347
360
  this.log.errorAndThrow(`Could not find app apk at ${this.opts.app}`);
348
361
  }
349
362
  }
350
363
  async checkPackagePresent() {
351
364
  this.log.debug('Checking whether package is present on the device');
352
- if (!(await this.adb.shell(['pm', 'list', 'packages', this.opts.appPackage]))) {
365
+ if (!(await this.adb.shell(['pm', 'list', 'packages', String(this.opts.appPackage)]))) {
353
366
  this.log.errorAndThrow(`Could not find package ${this.opts.appPackage} on the device`);
354
367
  }
355
368
  }
356
- // Set CompressedLayoutHierarchy on the device
369
+ /**
370
+ * Set CompressedLayoutHierarchy on the device
371
+ * @privateRemarks FIXME: unknown param type
372
+ */
357
373
  async setCompressedLayoutHierarchy(compress) {
358
374
  await this.bootstrap.sendAction('compressedLayoutHierarchy', { compressLayout: compress });
359
375
  }
@@ -365,7 +381,7 @@ class AndroidDriver extends driver_1.BaseDriver {
365
381
  }
366
382
  }
367
383
  catch (ign) { }
368
- await android_helpers_1.helpers.removeAllSessionWebSocketHandlers(this.server, this.sessionId);
384
+ await helpers_1.helpers.removeAllSessionWebSocketHandlers(this.server, this.sessionId);
369
385
  await this.mobileStopScreenStreaming();
370
386
  await super.deleteSession();
371
387
  if (this.bootstrap) {
@@ -383,7 +399,7 @@ class AndroidDriver extends driver_1.BaseDriver {
383
399
  await this.adb?.uninstallApk(this.opts.appPackage);
384
400
  }
385
401
  await this.bootstrap.shutdown();
386
- this.bootstrap = null;
402
+ this.bootstrap = undefined;
387
403
  }
388
404
  else {
389
405
  this.log.debug("Called deleteSession but bootstrap wasn't active");
@@ -398,29 +414,36 @@ class AndroidDriver extends driver_1.BaseDriver {
398
414
  this.log.info('Restoring window animation state');
399
415
  await this.adb?.setAnimationState(true);
400
416
  // This was necessary to change animation scale over Android P. We must reset the policy for the security.
401
- if (await this.adb?.getApiLevel() >= 28) {
417
+ if (this.adb && (await this.adb.getApiLevel()) >= 28) {
402
418
  this.log.info('Restoring hidden api policy to the device default configuration');
403
419
  await this.adb?.setDefaultHiddenApiPolicy(!!this.opts.ignoreHiddenApiPolicyError);
404
420
  }
405
421
  }
422
+ // @ts-expect-error do not put arbitrary properties on opts
406
423
  if (this.opts.reboot) {
407
- let avdName = this.opts.avd.replace('@', '');
424
+ // @ts-expect-error do not put arbitrary properties on opts
425
+ const avdName = this.opts.avd.replace('@', '');
408
426
  this.log.debug(`closing emulator '${avdName}'`);
409
427
  await this.adb?.killEmulator(avdName);
410
428
  }
411
429
  }
412
- async setSharedPreferences() {
413
- let sharedPrefs = this.opts.sharedPreferences;
430
+ /**
431
+ *
432
+ * @param {AndroidDriverOpts} [opts]
433
+ */
434
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
435
+ async setSharedPreferences(opts) {
436
+ const sharedPrefs = this.opts.sharedPreferences;
414
437
  this.log.info('Trying to set shared preferences');
415
- let name = sharedPrefs.name;
438
+ const name = sharedPrefs.name;
416
439
  if (lodash_1.default.isUndefined(name)) {
417
440
  this.log.warn(`Skipping setting Shared preferences, name is undefined: ${JSON.stringify(sharedPrefs)}`);
418
441
  return false;
419
442
  }
420
- let remotePath = `/data/data/${this.opts.appPackage}/shared_prefs`;
421
- let remoteFile = `${remotePath}/${name}.xml`;
422
- let localPath = `/tmp/${name}.xml`;
423
- let builder = this.getPrefsBuilder();
443
+ const remotePath = `/data/data/${this.opts.appPackage}/shared_prefs`;
444
+ const remoteFile = `${remotePath}/${name}.xml`;
445
+ const localPath = `/tmp/${name}.xml`;
446
+ const builder = this.getPrefsBuilder();
424
447
  builder.build(sharedPrefs.prefs);
425
448
  this.log.info(`Creating temporary shared preferences: ${localPath}`);
426
449
  builder.toFile(localPath);
@@ -442,26 +465,45 @@ class AndroidDriver extends driver_1.BaseDriver {
442
465
  getPrefsBuilder() {
443
466
  /* Add this method to create a new SharedPrefsBuilder instead of
444
467
  * directly creating the object on setSharedPreferences for testing purposes
445
- */
468
+ */
446
469
  return new shared_preferences_builder_1.SharedPrefsBuilder();
447
470
  }
471
+ /**
472
+ *
473
+ * @param {any} caps
474
+ * @returns {caps is AndroidDriverCaps}
475
+ */
448
476
  validateDesiredCaps(caps) {
449
477
  if (!super.validateDesiredCaps(caps)) {
450
478
  return false;
451
479
  }
452
- if ((!caps.browserName || !android_helpers_1.helpers.isChromeBrowser(caps.browserName)) && !caps.app && !caps.appPackage) {
480
+ if ((!caps.browserName || !helpers_1.helpers.isChromeBrowser(caps.browserName)) &&
481
+ !caps.app &&
482
+ !caps.appPackage) {
453
483
  this.log.errorAndThrow('The desired capabilities must include either an app, appPackage or browserName');
454
484
  }
455
- return android_helpers_1.helpers.validateDesiredCaps(caps);
485
+ return helpers_1.helpers.validateDesiredCaps(caps);
456
486
  }
487
+ /**
488
+ *
489
+ * @param {string} sessionId
490
+ */
457
491
  proxyActive(sessionId) {
458
492
  super.proxyActive(sessionId);
459
493
  return this.jwpProxyActive;
460
494
  }
495
+ /**
496
+ *
497
+ * @param {string} sessionId
498
+ */
461
499
  getProxyAvoidList(sessionId) {
462
500
  super.getProxyAvoidList(sessionId);
463
501
  return this.jwpProxyAvoid;
464
502
  }
503
+ /**
504
+ *
505
+ * @param {string} sessionId
506
+ */
465
507
  canProxy(sessionId) {
466
508
  super.canProxy(sessionId);
467
509
  // this will change depending on ChromeDriver status
@@ -470,5 +512,6 @@ class AndroidDriver extends driver_1.BaseDriver {
470
512
  }
471
513
  exports.AndroidDriver = AndroidDriver;
472
514
  AndroidDriver.newMethodMap = method_map_1.newMethodMap;
473
- exports.default = AndroidDriver;
515
+ var commands_1 = require("./commands");
516
+ Object.defineProperty(exports, "androidCommands", { enumerable: true, get: function () { return commands_1.commands; } });
474
517
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}