appium-android-driver 7.8.3 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/build/lib/commands/app-management.d.ts +129 -5
  3. package/build/lib/commands/app-management.d.ts.map +1 -1
  4. package/build/lib/commands/app-management.js +433 -128
  5. package/build/lib/commands/app-management.js.map +1 -1
  6. package/build/lib/commands/appearance.d.ts +17 -4
  7. package/build/lib/commands/appearance.d.ts.map +1 -1
  8. package/build/lib/commands/appearance.js +32 -33
  9. package/build/lib/commands/appearance.js.map +1 -1
  10. package/build/lib/commands/context/cache.d.ts +19 -0
  11. package/build/lib/commands/context/cache.d.ts.map +1 -0
  12. package/build/lib/commands/context/cache.js +32 -0
  13. package/build/lib/commands/context/cache.js.map +1 -0
  14. package/build/lib/commands/context/exports.d.ts +141 -0
  15. package/build/lib/commands/context/exports.d.ts.map +1 -0
  16. package/build/lib/commands/context/exports.js +351 -0
  17. package/build/lib/commands/context/exports.js.map +1 -0
  18. package/build/lib/commands/context/helpers.d.ts +98 -0
  19. package/build/lib/commands/context/helpers.d.ts.map +1 -0
  20. package/build/lib/commands/context/helpers.js +715 -0
  21. package/build/lib/commands/context/helpers.js.map +1 -0
  22. package/build/lib/commands/device/common.d.ts +23 -0
  23. package/build/lib/commands/device/common.d.ts.map +1 -0
  24. package/build/lib/commands/device/common.js +230 -0
  25. package/build/lib/commands/device/common.js.map +1 -0
  26. package/build/lib/commands/device/emulator-actions.d.ts +114 -0
  27. package/build/lib/commands/device/emulator-actions.d.ts.map +1 -0
  28. package/build/lib/commands/device/emulator-actions.js +197 -0
  29. package/build/lib/commands/device/emulator-actions.js.map +1 -0
  30. package/build/lib/commands/device/emulator-console.d.ts +7 -0
  31. package/build/lib/commands/device/emulator-console.d.ts.map +1 -0
  32. package/build/lib/commands/device/emulator-console.js +24 -0
  33. package/build/lib/commands/device/emulator-console.js.map +1 -0
  34. package/build/lib/commands/device/utils.d.ts +50 -0
  35. package/build/lib/commands/device/utils.d.ts.map +1 -0
  36. package/build/lib/commands/device/utils.js +238 -0
  37. package/build/lib/commands/device/utils.js.map +1 -0
  38. package/build/lib/commands/deviceidle.d.ts +8 -5
  39. package/build/lib/commands/deviceidle.d.ts.map +1 -1
  40. package/build/lib/commands/deviceidle.js +31 -37
  41. package/build/lib/commands/deviceidle.js.map +1 -1
  42. package/build/lib/commands/element.d.ts +99 -5
  43. package/build/lib/commands/element.d.ts.map +1 -1
  44. package/build/lib/commands/element.js +152 -116
  45. package/build/lib/commands/element.js.map +1 -1
  46. package/build/lib/commands/execute.d.ts +12 -4
  47. package/build/lib/commands/execute.d.ts.map +1 -1
  48. package/build/lib/commands/execute.js +83 -78
  49. package/build/lib/commands/execute.js.map +1 -1
  50. package/build/lib/commands/file-actions.d.ts +42 -5
  51. package/build/lib/commands/file-actions.d.ts.map +1 -1
  52. package/build/lib/commands/file-actions.js +230 -194
  53. package/build/lib/commands/file-actions.js.map +1 -1
  54. package/build/lib/commands/find.d.ts +5 -4
  55. package/build/lib/commands/find.d.ts.map +1 -1
  56. package/build/lib/commands/find.js +7 -10
  57. package/build/lib/commands/find.js.map +1 -1
  58. package/build/lib/commands/geolocation.d.ts +45 -0
  59. package/build/lib/commands/geolocation.d.ts.map +1 -0
  60. package/build/lib/commands/geolocation.js +182 -0
  61. package/build/lib/commands/geolocation.js.map +1 -0
  62. package/build/lib/commands/ime.d.ts +25 -5
  63. package/build/lib/commands/ime.d.ts.map +1 -1
  64. package/build/lib/commands/ime.js +59 -42
  65. package/build/lib/commands/ime.js.map +1 -1
  66. package/build/lib/commands/intent.d.ts +56 -5
  67. package/build/lib/commands/intent.d.ts.map +1 -1
  68. package/build/lib/commands/intent.js +135 -83
  69. package/build/lib/commands/intent.js.map +1 -1
  70. package/build/lib/commands/keyboard.d.ts +58 -4
  71. package/build/lib/commands/keyboard.d.ts.map +1 -1
  72. package/build/lib/commands/keyboard.js +119 -17
  73. package/build/lib/commands/keyboard.js.map +1 -1
  74. package/build/lib/commands/lock/exports.d.ts +301 -0
  75. package/build/lib/commands/lock/exports.d.ts.map +1 -0
  76. package/build/lib/commands/lock/exports.js +121 -0
  77. package/build/lib/commands/lock/exports.js.map +1 -0
  78. package/build/lib/commands/lock/helpers.d.ts +349 -0
  79. package/build/lib/commands/lock/helpers.d.ts.map +1 -0
  80. package/build/lib/commands/lock/helpers.js +375 -0
  81. package/build/lib/commands/lock/helpers.js.map +1 -0
  82. package/build/lib/commands/log.d.ts +59 -5
  83. package/build/lib/commands/log.d.ts.map +1 -1
  84. package/build/lib/commands/log.js +150 -140
  85. package/build/lib/commands/log.js.map +1 -1
  86. package/build/lib/commands/media-projection.d.ts +16 -5
  87. package/build/lib/commands/media-projection.d.ts.map +1 -1
  88. package/build/lib/commands/media-projection.js +69 -58
  89. package/build/lib/commands/media-projection.js.map +1 -1
  90. package/build/lib/commands/memory.d.ts +9 -5
  91. package/build/lib/commands/memory.d.ts.map +1 -1
  92. package/build/lib/commands/memory.js +19 -24
  93. package/build/lib/commands/memory.js.map +1 -1
  94. package/build/lib/commands/misc.d.ts +42 -0
  95. package/build/lib/commands/misc.d.ts.map +1 -0
  96. package/build/lib/commands/misc.js +100 -0
  97. package/build/lib/commands/misc.js.map +1 -0
  98. package/build/lib/commands/network.d.ts +61 -5
  99. package/build/lib/commands/network.d.ts.map +1 -1
  100. package/build/lib/commands/network.js +196 -189
  101. package/build/lib/commands/network.js.map +1 -1
  102. package/build/lib/commands/performance.d.ts +67 -27
  103. package/build/lib/commands/performance.d.ts.map +1 -1
  104. package/build/lib/commands/performance.js +105 -80
  105. package/build/lib/commands/performance.js.map +1 -1
  106. package/build/lib/commands/permissions.d.ts +12 -6
  107. package/build/lib/commands/permissions.d.ts.map +1 -1
  108. package/build/lib/commands/permissions.js +65 -62
  109. package/build/lib/commands/permissions.js.map +1 -1
  110. package/build/lib/commands/recordscreen.d.ts +44 -5
  111. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  112. package/build/lib/commands/recordscreen.js +131 -126
  113. package/build/lib/commands/recordscreen.js.map +1 -1
  114. package/build/lib/commands/resources.d.ts +16 -0
  115. package/build/lib/commands/resources.d.ts.map +1 -0
  116. package/build/lib/commands/resources.js +91 -0
  117. package/build/lib/commands/resources.js.map +1 -0
  118. package/build/lib/commands/shell.d.ts +8 -5
  119. package/build/lib/commands/shell.d.ts.map +1 -1
  120. package/build/lib/commands/shell.js +29 -33
  121. package/build/lib/commands/shell.js.map +1 -1
  122. package/build/lib/commands/streamscreen.d.ts +34 -6
  123. package/build/lib/commands/streamscreen.d.ts.map +1 -1
  124. package/build/lib/commands/streamscreen.js +166 -162
  125. package/build/lib/commands/streamscreen.js.map +1 -1
  126. package/build/lib/commands/system-bars.d.ts +18 -13
  127. package/build/lib/commands/system-bars.d.ts.map +1 -1
  128. package/build/lib/commands/system-bars.js +68 -64
  129. package/build/lib/commands/system-bars.js.map +1 -1
  130. package/build/lib/commands/time.d.ts +14 -0
  131. package/build/lib/commands/time.d.ts.map +1 -0
  132. package/build/lib/commands/time.js +39 -0
  133. package/build/lib/commands/time.js.map +1 -0
  134. package/build/lib/commands/touch.d.ts +99 -6
  135. package/build/lib/commands/touch.d.ts.map +1 -1
  136. package/build/lib/commands/touch.js +399 -280
  137. package/build/lib/commands/touch.js.map +1 -1
  138. package/build/lib/commands/types.d.ts +110 -2
  139. package/build/lib/commands/types.d.ts.map +1 -1
  140. package/build/lib/doctor/checks.d.ts.map +1 -1
  141. package/build/lib/doctor/checks.js +4 -4
  142. package/build/lib/doctor/checks.js.map +1 -1
  143. package/build/lib/driver.d.ts +224 -27
  144. package/build/lib/driver.d.ts.map +1 -1
  145. package/build/lib/driver.js +232 -7
  146. package/build/lib/driver.js.map +1 -1
  147. package/build/lib/index.d.ts +1 -4
  148. package/build/lib/index.d.ts.map +1 -1
  149. package/build/lib/index.js +1 -13
  150. package/build/lib/index.js.map +1 -1
  151. package/build/lib/logger.js.map +1 -1
  152. package/build/lib/method-map.d.ts +0 -23
  153. package/build/lib/method-map.d.ts.map +1 -1
  154. package/build/lib/method-map.js +0 -11
  155. package/build/lib/method-map.js.map +1 -1
  156. package/build/lib/utils.d.ts +12 -0
  157. package/build/lib/utils.d.ts.map +1 -1
  158. package/build/lib/utils.js +38 -2
  159. package/build/lib/utils.js.map +1 -1
  160. package/lib/commands/app-management.js +470 -145
  161. package/lib/commands/appearance.js +29 -36
  162. package/lib/commands/context/cache.js +29 -0
  163. package/lib/commands/context/exports.js +379 -0
  164. package/lib/commands/context/helpers.js +802 -0
  165. package/lib/commands/device/common.js +264 -0
  166. package/lib/commands/device/emulator-actions.js +194 -0
  167. package/lib/commands/device/emulator-console.js +24 -0
  168. package/lib/commands/device/utils.js +285 -0
  169. package/lib/commands/deviceidle.js +31 -44
  170. package/lib/commands/element.js +149 -142
  171. package/lib/commands/execute.js +86 -87
  172. package/lib/commands/file-actions.js +249 -222
  173. package/lib/commands/find.ts +13 -19
  174. package/lib/commands/geolocation.js +179 -0
  175. package/lib/commands/ime.js +53 -45
  176. package/lib/commands/intent.js +149 -91
  177. package/lib/commands/keyboard.js +114 -17
  178. package/lib/commands/lock/exports.js +139 -0
  179. package/lib/commands/lock/helpers.js +379 -0
  180. package/lib/commands/log.js +170 -166
  181. package/lib/commands/media-projection.js +75 -70
  182. package/lib/commands/memory.js +17 -29
  183. package/lib/commands/misc.js +94 -0
  184. package/lib/commands/network.js +209 -223
  185. package/lib/commands/performance.js +88 -73
  186. package/lib/commands/permissions.js +83 -84
  187. package/lib/commands/recordscreen.js +171 -170
  188. package/lib/commands/resources.js +96 -0
  189. package/lib/commands/shell.js +28 -42
  190. package/lib/commands/streamscreen.js +207 -206
  191. package/lib/commands/system-bars.js +76 -77
  192. package/lib/commands/time.js +36 -0
  193. package/lib/commands/touch.js +442 -346
  194. package/lib/commands/types.ts +123 -2
  195. package/lib/doctor/checks.js +24 -16
  196. package/lib/driver.ts +454 -12
  197. package/lib/index.ts +1 -13
  198. package/lib/logger.js +1 -1
  199. package/lib/method-map.js +0 -11
  200. package/lib/utils.js +40 -3
  201. package/package.json +1 -1
  202. package/build/lib/commands/actions.d.ts +0 -8
  203. package/build/lib/commands/actions.d.ts.map +0 -1
  204. package/build/lib/commands/actions.js +0 -207
  205. package/build/lib/commands/actions.js.map +0 -1
  206. package/build/lib/commands/alert.d.ts +0 -8
  207. package/build/lib/commands/alert.d.ts.map +0 -1
  208. package/build/lib/commands/alert.js +0 -29
  209. package/build/lib/commands/alert.js.map +0 -1
  210. package/build/lib/commands/context.d.ts +0 -10
  211. package/build/lib/commands/context.d.ts.map +0 -1
  212. package/build/lib/commands/context.js +0 -431
  213. package/build/lib/commands/context.js.map +0 -1
  214. package/build/lib/commands/emu-console.d.ts +0 -7
  215. package/build/lib/commands/emu-console.d.ts.map +0 -1
  216. package/build/lib/commands/emu-console.js +0 -27
  217. package/build/lib/commands/emu-console.js.map +0 -1
  218. package/build/lib/commands/general.d.ts +0 -9
  219. package/build/lib/commands/general.d.ts.map +0 -1
  220. package/build/lib/commands/general.js +0 -293
  221. package/build/lib/commands/general.js.map +0 -1
  222. package/build/lib/commands/index.d.ts +0 -28
  223. package/build/lib/commands/index.d.ts.map +0 -1
  224. package/build/lib/commands/index.js +0 -57
  225. package/build/lib/commands/index.js.map +0 -1
  226. package/build/lib/commands/mixins.d.ts +0 -747
  227. package/build/lib/commands/mixins.d.ts.map +0 -1
  228. package/build/lib/commands/mixins.js +0 -19
  229. package/build/lib/commands/mixins.js.map +0 -1
  230. package/build/lib/helpers/android.d.ts +0 -163
  231. package/build/lib/helpers/android.d.ts.map +0 -1
  232. package/build/lib/helpers/android.js +0 -818
  233. package/build/lib/helpers/android.js.map +0 -1
  234. package/build/lib/helpers/index.d.ts +0 -7
  235. package/build/lib/helpers/index.d.ts.map +0 -1
  236. package/build/lib/helpers/index.js +0 -29
  237. package/build/lib/helpers/index.js.map +0 -1
  238. package/build/lib/helpers/types.d.ts +0 -122
  239. package/build/lib/helpers/types.d.ts.map +0 -1
  240. package/build/lib/helpers/types.js +0 -3
  241. package/build/lib/helpers/types.js.map +0 -1
  242. package/build/lib/helpers/unlock.d.ts +0 -32
  243. package/build/lib/helpers/unlock.d.ts.map +0 -1
  244. package/build/lib/helpers/unlock.js +0 -273
  245. package/build/lib/helpers/unlock.js.map +0 -1
  246. package/build/lib/helpers/webview.d.ts +0 -74
  247. package/build/lib/helpers/webview.d.ts.map +0 -1
  248. package/build/lib/helpers/webview.js +0 -448
  249. package/build/lib/helpers/webview.js.map +0 -1
  250. package/lib/commands/actions.js +0 -244
  251. package/lib/commands/alert.js +0 -34
  252. package/lib/commands/context.js +0 -507
  253. package/lib/commands/emu-console.js +0 -31
  254. package/lib/commands/general.js +0 -343
  255. package/lib/commands/index.ts +0 -54
  256. package/lib/commands/mixins.ts +0 -976
  257. package/lib/helpers/android.ts +0 -1153
  258. package/lib/helpers/index.ts +0 -6
  259. package/lib/helpers/types.ts +0 -136
  260. package/lib/helpers/unlock.ts +0 -329
  261. package/lib/helpers/webview.ts +0 -610
