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,79 +1,21 @@
1
- export default commands;
2
- export type PerformanceDataOptions = {
3
- /**
4
- * The name of the package identifier to fetch the data for
5
- */
6
- packageName: string;
7
- /**
8
- * One of supported subsystem
9
- * to fetch the data for.
10
- */
11
- dataType: 'batteryinfo' | 'cpuinfo' | 'memoryinfo' | 'networkinfo';
12
- };
13
- export namespace commands {
14
- function getPerformanceDataTypes(): string[];
15
- /**
16
- * @returns The information type of the system state which is supported to read as like cpu, memory, network traffic, and battery.
17
- * input - (packageName) the package name of the application
18
- * (dataType) the type of system state which wants to read. It should be one of the keys of the SUPPORTED_PERFORMANCE_DATA_TYPES
19
- * (dataReadTimeout) the number of attempts to read
20
- * output - table of the performance data, The first line of the table represents the type of data. The remaining lines represent the values of the data.
21
- *
22
- * in case of battery info : [[power], [23]]
23
- * in case of memory info : [[totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty, glPrivateDirty, totalPss,
24
- * nativePss, dalvikPss, eglPss, glPss, nativeHeapAllocatedSize, nativeHeapSize], [18360, 8296, 6132, null, null, 42588, 8406, 7024, null, null, 26519, 10344]]
25
- * in case of network info : [[bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration,],
26
- * [1478091600000, null, 1099075, 610947, 928, 114362, 769, 0, 3600000], [1478095200000, null, 1306300, 405997, 509, 46359, 370, 0, 3600000]]
27
- * in case of network info : [[st, activeTime, rb, rp, tb, tp, op, bucketDuration], [1478088000, null, null, 32115296, 34291, 2956805, 25705, 0, 3600],
28
- * [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600], [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
29
- * [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]]
30
- * in case of cpu info : [[user, kernel], [0.9, 1.3]]
31
- */
32
- function getPerformanceData(packageName: any, dataType: any, retries?: number): Promise<any>;
33
- /**
34
- * @typedef {Object} PerformanceDataOptions
35
- * @property {string} packageName The name of the package identifier to fetch the data for
36
- * @property {'batteryinfo' | 'cpuinfo' | 'memoryinfo' | 'networkinfo'} dataType One of supported subsystem
37
- * to fetch the data for.
38
- */
39
- /**
40
- * Retrieves performance data about the given Android subsystem.
41
- * The data is parsed from the output of the dumpsys utility.
42
- *
43
- * @param {PerformanceDataOptions} opts
44
- * @returns {Promise<any[][]>} The output depends on the selected subsystem.
45
- * It is orginized into a table, where the first row represent column names
46
- * and the following rows represent the sampled data for each column.
47
- * Example output for different data types:
48
- * - batteryinfo: [[power], [23]]
49
- * - memory info: [[totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty, glPrivateDirty, totalPss,
50
- * nativePss, dalvikPss, eglPss, glPss, nativeHeapAllocatedSize, nativeHeapSize], [18360, 8296, 6132, null, null, 42588, 8406, 7024, null, null, 26519, 10344]]
51
- * - networkinfo: [[bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration,],
52
- * [1478091600000, null, 1099075, 610947, 928, 114362, 769, 0, 3600000], [1478095200000, null, 1306300, 405997, 509, 46359, 370, 0, 3600000]]
53
- *
54
- * [[st, activeTime, rb, rp, tb, tp, op, bucketDuration], [1478088000, null, null, 32115296, 34291, 2956805, 25705, 0, 3600],
55
- * [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600], [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
56
- * [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]]
57
- * - cpuinfo: [[user, kernel], [0.9, 1.3]]
58
- */
59
- function mobileGetPerformanceData(opts?: PerformanceDataOptions): Promise<any[][]>;
60
- }
1
+ export default PerformanceMixin;
2
+ export type AndroidDriver = import('../driver').AndroidDriver;
3
+ export type ADB = import('appium-adb').ADB;
4
+ export const BATTERY_KEYS: string[];
5
+ export const CPU_KEYS: readonly ["user", "kernel"];
6
+ export const MEMORY_KEYS: string[];
7
+ export const NETWORK_KEYS: string[][];
61
8
  export const SUPPORTED_PERFORMANCE_DATA_TYPES: Readonly<{
62
9
  cpuinfo: "the amount of cpu by user and kernel process - cpu information for applications on real devices and simulators";
63
10
  memoryinfo: "the amount of memory used by the process - memory information for applications on real devices and simulators";
64
11
  batteryinfo: "the remaining battery power - battery power information for applications on real devices and simulators";
65
12
  networkinfo: "the network statistics - network rx/tx information for applications on real devices and simulators";
66
13
  }>;
