appium-android-driver 12.4.5 → 12.4.7
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.
- package/CHANGELOG.md +12 -0
- package/build/lib/commands/app-management.d.ts +167 -113
- package/build/lib/commands/app-management.d.ts.map +1 -1
- package/build/lib/commands/app-management.js +147 -103
- package/build/lib/commands/app-management.js.map +1 -1
- package/build/lib/commands/find.d.ts +20 -3
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js +10 -3
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/performance.d.ts +80 -51
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +113 -89
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/shell.d.ts +21 -0
- package/build/lib/commands/shell.d.ts.map +1 -1
- package/build/lib/commands/shell.js +21 -0
- package/build/lib/commands/shell.js.map +1 -1
- package/build/lib/commands/streamscreen.d.ts +34 -64
- package/build/lib/commands/streamscreen.d.ts.map +1 -1
- package/build/lib/commands/streamscreen.js +41 -80
- package/build/lib/commands/streamscreen.js.map +1 -1
- package/lib/commands/app-management.ts +639 -0
- package/lib/commands/find.ts +20 -3
- package/lib/commands/{performance.js → performance.ts} +167 -108
- package/lib/commands/shell.ts +21 -0
- package/lib/commands/{streamscreen.js → streamscreen.ts} +86 -109
- package/package.json +2 -2
- package/lib/commands/app-management.js +0 -533
|
@@ -1,16 +1,44 @@
|
|
|
1
|
+
import type { AndroidDriver } from '../driver';
|
|
2
|
+
import type { PerformanceDataType } from './types';
|
|
3
|
+
export declare const NETWORK_KEYS: readonly [readonly ["bucketStart", "activeTime", "rxBytes", "rxPackets", "txBytes", "txPackets", "operations", "bucketDuration"], readonly ["st", "activeTime", "rb", "rp", "tb", "tp", "op", "bucketDuration"]];
|
|
4
|
+
export declare const CPU_KEYS: readonly ["user", "kernel"];
|
|
5
|
+
export declare const BATTERY_KEYS: readonly ["power"];
|
|
6
|
+
export declare const MEMORY_KEYS: readonly ["totalPrivateDirty", "nativePrivateDirty", "dalvikPrivateDirty", "eglPrivateDirty", "glPrivateDirty", "totalPss", "nativePss", "dalvikPss", "eglPss", "glPss", "nativeHeapAllocatedSize", "nativeHeapSize", "nativeRss", "dalvikRss", "totalRss"];
|
|
7
|
+
export declare const SUPPORTED_PERFORMANCE_DATA_TYPES: Readonly<{
|
|
8
|
+
readonly cpuinfo: "the amount of cpu by user and kernel process - cpu information for applications on real devices and simulators";
|
|
9
|
+
readonly memoryinfo: "the amount of memory used by the process - memory information for applications on real devices and simulators";
|
|
10
|
+
readonly batteryinfo: "the remaining battery power - battery power information for applications on real devices and simulators";
|
|
11
|
+
readonly networkinfo: "the network statistics - network rx/tx information for applications on real devices and simulators";
|
|
12
|
+
}>;
|
|
13
|
+
export declare const MEMINFO_TITLES: Readonly<{
|
|
14
|
+
readonly NATIVE: "Native";
|
|
15
|
+
readonly DALVIK: "Dalvik";
|
|
16
|
+
readonly EGL: "EGL";
|
|
17
|
+
readonly GL: "GL";
|
|
18
|
+
readonly MTRACK: "mtrack";
|
|
19
|
+
readonly TOTAL: "TOTAL";
|
|
20
|
+
readonly HEAP: "Heap";
|
|
21
|
+
}>;
|
|
1
22
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
23
|
+
* Retrieves the list of available performance data types.
|
|
24
|
+
*
|
|
25
|
+
* @returns An array of supported performance data type names.
|
|
26
|
+
* The possible values are: 'cpuinfo', 'memoryinfo', 'batteryinfo', 'networkinfo'.
|
|
4
27
|
*/
|
|
5
|
-
export function getPerformanceDataTypes(this:
|
|
28
|
+
export declare function getPerformanceDataTypes(this: AndroidDriver): Promise<PerformanceDataType[]>;
|
|
6
29
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @param
|
|
10
|
-
*
|
|
11
|
-
* @
|
|
30
|
+
* Retrieves performance data for the specified data type.
|
|
31
|
+
*
|
|
32
|
+
* @param packageName The package name of the application to get performance data for.
|
|
33
|
+
* Required for 'cpuinfo' and 'memoryinfo' data types.
|
|
34
|
+
* @param dataType The type of performance data to retrieve.
|
|
35
|
+
* Must be one of values returned by {@link getPerformanceDataTypes}.
|
|
36
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
37
|
+
* @returns A two-dimensional array where the first row contains column names
|
|
38
|
+
* and subsequent rows contain the sampled data values.
|
|
39
|
+
* @throws {Error} If the data type is not supported or data retrieval fails.
|
|
12
40
|
*/
|
|
13
|
-
export function getPerformanceData(this:
|
|
41
|
+
export declare function getPerformanceData(this: AndroidDriver, packageName: string, dataType: string, retries?: number): Promise<any[][]>;
|
|
14
42
|
/**
|
|
15
43
|
* Retrieves performance data about the given Android subsystem.
|
|
16
44
|
* The data is parsed from the output of the dumpsys utility.
|
|
@@ -29,25 +57,42 @@ export function getPerformanceData(this: import("../driver").AndroidDriver, pack
|
|
|
29
57
|
* [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600], [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
|
|
30
58
|
* [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]]
|
|
31
59
|
* - cpuinfo: [[user, kernel], [0.9, 1.3]]
|
|
32
|
-
*
|
|
33
|
-
* @this {AndroidDriver}
|
|
34
|
-
* @param {string} packageName The name of the package identifier to fetch the data for
|
|
35
|
-
* @param {import('./types').PerformanceDataType} dataType One of supported subsystem to fetch the data for.
|
|
36
|
-
* @returns {Promise<any[][]>}
|
|
37
60
|
*/
|
|
38
|
-
export function mobileGetPerformanceData(this:
|
|
61
|
+
export declare function mobileGetPerformanceData(this: AndroidDriver, packageName: string, dataType: PerformanceDataType): Promise<any[][]>;
|
|
39
62
|
/**
|
|
63
|
+
* Retrieves memory information for the specified application package.
|
|
64
|
+
*
|
|
65
|
+
* The data is parsed from the output of `dumpsys meminfo` command.
|
|
66
|
+
* The output format varies depending on the Android API level:
|
|
67
|
+
* - API 18-29: Contains PSS, private dirty, and heap information
|
|
68
|
+
* - API 30+: Additionally includes RSS information
|
|
40
69
|
*
|
|
41
|
-
* @
|
|
42
|
-
* @param
|
|
43
|
-
* @
|
|
70
|
+
* @param packageName The package name of the application to get memory information for.
|
|
71
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
72
|
+
* @returns A two-dimensional array where the first row contains memory metric names
|
|
73
|
+
* (totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty,
|
|
74
|
+
* glPrivateDirty, totalPss, nativePss, dalvikPss, eglPss, glPss,
|
|
75
|
+
* nativeHeapAllocatedSize, nativeHeapSize, nativeRss, dalvikRss, totalRss)
|
|
76
|
+
* and the second row contains the corresponding values.
|
|
77
|
+
* @throws {Error} If memory data cannot be retrieved or parsed.
|
|
44
78
|
*/
|
|
45
|
-
export function getMemoryInfo(this:
|
|
79
|
+
export declare function getMemoryInfo(this: AndroidDriver, packageName: string, retries?: number): Promise<any[][]>;
|
|
46
80
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
81
|
+
* Retrieves network traffic statistics from the device.
|
|
82
|
+
*
|
|
83
|
+
* The data is parsed from the output of `dumpsys netstats` command.
|
|
84
|
+
* The output format differs between emulators and real devices:
|
|
85
|
+
* - Emulators: Uses full key names (bucketStart, activeTime, rxBytes, etc.)
|
|
86
|
+
* - Real devices (Android 7.1+): Uses abbreviated keys (st, rb, rp, tb, tp, op)
|
|
87
|
+
*
|
|
88
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
89
|
+
* @returns A two-dimensional array where the first row contains network metric names
|
|
90
|
+
* (bucketStart/st, activeTime, rxBytes/rb, rxPackets/rp, txBytes/tb, txPackets/tp,
|
|
91
|
+
* operations/op, bucketDuration) and subsequent rows contain the sampled data
|
|
92
|
+
* for each time bucket.
|
|
93
|
+
* @throws {Error} If network traffic data cannot be retrieved or parsed.
|
|
49
94
|
*/
|
|
50
|
-
export function getNetworkTrafficInfo(this:
|
|
95
|
+
export declare function getNetworkTrafficInfo(this: AndroidDriver, retries?: number): Promise<any[][]>;
|
|
51
96
|
/**
|
|
52
97
|
* Return the CPU information related to the given packageName.
|
|
53
98
|
* It raises an exception if the dumped CPU information did not include the given packageName
|
|
@@ -58,39 +103,23 @@ export function getNetworkTrafficInfo(this: import("../driver").AndroidDriver, r
|
|
|
58
103
|
* from 2023-02-07 12:04:40.556 to 2023-02-07 12:09:40.668. No process information
|
|
59
104
|
* exists in the result if the process was not running during the period.
|
|
60
105
|
*
|
|
61
|
-
* @
|
|
62
|
-
* @param
|
|
63
|
-
* @
|
|
64
|
-
* @returns {Promise<[typeof CPU_KEYS, [user: string, kernel: string]]>} The array of the parsed CPU upsage percentages.
|
|
106
|
+
* @param packageName The package name to get the CPU information.
|
|
107
|
+
* @param retries The number of retry count.
|
|
108
|
+
* @returns The array of the parsed CPU upsage percentages.
|
|
65
109
|
* e.g. ['cpuinfo', ['14.3', '28.2']]
|
|
66
110
|
* '14.3' is usage by the user (%), '28.2' is usage by the kernel (%)
|
|
67
111
|
* @throws {Error} If it failed to parse the result of dumpsys, or no package name exists.
|
|
68
112
|
*/
|
|
69
|
-
export function getCPUInfo(this:
|
|
113
|
+
export declare function getCPUInfo(this: AndroidDriver, packageName: string, retries?: number): Promise<[typeof CPU_KEYS, [user: string, kernel: string]]>;
|
|
70
114
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
115
|
+
* Retrieves battery level information from the device.
|
|
116
|
+
*
|
|
117
|
+
* The data is parsed from the output of `dumpsys battery` command.
|
|
118
|
+
*
|
|
119
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
120
|
+
* @returns A two-dimensional array where the first row contains the metric name ['power']
|
|
121
|
+
* and the second row contains the battery level as a string (0-100).
|
|
122
|
+
* @throws {Error} If battery data cannot be retrieved or parsed.
|
|
73
123
|
*/
|
|
74
|
-
export function getBatteryInfo(this:
|
|
75
|
-
export const NETWORK_KEYS: string[][];
|
|
76
|
-
export const CPU_KEYS: readonly ["user", "kernel"];
|
|
77
|
-
export const BATTERY_KEYS: string[];
|
|
78
|
-
export const MEMORY_KEYS: string[];
|
|
79
|
-
export const SUPPORTED_PERFORMANCE_DATA_TYPES: Readonly<{
|
|
80
|
-
cpuinfo: "the amount of cpu by user and kernel process - cpu information for applications on real devices and simulators";
|
|
81
|
-
memoryinfo: "the amount of memory used by the process - memory information for applications on real devices and simulators";
|
|
82
|
-
batteryinfo: "the remaining battery power - battery power information for applications on real devices and simulators";
|
|
83
|
-
networkinfo: "the network statistics - network rx/tx information for applications on real devices and simulators";
|
|
84
|
-
}>;
|
|
85
|
-
export const MEMINFO_TITLES: Readonly<{
|
|
86
|
-
NATIVE: "Native";
|
|
87
|
-
DALVIK: "Dalvik";
|
|
88
|
-
EGL: "EGL";
|
|
89
|
-
GL: "GL";
|
|
90
|
-
MTRACK: "mtrack";
|
|
91
|
-
TOTAL: "TOTAL";
|
|
92
|
-
HEAP: "Heap";
|
|
93
|
-
}>;
|
|
94
|
-
export type AndroidDriver = import("../driver").AndroidDriver;
|
|
95
|
-
export type ADB = import("appium-adb").ADB;
|
|
124
|
+
export declare function getBatteryInfo(this: AndroidDriver, retries?: number): Promise<any[][]>;
|
|
96
125
|
//# sourceMappingURL=performance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../lib/commands/performance.
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../lib/commands/performance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAEjD,eAAO,MAAM,YAAY,kNAYf,CAAC;AAEX,eAAO,MAAM,QAAQ,6BAA8B,CAAC;AACpD,eAAO,MAAM,YAAY,oBAAqB,CAAC;AAC/C,eAAO,MAAM,WAAW,6PAgBd,CAAC;AAEX,eAAO,MAAM,gCAAgC;;;;;EASlC,CAAC;AAEZ,eAAO,MAAM,cAAc;;;;;;;;EAQhB,CAAC;AAIZ;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAEhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAoBlB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAElB;AAwED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAkClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAyKlB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,CAAC,OAAO,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAqC5D;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,MAAU,GAClB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAclB"}
|
|
@@ -11,7 +11,6 @@ exports.getMemoryInfo = getMemoryInfo;
|
|
|
11
11
|
exports.getNetworkTrafficInfo = getNetworkTrafficInfo;
|
|
12
12
|
exports.getCPUInfo = getCPUInfo;
|
|
13
13
|
exports.getBatteryInfo = getBatteryInfo;
|
|
14
|
-
// @ts-check
|
|
15
14
|
const asyncbox_1 = require("asyncbox");
|
|
16
15
|
const lodash_1 = __importDefault(require("lodash"));
|
|
17
16
|
exports.NETWORK_KEYS = [
|
|
@@ -27,7 +26,7 @@ exports.NETWORK_KEYS = [
|
|
|
27
26
|
],
|
|
28
27
|
['st', 'activeTime', 'rb', 'rp', 'tb', 'tp', 'op', 'bucketDuration'],
|
|
29
28
|
];
|
|
30
|
-
exports.CPU_KEYS =
|
|
29
|
+
exports.CPU_KEYS = ['user', 'kernel'];
|
|
31
30
|
exports.BATTERY_KEYS = ['power'];
|
|
32
31
|
exports.MEMORY_KEYS = [
|
|
33
32
|
'totalPrivateDirty',
|
|
@@ -63,39 +62,40 @@ exports.MEMINFO_TITLES = Object.freeze({
|
|
|
63
62
|
});
|
|
64
63
|
const RETRY_PAUSE_MS = 1000;
|
|
65
64
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
65
|
+
* Retrieves the list of available performance data types.
|
|
66
|
+
*
|
|
67
|
+
* @returns An array of supported performance data type names.
|
|
68
|
+
* The possible values are: 'cpuinfo', 'memoryinfo', 'batteryinfo', 'networkinfo'.
|
|
68
69
|
*/
|
|
69
70
|
async function getPerformanceDataTypes() {
|
|
70
|
-
return
|
|
71
|
+
return lodash_1.default.keys(exports.SUPPORTED_PERFORMANCE_DATA_TYPES);
|
|
71
72
|
}
|
|
72
73
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* @param
|
|
76
|
-
*
|
|
77
|
-
* @
|
|
74
|
+
* Retrieves performance data for the specified data type.
|
|
75
|
+
*
|
|
76
|
+
* @param packageName The package name of the application to get performance data for.
|
|
77
|
+
* Required for 'cpuinfo' and 'memoryinfo' data types.
|
|
78
|
+
* @param dataType The type of performance data to retrieve.
|
|
79
|
+
* Must be one of values returned by {@link getPerformanceDataTypes}.
|
|
80
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
81
|
+
* @returns A two-dimensional array where the first row contains column names
|
|
82
|
+
* and subsequent rows contain the sampled data values.
|
|
83
|
+
* @throws {Error} If the data type is not supported or data retrieval fails.
|
|
78
84
|
*/
|
|
79
85
|
async function getPerformanceData(packageName, dataType, retries = 2) {
|
|
80
|
-
let result;
|
|
81
86
|
switch (lodash_1.default.toLower(dataType)) {
|
|
82
87
|
case 'batteryinfo':
|
|
83
|
-
|
|
84
|
-
break;
|
|
88
|
+
return await getBatteryInfo.call(this, retries);
|
|
85
89
|
case 'cpuinfo':
|
|
86
|
-
|
|
87
|
-
break;
|
|
90
|
+
return await getCPUInfo.call(this, packageName, retries);
|
|
88
91
|
case 'memoryinfo':
|
|
89
|
-
|
|
90
|
-
break;
|
|
92
|
+
return await getMemoryInfo.call(this, packageName, retries);
|
|
91
93
|
case 'networkinfo':
|
|
92
|
-
|
|
93
|
-
break;
|
|
94
|
+
return await getNetworkTrafficInfo.call(this, retries);
|
|
94
95
|
default:
|
|
95
96
|
throw new Error(`No performance data of type '${dataType}' found. ` +
|
|
96
97
|
`Only the following values are supported: ${JSON.stringify(exports.SUPPORTED_PERFORMANCE_DATA_TYPES, [' '], 2)}`);
|
|
97
98
|
}
|
|
98
|
-
return /** @type {any[][]} */ (result);
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* Retrieves performance data about the given Android subsystem.
|
|
@@ -115,11 +115,6 @@ async function getPerformanceData(packageName, dataType, retries = 2) {
|
|
|
115
115
|
* [1478091600, null, null, 2714683, 11821, 1420564, 12650, 0, 3600], [1478095200, null, null, 10079213, 19962, 2487705, 20015, 0, 3600],
|
|
116
116
|
* [1478098800, null, null, 4444433, 10227, 1430356, 10493, 0, 3600]]
|
|
117
117
|
* - cpuinfo: [[user, kernel], [0.9, 1.3]]
|
|
118
|
-
*
|
|
119
|
-
* @this {AndroidDriver}
|
|
120
|
-
* @param {string} packageName The name of the package identifier to fetch the data for
|
|
121
|
-
* @param {import('./types').PerformanceDataType} dataType One of supported subsystem to fetch the data for.
|
|
122
|
-
* @returns {Promise<any[][]>}
|
|
123
118
|
*/
|
|
124
119
|
async function mobileGetPerformanceData(packageName, dataType) {
|
|
125
120
|
return await this.getPerformanceData(packageName, dataType);
|
|
@@ -194,13 +189,24 @@ function parseMeminfoForApiAbove29(entries, valDict) {
|
|
|
194
189
|
}
|
|
195
190
|
}
|
|
196
191
|
/**
|
|
192
|
+
* Retrieves memory information for the specified application package.
|
|
197
193
|
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
194
|
+
* The data is parsed from the output of `dumpsys meminfo` command.
|
|
195
|
+
* The output format varies depending on the Android API level:
|
|
196
|
+
* - API 18-29: Contains PSS, private dirty, and heap information
|
|
197
|
+
* - API 30+: Additionally includes RSS information
|
|
198
|
+
*
|
|
199
|
+
* @param packageName The package name of the application to get memory information for.
|
|
200
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
201
|
+
* @returns A two-dimensional array where the first row contains memory metric names
|
|
202
|
+
* (totalPrivateDirty, nativePrivateDirty, dalvikPrivateDirty, eglPrivateDirty,
|
|
203
|
+
* glPrivateDirty, totalPss, nativePss, dalvikPss, eglPss, glPss,
|
|
204
|
+
* nativeHeapAllocatedSize, nativeHeapSize, nativeRss, dalvikRss, totalRss)
|
|
205
|
+
* and the second row contains the corresponding values.
|
|
206
|
+
* @throws {Error} If memory data cannot be retrieved or parsed.
|
|
201
207
|
*/
|
|
202
208
|
async function getMemoryInfo(packageName, retries = 2) {
|
|
203
|
-
return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
209
|
+
return (await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
204
210
|
const cmd = [
|
|
205
211
|
'dumpsys',
|
|
206
212
|
'meminfo',
|
|
@@ -232,17 +238,35 @@ async function getMemoryInfo(packageName, retries = 2) {
|
|
|
232
238
|
return [headers, values];
|
|
233
239
|
}
|
|
234
240
|
throw new Error(`Unable to parse memory data: '${data}'`);
|
|
235
|
-
});
|
|
241
|
+
}));
|
|
236
242
|
}
|
|
237
243
|
/**
|
|
238
|
-
*
|
|
239
|
-
*
|
|
244
|
+
* Retrieves network traffic statistics from the device.
|
|
245
|
+
*
|
|
246
|
+
* The data is parsed from the output of `dumpsys netstats` command.
|
|
247
|
+
* The output format differs between emulators and real devices:
|
|
248
|
+
* - Emulators: Uses full key names (bucketStart, activeTime, rxBytes, etc.)
|
|
249
|
+
* - Real devices (Android 7.1+): Uses abbreviated keys (st, rb, rp, tb, tp, op)
|
|
250
|
+
*
|
|
251
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
252
|
+
* @returns A two-dimensional array where the first row contains network metric names
|
|
253
|
+
* (bucketStart/st, activeTime, rxBytes/rb, rxPackets/rp, txBytes/tb, txPackets/tp,
|
|
254
|
+
* operations/op, bucketDuration) and subsequent rows contain the sampled data
|
|
255
|
+
* for each time bucket.
|
|
256
|
+
* @throws {Error} If network traffic data cannot be retrieved or parsed.
|
|
240
257
|
*/
|
|
241
258
|
async function getNetworkTrafficInfo(retries = 2) {
|
|
242
|
-
return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
243
|
-
|
|
244
|
-
let bucketDuration
|
|
245
|
-
let
|
|
259
|
+
return (await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
260
|
+
const returnValue = [];
|
|
261
|
+
let bucketDuration;
|
|
262
|
+
let bucketStart;
|
|
263
|
+
let activeTime;
|
|
264
|
+
let rxBytes;
|
|
265
|
+
let rxPackets;
|
|
266
|
+
let txBytes;
|
|
267
|
+
let txPackets;
|
|
268
|
+
let operations;
|
|
269
|
+
const cmd = ['dumpsys', 'netstats'];
|
|
246
270
|
let data = await this.adb.shell(cmd);
|
|
247
271
|
if (!data)
|
|
248
272
|
throw new Error('No data from dumpsys'); //eslint-disable-line curly
|
|
@@ -277,11 +301,11 @@ async function getNetworkTrafficInfo(retries = 2) {
|
|
|
277
301
|
// st=1478095200 rb=10079213 rp=19962 tb=2487705 tp=20015 op=0
|
|
278
302
|
// st=1478098800 rb=4444433 rp=10227 tb=1430356 tp=10493 op=0
|
|
279
303
|
let index = 0;
|
|
280
|
-
|
|
304
|
+
const fromXtstats = data.indexOf('Xt stats:');
|
|
281
305
|
let start = data.indexOf('Pending bytes:', fromXtstats);
|
|
282
306
|
let delimiter = data.indexOf(':', start + 1);
|
|
283
307
|
let end = data.indexOf('\n', delimiter + 1);
|
|
284
|
-
|
|
308
|
+
const pendingBytes = data.substring(delimiter + 1, end).trim();
|
|
285
309
|
if (end > delimiter) {
|
|
286
310
|
start = data.indexOf('bucketDuration', end + 1);
|
|
287
311
|
delimiter = data.indexOf('=', start + 1);
|
|
@@ -290,14 +314,14 @@ async function getNetworkTrafficInfo(retries = 2) {
|
|
|
290
314
|
}
|
|
291
315
|
if (start >= 0) {
|
|
292
316
|
data = data.substring(end + 1, data.length);
|
|
293
|
-
|
|
317
|
+
const arrayList = data.split('\n');
|
|
294
318
|
if (arrayList.length > 0) {
|
|
295
319
|
start = -1;
|
|
296
320
|
for (let j = 0; j < exports.NETWORK_KEYS.length; ++j) {
|
|
297
321
|
start = arrayList[0].indexOf(exports.NETWORK_KEYS[j][0]);
|
|
298
322
|
if (start >= 0) {
|
|
299
323
|
index = j;
|
|
300
|
-
returnValue[0] =
|
|
324
|
+
returnValue[0] = [];
|
|
301
325
|
for (let k = 0; k < exports.NETWORK_KEYS[j].length; ++k) {
|
|
302
326
|
returnValue[0][k] = exports.NETWORK_KEYS[j][k];
|
|
303
327
|
}
|
|
@@ -305,58 +329,58 @@ async function getNetworkTrafficInfo(retries = 2) {
|
|
|
305
329
|
}
|
|
306
330
|
}
|
|
307
331
|
let returnIndex = 1;
|
|
308
|
-
for (const
|
|
309
|
-
start =
|
|
332
|
+
for (const dataLine of arrayList) {
|
|
333
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][0]);
|
|
310
334
|
if (start >= 0) {
|
|
311
|
-
delimiter =
|
|
312
|
-
end =
|
|
313
|
-
bucketStart =
|
|
335
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
336
|
+
end = dataLine.indexOf(' ', delimiter + 1);
|
|
337
|
+
bucketStart = dataLine.substring(delimiter + 1, end).trim();
|
|
314
338
|
if (end > delimiter) {
|
|
315
|
-
start =
|
|
339
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][1], end + 1);
|
|
316
340
|
if (start >= 0) {
|
|
317
|
-
delimiter =
|
|
318
|
-
end =
|
|
319
|
-
activeTime =
|
|
341
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
342
|
+
end = dataLine.indexOf(' ', delimiter + 1);
|
|
343
|
+
activeTime = dataLine.substring(delimiter + 1, end).trim();
|
|
320
344
|
}
|
|
321
345
|
}
|
|
322
346
|
if (end > delimiter) {
|
|
323
|
-
start =
|
|
347
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][2], end + 1);
|
|
324
348
|
if (start >= 0) {
|
|
325
|
-
delimiter =
|
|
326
|
-
end =
|
|
327
|
-
rxBytes =
|
|
349
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
350
|
+
end = dataLine.indexOf(' ', delimiter + 1);
|
|
351
|
+
rxBytes = dataLine.substring(delimiter + 1, end).trim();
|
|
328
352
|
}
|
|
329
353
|
}
|
|
330
354
|
if (end > delimiter) {
|
|
331
|
-
start =
|
|
355
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][3], end + 1);
|
|
332
356
|
if (start >= 0) {
|
|
333
|
-
delimiter =
|
|
334
|
-
end =
|
|
335
|
-
rxPackets =
|
|
357
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
358
|
+
end = dataLine.indexOf(' ', delimiter + 1);
|
|
359
|
+
rxPackets = dataLine.substring(delimiter + 1, end).trim();
|
|
336
360
|
}
|
|
337
361
|
}
|
|
338
362
|
if (end > delimiter) {
|
|
339
|
-
start =
|
|
363
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][4], end + 1);
|
|
340
364
|
if (start >= 0) {
|
|
341
|
-
delimiter =
|
|
342
|
-
end =
|
|
343
|
-
txBytes =
|
|
365
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
366
|
+
end = dataLine.indexOf(' ', delimiter + 1);
|
|
367
|
+
txBytes = dataLine.substring(delimiter + 1, end).trim();
|
|
344
368
|
}
|
|
345
369
|
}
|
|
346
370
|
if (end > delimiter) {
|
|
347
|
-
start =
|
|
371
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][5], end + 1);
|
|
348
372
|
if (start >= 0) {
|
|
349
|
-
delimiter =
|
|
350
|
-
end =
|
|
351
|
-
txPackets =
|
|
373
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
374
|
+
end = dataLine.indexOf(' ', delimiter + 1);
|
|
375
|
+
txPackets = dataLine.substring(delimiter + 1, end).trim();
|
|
352
376
|
}
|
|
353
377
|
}
|
|
354
378
|
if (end > delimiter) {
|
|
355
|
-
start =
|
|
379
|
+
start = dataLine.indexOf(exports.NETWORK_KEYS[index][6], end + 1);
|
|
356
380
|
if (start >= 0) {
|
|
357
|
-
delimiter =
|
|
358
|
-
end =
|
|
359
|
-
operations =
|
|
381
|
+
delimiter = dataLine.indexOf('=', start + 1);
|
|
382
|
+
end = dataLine.length;
|
|
383
|
+
operations = dataLine.substring(delimiter + 1, end).trim();
|
|
360
384
|
}
|
|
361
385
|
}
|
|
362
386
|
returnValue[returnIndex++] = [
|
|
@@ -381,7 +405,7 @@ async function getNetworkTrafficInfo(retries = 2) {
|
|
|
381
405
|
else {
|
|
382
406
|
throw new Error(`Unable to parse network traffic data: '${data}'`);
|
|
383
407
|
}
|
|
384
|
-
});
|
|
408
|
+
}));
|
|
385
409
|
}
|
|
386
410
|
/**
|
|
387
411
|
* Return the CPU information related to the given packageName.
|
|
@@ -393,10 +417,9 @@ async function getNetworkTrafficInfo(retries = 2) {
|
|
|
393
417
|
* from 2023-02-07 12:04:40.556 to 2023-02-07 12:09:40.668. No process information
|
|
394
418
|
* exists in the result if the process was not running during the period.
|
|
395
419
|
*
|
|
396
|
-
* @
|
|
397
|
-
* @param
|
|
398
|
-
* @
|
|
399
|
-
* @returns {Promise<[typeof CPU_KEYS, [user: string, kernel: string]]>} The array of the parsed CPU upsage percentages.
|
|
420
|
+
* @param packageName The package name to get the CPU information.
|
|
421
|
+
* @param retries The number of retry count.
|
|
422
|
+
* @returns The array of the parsed CPU upsage percentages.
|
|
400
423
|
* e.g. ['cpuinfo', ['14.3', '28.2']]
|
|
401
424
|
* '14.3' is usage by the user (%), '28.2' is usage by the kernel (%)
|
|
402
425
|
* @throws {Error} If it failed to parse the result of dumpsys, or no package name exists.
|
|
@@ -410,13 +433,12 @@ async function getCPUInfo(packageName, retries = 2) {
|
|
|
410
433
|
// @ts-expect-error retryInterval says it can return `null`, but it doesn't look like it actually can.
|
|
411
434
|
// FIXME: fix this in asyncbox
|
|
412
435
|
return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
413
|
-
/** @type {string} */
|
|
414
436
|
let output;
|
|
415
437
|
try {
|
|
416
438
|
output = await this.adb.shell(['dumpsys', 'cpuinfo']);
|
|
417
439
|
}
|
|
418
440
|
catch (e) {
|
|
419
|
-
const err =
|
|
441
|
+
const err = e;
|
|
420
442
|
if (err.stderr) {
|
|
421
443
|
this.log.info(err.stderr);
|
|
422
444
|
}
|
|
@@ -430,33 +452,35 @@ async function getCPUInfo(packageName, retries = 2) {
|
|
|
430
452
|
this.log.debug(output);
|
|
431
453
|
throw new Error(`Unable to parse cpu usage data for '${packageName}'. Check the server log for more details`);
|
|
432
454
|
}
|
|
433
|
-
const user =
|
|
434
|
-
const kernel =
|
|
455
|
+
const user = match[1];
|
|
456
|
+
const kernel = match[2];
|
|
435
457
|
return [exports.CPU_KEYS, [user, kernel]];
|
|
436
458
|
});
|
|
437
459
|
}
|
|
438
460
|
/**
|
|
439
|
-
*
|
|
440
|
-
*
|
|
461
|
+
* Retrieves battery level information from the device.
|
|
462
|
+
*
|
|
463
|
+
* The data is parsed from the output of `dumpsys battery` command.
|
|
464
|
+
*
|
|
465
|
+
* @param retries The number of retry attempts if data retrieval fails.
|
|
466
|
+
* @returns A two-dimensional array where the first row contains the metric name ['power']
|
|
467
|
+
* and the second row contains the battery level as a string (0-100).
|
|
468
|
+
* @throws {Error} If battery data cannot be retrieved or parsed.
|
|
441
469
|
*/
|
|
442
470
|
async function getBatteryInfo(retries = 2) {
|
|
443
|
-
return await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
444
|
-
|
|
445
|
-
|
|
471
|
+
return (await (0, asyncbox_1.retryInterval)(retries, RETRY_PAUSE_MS, async () => {
|
|
472
|
+
const cmd = ['dumpsys', 'battery', '|', 'grep', 'level'];
|
|
473
|
+
const data = await this.adb.shell(cmd);
|
|
446
474
|
if (!data)
|
|
447
475
|
throw new Error('No data from dumpsys'); //eslint-disable-line curly
|
|
448
|
-
|
|
476
|
+
const power = parseInt((data.split(':')[1] || '').trim(), 10);
|
|
449
477
|
if (!Number.isNaN(power)) {
|
|
450
478
|
return [lodash_1.default.clone(exports.BATTERY_KEYS), [power.toString()]];
|
|
451
479
|
}
|
|
452
480
|
else {
|
|
453
481
|
throw new Error(`Unable to parse battery data: '${data}'`);
|
|
454
482
|
}
|
|
455
|
-
});
|
|
483
|
+
}));
|
|
456
484
|
}
|
|
457
485
|
// #endregion
|
|
458
|
-
/**
|
|
459
|
-
* @typedef {import('../driver').AndroidDriver} AndroidDriver
|
|
460
|
-
* @typedef {import('appium-adb').ADB} ADB
|
|
461
|
-
*/
|
|
462
486
|
//# 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.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Executes a shell command on the device via ADB.
|
|
3
|
+
*
|
|
4
|
+
* This method runs an arbitrary shell command on the Android device and returns
|
|
5
|
+
* the output. The command is executed using `adb shell` with the specified
|
|
6
|
+
* command and arguments.
|
|
7
|
+
*
|
|
8
|
+
* Requirements:
|
|
9
|
+
* - The adb_shell feature must be enabled
|
|
10
|
+
*
|
|
11
|
+
* @param command The shell command to execute (e.g., 'pm', 'dumpsys', 'getprop').
|
|
12
|
+
* @param args Optional array of command arguments.
|
|
13
|
+
* @param timeout The maximum time in milliseconds to wait for command execution.
|
|
14
|
+
* Defaults to 20000ms (20 seconds).
|
|
15
|
+
* @param includeStderr If `true`, returns both stdout and stderr in an object.
|
|
16
|
+
* If `false` or undefined, returns only stdout as a string.
|
|
17
|
+
* @returns If `includeStderr` is `true`, returns `{ stdout: string, stderr: string }`.
|
|
18
|
+
* Otherwise, returns the command output as a string.
|
|
19
|
+
* @throws {errors.InvalidArgumentError} If `command` is not a string.
|
|
20
|
+
* @throws {Error} If the command execution fails or times out.
|
|
21
|
+
*/
|
|
1
22
|
export declare function mobileShell<T extends boolean>(command: string, args?: string[], timeout?: number, includeStderr?: T): Promise<T extends true ? {
|
|
2
23
|
stdout: string;
|
|
3
24
|
stderr: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../lib/commands/shell.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,EACjD,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,MAAc,EACvB,aAAa,CAAC,EAAE,CAAC,GAChB,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE,GAAG,MAAM,CAAC,CA4BxE"}
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../lib/commands/shell.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,EACjD,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,MAAc,EACvB,aAAa,CAAC,EAAE,CAAC,GAChB,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE,GAAG,MAAM,CAAC,CA4BxE"}
|