@@ -1,115 +1,114 @@
1
- // @ts-check
2
-
3
1
  import _ from 'lodash';
4
2
  import {errors, PROTOCOLS} from 'appium/driver';
5
- import {mixin} from './mixins';
6
3
 
7
4
  /**
8
- * @type {import('./mixins').ExecuteMixin & ThisType<import('../driver').AndroidDriver>}
9
- * @satisfies {import('@appium/types').ExternalDriver}
5
+ * @this {import('../driver').AndroidDriver}
6
+ * @param {string} script
7
+ * @param {any[]} [args]
8
+ * @returns {Promise<any>}
10
9
  */
11
- const ExecuteMixin = {
12
- async execute(script, args) {
13
- if (script.match(/^mobile:/)) {
14
- this.log.info(`Executing native command '${script}'`);
15
- script = script.replace(/^mobile:/, '').trim();
16
- return await this.executeMobile(
17
- script,
18
- _.isArray(args) ? /** @type {import('@appium/types').StringRecord} */ (args[0]) : args
19
- );
20
- }
21
- if (!this.isWebContext()) {
22
- throw new errors.NotImplementedError();
23
- }
24
- const endpoint =
25
- /** @type {import('appium-chromedriver').Chromedriver} */ (this.chromedriver).jwproxy
26
- .downstreamProtocol === PROTOCOLS.MJSONWP
27
- ? '/execute'
28
- : '/execute/sync';
29
- return await /** @type {import('appium-chromedriver').Chromedriver} */ (
30
- this.chromedriver
31
- ).jwproxy.command(endpoint, 'POST', {
10
+ export async function execute(script, args) {
11
+ if (script.match(/^mobile:/)) {
12
+ this.log.info(`Executing native command '${script}'`);
13
+ script = script.replace(/^mobile:/, '').trim();
14
+ return await this.executeMobile(
32
15
  script,
33
- args,
34
- });
35
- },
36
-
37
- async executeMobile(mobileCommand, opts = {}) {
38
- const mobileCommandsMapping = {
39
- shell: 'mobileShell',
40
-
41
- execEmuConsoleCommand: 'mobileExecEmuConsoleCommand',
16
+ _.isArray(args) ? /** @type {import('@appium/types').StringRecord} */ (args[0]) : args,
17
+ );
18
+ }
19
+ if (!this.isWebContext()) {
20
+ throw new errors.NotImplementedError();
21
+ }
22
+ const endpoint =
23
+ /** @type {import('appium-chromedriver').Chromedriver} */ (this.chromedriver).jwproxy
24
+ .downstreamProtocol === PROTOCOLS.MJSONWP
25
+ ? '/execute'
26
+ : '/execute/sync';
27
+ return await /** @type {import('appium-chromedriver').Chromedriver} */ (
28
+ this.chromedriver
29
+ ).jwproxy.command(endpoint, 'POST', {
30
+ script,
31
+ args,
32
+ });
33
+ }
42
34
 
43
- startLogsBroadcast: 'mobileStartLogsBroadcast',
44
- stopLogsBroadcast: 'mobileStopLogsBroadcast',
35
+ /**
36
+ * @this {import('../driver').AndroidDriver}
37
+ * @param {string} mobileCommand
38
+ * @param {import('@appium/types').StringRecord} [opts={}]
39
+ * @returns {Promise<any>}
40
+ */
41
+ export async function executeMobile(mobileCommand, opts = {}) {
42
+ const mobileCommandsMapping = {
43
+ shell: 'mobileShell',
45
44
 
46
- changePermissions: 'mobileChangePermissions',
47
- getPermissions: 'mobileGetPermissions',
45
+ execEmuConsoleCommand: 'mobileExecEmuConsoleCommand',
48
46
 
49
- performEditorAction: 'mobilePerformEditorAction',
47
+ startLogsBroadcast: 'mobileStartLogsBroadcast',
48
+ stopLogsBroadcast: 'mobileStopLogsBroadcast',
50
49
 
51
- sensorSet: 'sensorSet',
50
+ changePermissions: 'mobileChangePermissions',
51
+ getPermissions: 'mobileGetPermissions',
52
52
 
53
- getDeviceTime: 'mobileGetDeviceTime',
53
+ performEditorAction: 'mobilePerformEditorAction',
54
54
 
55
- startScreenStreaming: 'mobileStartScreenStreaming',
56
- stopScreenStreaming: 'mobileStopScreenStreaming',
55
+ sensorSet: 'sensorSet',
57
56
 
58
- getNotifications: 'mobileGetNotifications',
57
+ getDeviceTime: 'mobileGetDeviceTime',
59
58
 
60
- listSms: 'mobileListSms',
59
+ startScreenStreaming: 'mobileStartScreenStreaming',
60
+ stopScreenStreaming: 'mobileStopScreenStreaming',
61
61
 
62
- pushFile: 'mobilePushFile',
63
- pullFile: 'mobilePullFile',
64
- pullFolder: 'mobilePullFolder',
65
- deleteFile: 'mobileDeleteFile',
62
+ getNotifications: 'mobileGetNotifications',
66
63
 
67
- isAppInstalled: 'mobileIsAppInstalled',
68
- queryAppState: 'mobileQueryAppState',
69
- activateApp: 'mobileActivateApp',
70
- removeApp: 'mobileRemoveApp',
71
- terminateApp: 'mobileTerminateApp',
72
- installApp: 'mobileInstallApp',
73
- clearApp: 'mobileClearApp',
64
+ listSms: 'mobileListSms',
74
65
 
75
- startService: 'mobileStartService',
76
- stopService: 'mobileStopService',
77
- startActivity: 'mobileStartActivity',
78
- broadcast: 'mobileBroadcast',
66
+ pushFile: 'mobilePushFile',
67
+ pullFile: 'mobilePullFile',
68
+ pullFolder: 'mobilePullFolder',
69
+ deleteFile: 'mobileDeleteFile',
79
70
 
80
- getContexts: 'mobileGetContexts',
71
+ isAppInstalled: 'mobileIsAppInstalled',
72
+ queryAppState: 'mobileQueryAppState',
73
+ activateApp: 'mobileActivateApp',
74
+ removeApp: 'mobileRemoveApp',
75
+ terminateApp: 'mobileTerminateApp',
76
+ installApp: 'mobileInstallApp',
77
+ clearApp: 'mobileClearApp',
81
78
 
82
- lock: 'mobileLock',
83
- unlock: 'mobileUnlock',
79
+ startService: 'mobileStartService',
80
+ stopService: 'mobileStopService',
81
+ startActivity: 'mobileStartActivity',
82
+ broadcast: 'mobileBroadcast',
84
83
 
85
- refreshGpsCache: 'mobileRefreshGpsCache',
84
+ getContexts: 'mobileGetContexts',
86
85
 
87
- startMediaProjectionRecording: 'mobileStartMediaProjectionRecording',
88
- isMediaProjectionRecordingRunning: 'mobileIsMediaProjectionRecordingRunning',
89
- stopMediaProjectionRecording: 'mobileStopMediaProjectionRecording',
86
+ lock: 'mobileLock',
87
+ unlock: 'mobileUnlock',
90
88
 
91
- getConnectivity: 'mobileGetConnectivity',
92
- setConnectivity: 'mobileSetConnectivity',
89
+ refreshGpsCache: 'mobileRefreshGpsCache',
93
90
 
94
- hideKeyboard: 'hideKeyboard',
95
- isKeyboardShown: 'isKeyboardShown',
91
+ startMediaProjectionRecording: 'mobileStartMediaProjectionRecording',
92
+ isMediaProjectionRecordingRunning: 'mobileIsMediaProjectionRecordingRunning',
93
+ stopMediaProjectionRecording: 'mobileStopMediaProjectionRecording',
96
94
 
97
- deviceidle: 'mobileDeviceidle',
95
+ getConnectivity: 'mobileGetConnectivity',
96
+ setConnectivity: 'mobileSetConnectivity',
98
97
 
99
- setUiMode: 'mobileSetUiMode',
100
- getUiMode: 'mobileGetUiMode',
101
- };
98
+ hideKeyboard: 'hideKeyboard',
99
+ isKeyboardShown: 'isKeyboardShown',
102
100
 
103
- if (!_.has(mobileCommandsMapping, mobileCommand)) {
104
- throw new errors.UnknownCommandError(
105
- `Unknown mobile command "${mobileCommand}". ` +
106
- `Only ${_.keys(mobileCommandsMapping)} commands are supported.`
107
- );
108
- }
109
- return await this[mobileCommandsMapping[mobileCommand]](opts);
110
- },
111
- };
101
+ deviceidle: 'mobileDeviceidle',
112
102
 
113
- mixin(ExecuteMixin);
103
+ setUiMode: 'mobileSetUiMode',
104
+ getUiMode: 'mobileGetUiMode',
105
+ };
114
106
 
115
- export default ExecuteMixin;
107
+ if (!_.has(mobileCommandsMapping, mobileCommand)) {
108
+ throw new errors.UnknownCommandError(
109
+ `Unknown mobile command "${mobileCommand}". ` +
110
+ `Only ${_.keys(mobileCommandsMapping)} commands are supported.`,
111
+ );
112
+ }
113
+ return await this[mobileCommandsMapping[mobileCommand]](opts);
114
+ }