67
- export const CPU_KEYS: string[];
68
- export const MEMORY_KEYS: string[];
69
- export const BATTERY_KEYS: string[];
70
- export const NETWORK_KEYS: string[][];
71
- export function getMemoryInfo(packageName: any, retries?: number): Promise<any[][] | null>;
72
14
  /**
73
15
  * @this {AndroidDriver}
74
16
  * @param {number} retries
75
17
  */
76
- export function getNetworkTrafficInfo(this: AndroidDriver, retries?: number): Promise<any[][] | null>;
18
+ export function getBatteryInfo(this: import("../driver").AndroidDriver<import("../driver").AndroidSettings, import("../driver").AndroidDriverCreateResult>, retries?: number): Promise<string[][] | null>;
77
19
  /**
78
20
  * Return the CPU information related to the given packageName.
79
21
  * It raises an exception if the dumped CPU information did not include the given packageName
@@ -87,15 +29,27 @@ export function getNetworkTrafficInfo(this: AndroidDriver, retries?: number): Pr
87
29
  * @this {AndroidDriver}
88
30
  * @param {string} packageName The package name to get the CPU information.
89
31
  * @param {number} retries The number of retry count.
90
- * @returns {Array} The array of the parsed CPU upsage percentages.
32
+ * @returns {Promise<[typeof CPU_KEYS, [user: string, kernel: string]]>} The array of the parsed CPU upsage percentages.
91
33
  * e.g. ['cpuinfo', ['14.3', '28.2']]
92
34
  * '14.3' is usage by the user (%), '28.2' is usage by the kernel (%)
93
- * @throw {Error} If it failed to parse the result of dumpsys, or no package name exists.
35
+ * @throws {Error} If it failed to parse the result of dumpsys, or no package name exists.
94
36
  */
95
- export function getCPUInfo(this: AndroidDriver, packageName: string, retries?: number): any[];
37
+ export function getCPUInfo(this: import("../driver").AndroidDriver<import("../driver").AndroidSettings, import("../driver").AndroidDriverCreateResult>, packageName: string, retries?: number): Promise<[typeof CPU_KEYS, [user: string, kernel: string]]>;
96
38
  /**
39
+ *
97
40
  * @this {AndroidDriver}
41
+ * @param {string} packageName
98
42
  * @param {number} retries
99
43
  */
100
- export function getBatteryInfo(this: AndroidDriver, retries?: number): Promise<string[][] | null>;
44
+ export function getMemoryInfo(this: import("../driver").AndroidDriver<import("../driver").AndroidSettings, import("../driver").AndroidDriverCreateResult>, packageName: string, retries?: number): Promise<any[][] | null>;
45
+ /**
46
+ * @this {AndroidDriver}
47
+ * @param {number} retries
48
+ */
49
+ export function getNetworkTrafficInfo(this: import("../driver").AndroidDriver<import("../driver").AndroidSettings, import("../driver").AndroidDriverCreateResult>, retries?: number): Promise<(string | undefined)[][] | null>;
50
+ /**
51
+ * @type {import('./mixins').PerformanceMixin & ThisType<import('../driver').AndroidDriver>}
52
+ * @satisfies {import('@appium/types').ExternalDriver}
53
+ */
54
+ declare const PerformanceMixin: import('./mixins').PerformanceMixin & ThisType<import('../driver').AndroidDriver>;
101
55
  //# sourceMappingURL=performance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../lib/commands/performance.js"],"names":[],"mappings":";;;;;iBAgZc,MAAM;;;;;cACN,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa;;;IAxCtE,6CAEC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,6FAcC;IAED;;;;;OAKG;IAEH;;;;;;;;;;;;;;;;;;;OAmBG;IACH,mFAGC;;AAzZD;;;;;GAKG;AAdH,gCAAoC;AAEpC,mCAME;AAPF,oCAA+B;AAL/B,sCAGE;AAyFF,2FAgCC;AAED;;;GAGG;AACH,qEAFW,MAAM,2BAyJhB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,6DAPW,MAAM,YACN,MAAM,SAiChB;AAED;;;GAGG;AACH,8DAFW,MAAM,8BAgBhB"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../lib/commands/performance.js"],"names":[],"mappings":";4BAwfa,OAAO,WAAW,EAAE,aAAa;kBACjC,OAAO,YAAY,EAAE,GAAG;AArerC,oCAA+B;AAD/B,mDAA2D;AAE3D,mCAgBE;AA/BF,sCAYE;AAoBF;;;;;GASG;AAuXH;;;GAGG;AACH,sKAFW,MAAM,8BAgBhB;AA5ED;;;;;;;;;;;;;;;;;GAiBG;AACH,qKAPW,MAAM,YACN,MAAM,GACJ,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CA2CtE;AA9QD;;;;;GAKG;AACH,wKAHW,MAAM,YACN,MAAM,2BAuChB;AAED;;;GAGG;AACH,6KAFW,MAAM,4CAqKhB;AAgFD;;;GAGG;AACH,gCAHU,OAAO,UAAU,EAAE,gBAAgB,GAAG,SAAS,OAAO,WAAW,EAAE,aAAa,CAAC,CA0CzF"}
@@ -3,34 +3,53 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getBatteryInfo = exports.getCPUInfo = exports.getNetworkTrafficInfo = exports.getMemoryInfo = exports.NETWORK_KEYS = exports.BATTERY_KEYS = exports.MEMORY_KEYS = exports.CPU_KEYS = exports.SUPPORTED_PERFORMANCE_DATA_TYPES = exports.commands = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
6
+ exports.getNetworkTrafficInfo = exports.getMemoryInfo = exports.getCPUInfo = exports.getBatteryInfo = exports.SUPPORTED_PERFORMANCE_DATA_TYPES = exports.NETWORK_KEYS = exports.MEMORY_KEYS = exports.CPU_KEYS = exports.BATTERY_KEYS = void 0;
7
+ // @ts-check
8
8
  const asyncbox_1 = require("asyncbox");
9
+ const lodash_1 = __importDefault(require("lodash"));
9
10
  const utils_1 = require("../utils");
10
- const commands = {};
11
- exports.commands = commands;
11
+ const mixins_1 = require("./mixins");
12
12
  const NETWORK_KEYS = [
13
- ['bucketStart', 'activeTime', 'rxBytes', 'rxPackets', 'txBytes', 'txPackets', 'operations', 'bucketDuration'],
14
- ['st', 'activeTime', 'rb', 'rp', 'tb', 'tp', 'op', 'bucketDuration']
13
+ [
14
+ 'bucketStart',
15
+ 'activeTime',
16
+ 'rxBytes',
17
+ 'rxPackets',
18
+ 'txBytes',
19
+ 'txPackets',
20
+ 'operations',
21
+ 'bucketDuration',
22
+ ],
23
+ ['st', 'activeTime', 'rb', 'rp', 'tb', 'tp', 'op', 'bucketDuration'],
15
24
  ];
16
25
  exports.NETWORK_KEYS = NETWORK_KEYS;
17
- const CPU_KEYS = ['user', 'kernel'];
26
+ const CPU_KEYS = /** @type {const} */ (['user', 'kernel']);
18
27
  exports.CPU_KEYS = CPU_KEYS;
19
28
  const BATTERY_KEYS = ['power'];
20
29
  exports.BATTERY_KEYS = BATTERY_KEYS;
21
30
  const MEMORY_KEYS = [
22
- 'totalPrivateDirty', 'nativePrivateDirty', 'dalvikPrivateDirty',
23
- 'eglPrivateDirty', 'glPrivateDirty',
24
- 'totalPss', 'nativePss', 'dalvikPss', 'eglPss', 'glPss',
25
- 'nativeHeapAllocatedSize', 'nativeHeapSize',
26
- 'nativeRss', 'dalvikRss', 'totalRss'
31
+ 'totalPrivateDirty',
32
+ 'nativePrivateDirty',
33
+ 'dalvikPrivateDirty',
34
+ 'eglPrivateDirty',
35
+ 'glPrivateDirty',
36
+ 'totalPss',
37
+ 'nativePss',
38
+ 'dalvikPss',
39
+ 'eglPss',
40
+ 'glPss',
41
+ 'nativeHeapAllocatedSize',
42
+ 'nativeHeapSize',
43
+ 'nativeRss',
44
+ 'dalvikRss',
45
+ 'totalRss',
27
46
  ];
28
47
  exports.MEMORY_KEYS = MEMORY_KEYS;
29
48
  const SUPPORTED_PERFORMANCE_DATA_TYPES = Object.freeze({
30
49
  cpuinfo: 'the amount of cpu by user and kernel process - cpu information for applications on real devices and simulators',
31
50
  memoryinfo: 'the amount of memory used by the process - memory information for applications on real devices and simulators',
32
51
  batteryinfo: 'the remaining battery power - battery power information for applications on real devices and simulators',
33
- networkinfo: 'the network statistics - network rx/tx information for applications on real devices and simulators'
52
+ networkinfo: 'the network statistics - network rx/tx information for applications on real devices and simulators',
34
53
  });
35
54
  exports.SUPPORTED_PERFORMANCE_DATA_TYPES = SUPPORTED_PERFORMANCE_DATA_TYPES;
36
55
  const MEMINFO_TITLES = Object.freeze({
@@ -40,7 +59,7 @@ const MEMINFO_TITLES = Object.freeze({
40
59
  GL: 'GL',
41
60
  MTRACK: 'mtrack',
42
61
  TOTAL: 'TOTAL',
43
- HEAP: 'Heap'
62
+ HEAP: 'Heap',
44
63
  });
45
64
  const RETRY_PAUSE_MS = 1000;
46
65
  /**
@@ -49,10 +68,20 @@ const RETRY_PAUSE_MS = 1000;
49
68
  * except 'TOTAL', which skips the second type name
50
69
  * !!! valDict gets mutated
51
70
  */
71
+ // @ts-expect-error FIXME: type this properly
52
72
  function parseMeminfoForApi19To29(entries, valDict) {
53
73
  const [type, subType] = entries;
54
74
  if (type === MEMINFO_TITLES.NATIVE && subType === MEMINFO_TITLES.HEAP) {
55
- [, , valDict.nativePss, valDict.nativePrivateDirty, , , valDict.nativeHeapSize, valDict.nativeHeapAllocatedSize] = entries;
75
+ [
76
+ ,
77
+ ,
78
+ valDict.nativePss,
79
+ valDict.nativePrivateDirty,
80
+ ,
81
+ ,
82
+ valDict.nativeHeapSize,
83
+ valDict.nativeHeapAllocatedSize,
84
+ ] = entries;
56
85
  }
57
86
  else if (type === MEMINFO_TITLES.DALVIK && subType === MEMINFO_TITLES.HEAP) {
58
87
  [, , valDict.dalvikPss, valDict.dalvikPrivateDirty] = entries;
@@ -72,10 +101,18 @@ function parseMeminfoForApi19To29(entries, valDict) {
72
101
  * ['<System Type', '<pps>', '<shared dirty>', '<private dirty>', '<heap size>', '<heap alloc>', '<heap free>']
73
102
  * !!! valDict gets mutated
74
103
  */
104
+ // @ts-expect-error FIXME: type this properly
75
105
  function parseMeminfoForApiBelow19(entries, valDict) {
76
106
  const type = entries[0];
77
107
  if (type === MEMINFO_TITLES.NATIVE) {
78
- [, valDict.nativePss, , valDict.nativePrivateDirty, valDict.nativeHeapSize, valDict.nativeHeapAllocatedSize] = entries;
108
+ [
109
+ ,
110
+ valDict.nativePss,
111
+ ,
112
+ valDict.nativePrivateDirty,
113
+ valDict.nativeHeapSize,
114
+ valDict.nativeHeapAllocatedSize,
115
+ ] = entries;
79
116
  }
80
117
  else if (type === MEMINFO_TITLES.DALVIK) {
81
118
  [, valDict.dalvikPss, , valDict.dalvikPrivateDirty] = entries;
@@ -95,10 +132,21 @@ function parseMeminfoForApiBelow19(entries, valDict) {
95
132
  * ['<System Type>', '<Memory Type>', <pss total>, <private dirty>, <private clean>, <swapPss dirty>, <rss total>, <heap size>, <heap alloc>, <heap free>]
96
133
  * !!! valDict gets mutated
97
134
  */
135
+ // @ts-expect-error FIXME: type this properly
98
136
  function parseMeminfoForApiAbove29(entries, valDict) {
99
137
  const [type, subType] = entries;
100
138
  if (type === MEMINFO_TITLES.NATIVE && subType === MEMINFO_TITLES.HEAP) {
101
- [, , valDict.nativePss, valDict.nativePrivateDirty, , , valDict.nativeRss, valDict.nativeHeapSize, valDict.nativeHeapAllocatedSize] = entries;
139
+ [
140
+ ,
141
+ ,
142
+ valDict.nativePss,
143
+ valDict.nativePrivateDirty,
144
+ ,
145
+ ,
146
+ valDict.nativeRss,
147
+ valDict.nativeHeapSize,
148
+ valDict.nativeHeapAllocatedSize,
149
+ ] = entries;
102
150
  }
103
151
  else if (type === MEMINFO_TITLES.DALVIK && subType === MEMINFO_TITLES.HEAP) {
104
152
  [, , valDict.dalvikPss, valDict.dalvikPrivateDirty, , , valDict.dalvikRss] = entries;
@@ -114,20 +162,30 @@ function parseMeminfoForApiAbove29(entries, valDict) {
114
162
  [, valDict.totalPss, valDict.totalPrivateDirty, , , valDict.totalRss] = entries;
115
163
  }
116
164
  }
165
+ /**
166
+ *
167
+ * @this {AndroidDriver}
168
+ * @param {string} packageName
169
+ * @param {number} retries
170
+ */
117
171
  async function getMemoryInfo(packageName, retries = 2) {
118
172
  return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
119
173
  const cmd = [
120
- 'dumpsys', 'meminfo', `'${packageName}'`,
121
- '|', 'grep', '-E',
174
+ 'dumpsys',
175
+ 'meminfo',
176
+ `'${packageName}'`,
177
+ '|',
178
+ 'grep',
179
+ '-E',
122
180
  `'${MEMINFO_TITLES.NATIVE}|${MEMINFO_TITLES.DALVIK}|${MEMINFO_TITLES.EGL}` +
123
- `|${MEMINFO_TITLES.GL}|${MEMINFO_TITLES.TOTAL}'`
181
+ `|${MEMINFO_TITLES.GL}|${MEMINFO_TITLES.TOTAL}'`,
124
182
  ];
125
- const data = await this.adb.shell(cmd);
183
+ const data = await /** @type {ADB} */ (this.adb).shell(cmd);
126
184
  if (!data) {
127
185
  throw new Error('No data from dumpsys');
128
186
  }
129
187
  const valDict = { totalPrivateDirty: '' };
130
- const apiLevel = await this.adb.getApiLevel();
188
+ const apiLevel = await /** @type {ADB} */ (this.adb).getApiLevel();
131
189
  for (const line of data.split('\n')) {
132
190
  const entries = line.trim().split(/\s+/).filter(Boolean);
133
191
  if (apiLevel >= 30) {
@@ -142,6 +200,7 @@ async function getMemoryInfo(packageName, retries = 2) {
142
200
  }
143
201
  if (valDict.totalPrivateDirty && valDict.totalPrivateDirty !== 'nodex') {
144
202
  const headers = lodash_1.default.clone(MEMORY_KEYS);
203
+ // @ts-expect-error FIXME: don't want to deal w/ it
145
204
  const values = headers.map((header) => valDict[header]);
146
205
  return [headers, values];
147
206
  }
@@ -149,7 +208,6 @@ async function getMemoryInfo(packageName, retries = 2) {
149
208
  });
150
209
  }
151
210
  exports.getMemoryInfo = getMemoryInfo;
152
- ;
153
211
  /**
154
212
  * @this {AndroidDriver}
155
213
  * @param {number} retries
@@ -159,7 +217,7 @@ async function getNetworkTrafficInfo(retries = 2) {
159
217
  let returnValue = [];
160
218
  let bucketDuration, bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations;
161
219
  let cmd = ['dumpsys', 'netstats'];
162
- let data = await this.adb.shell(cmd);
220
+ let data = await /** @type {ADB} */ (this.adb).shell(cmd);
163
221
  if (!data)
164
222
  throw new Error('No data from dumpsys'); //eslint-disable-line curly
165
223
  // In case of network traffic information, it is different for the return data between emulator and real device.
@@ -213,7 +271,7 @@ async function getNetworkTrafficInfo(retries = 2) {
213
271
  start = arrayList[0].indexOf(NETWORK_KEYS[j][0]);
214
272
  if (start >= 0) {
215
273
  index = j;
216
- returnValue[0] = [];
274
+ returnValue[0] = /** @type {string[]} */ ([]);
217
275
  for (let k = 0; k < NETWORK_KEYS[j].length; ++k) {
218
276
  returnValue[0][k] = NETWORK_KEYS[j][k];
219
277
  }
@@ -276,12 +334,23 @@ async function getNetworkTrafficInfo(retries = 2) {
276
334
  operations = data.substring(delimiter + 1, end).trim();
277
335
  }
278
336
  }
279
- returnValue[returnIndex++] = [bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration];
337
+ returnValue[returnIndex++] = [
338
+ bucketStart,
339
+ activeTime,
340
+ rxBytes,
341
+ rxPackets,
342
+ txBytes,
343
+ txPackets,
344
+ operations,
345
+ bucketDuration,
346
+ ];
280
347
  }
281
348
  }
282
349
  }
283
350
  }
284
- if (!lodash_1.default.isEqual(pendingBytes, '') && !lodash_1.default.isUndefined(pendingBytes) && !lodash_1.default.isEqual(pendingBytes, 'nodex')) {
351
+ if (!lodash_1.default.isEqual(pendingBytes, '') &&
352
+ !lodash_1.default.isUndefined(pendingBytes) &&
353
+ !lodash_1.default.isEqual(pendingBytes, 'nodex')) {
285
354
  return returnValue;
286
355
  }
287
356
  else {
@@ -303,10 +372,10 @@ exports.getNetworkTrafficInfo = getNetworkTrafficInfo;
303
372
  * @this {AndroidDriver}
304
373
  * @param {string} packageName The package name to get the CPU information.
305
374
  * @param {number} retries The number of retry count.
306
- * @returns {Array} The array of the parsed CPU upsage percentages.
375
+ * @returns {Promise<[typeof CPU_KEYS, [user: string, kernel: string]]>} The array of the parsed CPU upsage percentages.
307
376
  * e.g. ['cpuinfo', ['14.3', '28.2']]
308
377
  * '14.3' is usage by the user (%), '28.2' is usage by the kernel (%)
309
- * @throw {Error} If it failed to parse the result of dumpsys, or no package name exists.
378
+ * @throws {Error} If it failed to parse the result of dumpsys, or no package name exists.
310
379
  */
311
380
  async function getCPUInfo(packageName, retries = 2) {
312
381
  // TODO: figure out why this is
@@ -314,14 +383,18 @@ async function getCPUInfo(packageName, retries = 2) {
314
383
  // adb.shell(dumpsys cpuinfo) returns cpu datas for other application packages, but I can't find the data for packageName.
315
384
  // It usually fails 30 times and success for the next time,
316
385
  // Since then, he has continued to succeed.
386
+ // @ts-expect-error retryInterval says it can return `null`, but it doesn't look like it actually can.
387
+ // FIXME: fix this in asyncbox
317
388
  return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
389
+ /** @type {string} */
318
390
  let output;
319
391
  try {
320
- output = await this.adb.shell(['dumpsys', 'cpuinfo']);
392
+ output = await /** @type {ADB} */ (this.adb).shell(['dumpsys', 'cpuinfo']);
321
393
  }
322
394
  catch (e) {
323
- if (e.stderr) {
324
- this.log.info(e.stderr);
395
+ const err = /** @type {import('teen_process').ExecError} */ (e);
396
+ if (err.stderr) {
397
+ this.log.info(err.stderr);
325
398
  }
326
399
  throw e;
327
400
  }
@@ -333,7 +406,9 @@ async function getCPUInfo(packageName, retries = 2) {
333
406
  this.log.debug(output);
334
407
  throw new Error(`Unable to parse cpu usage data for '${packageName}'. Check the server log for more details`);
335
408
  }
336
- return [CPU_KEYS, [match[1], match[2]]];
409
+ const user = /** @type {string} */ (match[1]);
410
+ const kernel = /** @type {string} */ (match[2]);
411
+ return [CPU_KEYS, [user, kernel]];
337
412
  });
338
413
  }
339
414
  exports.getCPUInfo = getCPUInfo;
@@ -344,7 +419,7 @@ exports.getCPUInfo = getCPUInfo;
344
419
  async function getBatteryInfo(retries = 2) {
345
420
  return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
346
421
  let cmd = ['dumpsys', 'battery', '|', 'grep', 'level'];
347
- let data = await this.adb.shell(cmd);
422
+ let data = await /** @type {ADB} */ (this.adb).shell(cmd);
348
423
  if (!data)
349
424
  throw new Error('No data from dumpsys'); //eslint-disable-line curly
350
425
  let power = parseInt((data.split(':')[1] || '').trim(), 10);
@@ -357,75 +432,44 @@ async function getBatteryInfo(retries = 2) {
357
432
  });
358
433
  }
359
434
  exports.getBatteryInfo = getBatteryInfo;
360
- //
361
- // returns the information type of the system state which is supported to read as like cpu, memory, network traffic, and battery.
362
- // output - array like below
363
- // [cpuinfo, batteryinfo, networkinfo, memoryinfo]
364
- //
365
- commands.getPerformanceDataTypes = function getPerformanceDataTypes() {
366
- return lodash_1.default.keys(SUPPORTED_PERFORMANCE_DATA_TYPES);
367
- };
368
435
  /**
369
- * @returns The information type of the system state which is supported to read as like cpu, memory, network traffic, and battery.
370
- * input - (packageName) the package name of the application
371
- * (dataType) the type of system state which wants to read. It should be one of the keys of the SUPPORTED_PERFORMANCE_DATA_TYPES
372
- * (dataReadTimeout) the number of attempts to read
373
- * output - table of the performance data, The first line of the table represents the type of data. The remaining lines represent the values of the data.
374
- *
375
- * in case of battery info : [[power], [23]]
376
- * in case of memory info : [[totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty, glPrivateDirty, totalPss,
377
- * nativePss, dalvikPss, eglPss, glPss, nativeHeapAllocatedSize, nativeHeapSize], [18360, 8296, 6132, null, null, 42588, 8406, 7024, null, null, 26519, 10344]]
378
- * in case of network info : [[bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration,],
379
- * [1478091600000, null, 1099075, 610947, 928, 114362, 769, 0, 3600000], [1478095200000, null, 1306300, 405997, 509, 46359, 370, 0, 3600000]]
380
- * in case of network info : [[st, activeTime, rb, rp, tb, tp, op, bucketDuration], [1478088000, null, null, 32115296, 34291, 2956805, 25705, 0, 3600],
381
- * [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600], [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
382
- * [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]]
383
- * in case of cpu info : [[user, kernel], [0.9, 1.3]]
436
+ * @type {import('./mixins').PerformanceMixin & ThisType<import('../driver').AndroidDriver>}
437
+ * @satisfies {import('@appium/types').ExternalDriver}
384
438
  */
385
- commands.getPerformanceData = async function getPerformanceData(packageName, dataType, retries = 2) {
386
- switch (lodash_1.default.toLower(dataType)) {
387
- case 'batteryinfo':
388
- return await getBatteryInfo.bind(this)(retries);
389
- case 'cpuinfo':
390
- return await getCPUInfo.bind(this)(packageName, retries);
391
- case 'memoryinfo':
392
- return await getMemoryInfo.bind(this)(packageName, retries);
393
- case 'networkinfo':
394
- return await getNetworkTrafficInfo.bind(this)(retries);
395
- default:
396
- throw new Error(`No performance data of type '${dataType}' found. ` +
397
- `Only the following values are supported: ${JSON.stringify(SUPPORTED_PERFORMANCE_DATA_TYPES, ' ', 2)}`);
398
- }
439
+ const PerformanceMixin = {
440
+ async getPerformanceDataTypes() {
441
+ return /** @type {import('./types').PerformanceDataType[]} */ (lodash_1.default.keys(SUPPORTED_PERFORMANCE_DATA_TYPES));
442
+ },
443
+ async getPerformanceData(packageName, dataType, retries = 2) {
444
+ let result;
445
+ switch (lodash_1.default.toLower(dataType)) {
446
+ case 'batteryinfo':
447
+ result = await getBatteryInfo.call(this, retries);
448
+ break;
449
+ case 'cpuinfo':
450
+ result = await getCPUInfo.call(this, packageName, retries);
451
+ break;
452
+ case 'memoryinfo':
453
+ result = await getMemoryInfo.call(this, packageName, retries);
454
+ break;
455
+ case 'networkinfo':
456
+ result = await getNetworkTrafficInfo.call(this, retries);
457
+ break;
458
+ default:
459
+ throw new Error(`No performance data of type '${dataType}' found. ` +
460
+ `Only the following values are supported: ${JSON.stringify(SUPPORTED_PERFORMANCE_DATA_TYPES, [' '], 2)}`);
461
+ }
462
+ return /** @type {any[][]} */ (result);
463
+ },
464
+ async mobileGetPerformanceData(opts) {
465
+ const { packageName, dataType } = (0, utils_1.requireArgs)(['packageName', 'dataType'], opts);
466
+ return await this.getPerformanceData(packageName, dataType);
467
+ },
399
468
  };
469
+ (0, mixins_1.mixin)(PerformanceMixin);
470
+ exports.default = PerformanceMixin;
400
471
  /**
401
- * @typedef {Object} PerformanceDataOptions
402
- * @property {string} packageName The name of the package identifier to fetch the data for
403
- * @property {'batteryinfo' | 'cpuinfo' | 'memoryinfo' | 'networkinfo'} dataType One of supported subsystem
404
- * to fetch the data for.
405
- */
406
- /**
407
- * Retrieves performance data about the given Android subsystem.
408
- * The data is parsed from the output of the dumpsys utility.
409
- *
410
- * @param {PerformanceDataOptions} opts
411
- * @returns {Promise<any[][]>} The output depends on the selected subsystem.
412
- * It is orginized into a table, where the first row represent column names
413
- * and the following rows represent the sampled data for each column.
414
- * Example output for different data types:
415
- * - batteryinfo: [[power], [23]]
416
- * - memory info: [[totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty, glPrivateDirty, totalPss,
417
- * nativePss, dalvikPss, eglPss, glPss, nativeHeapAllocatedSize, nativeHeapSize], [18360, 8296, 6132, null, null, 42588, 8406, 7024, null, null, 26519, 10344]]
418
- * - networkinfo: [[bucketStart, activeTime, rxBytes, rxPackets, txBytes, txPackets, operations, bucketDuration,],
419
- * [1478091600000, null, 1099075, 610947, 928, 114362, 769, 0, 3600000], [1478095200000, null, 1306300, 405997, 509, 46359, 370, 0, 3600000]]
420
- *
421
- * [[st, activeTime, rb, rp, tb, tp, op, bucketDuration], [1478088000, null, null, 32115296, 34291, 2956805, 25705, 0, 3600],
422
- * [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600], [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
423
- * [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]]
424
- * - cpuinfo: [[user, kernel], [0.9, 1.3]]
472
+ * @typedef {import('../driver').AndroidDriver} AndroidDriver
473
+ * @typedef {import('appium-adb').ADB} ADB
425
474
  */
426
- commands.mobileGetPerformanceData = async function mobileGetPerformanceData(opts = {}) {
427
- const { packageName, dataType } = (0, utils_1.requireArgs)(['packageName', 'dataType'], opts);
428
- return await this.getPerformanceData(packageName, dataType);
429
- };
430
- exports.default = commands;
431
475
  //# sourceMappingURL=performance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../lib/commands/performance.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../lib/commands/performance.js"],"names":[],"mappings":"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"}