@limrun/appium-xcuitest-driver 10.10.1-lim.8 → 10.11.0-lim.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.
- package/CHANGELOG.md +6 -0
- package/build/lib/app-infos-cache.d.ts +29 -31
- package/build/lib/app-infos-cache.d.ts.map +1 -1
- package/build/lib/app-infos-cache.js +29 -33
- package/build/lib/app-infos-cache.js.map +1 -1
- package/build/lib/app-utils.d.ts +30 -59
- package/build/lib/app-utils.d.ts.map +1 -1
- package/build/lib/app-utils.js +158 -211
- package/build/lib/app-utils.js.map +1 -1
- package/build/lib/commands/battery.d.ts.map +1 -1
- package/build/lib/commands/battery.js +4 -8
- package/build/lib/commands/battery.js.map +1 -1
- package/build/lib/commands/biometric.d.ts.map +1 -1
- package/build/lib/commands/biometric.js +1 -5
- package/build/lib/commands/biometric.js.map +1 -1
- package/build/lib/commands/condition.js +4 -4
- package/build/lib/commands/condition.js.map +1 -1
- package/build/lib/commands/content-size.js +1 -1
- package/build/lib/commands/content-size.js.map +1 -1
- package/build/lib/commands/context.d.ts.map +1 -1
- package/build/lib/commands/context.js +2 -0
- package/build/lib/commands/context.js.map +1 -1
- package/build/lib/commands/find.js +2 -2
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/increase-contrast.js +1 -1
- package/build/lib/commands/increase-contrast.js.map +1 -1
- package/build/lib/commands/keychains.d.ts.map +1 -1
- package/build/lib/commands/keychains.js +1 -5
- package/build/lib/commands/keychains.js.map +1 -1
- package/build/lib/commands/localization.d.ts.map +1 -1
- package/build/lib/commands/localization.js +1 -5
- package/build/lib/commands/localization.js.map +1 -1
- package/build/lib/commands/pasteboard.d.ts.map +1 -1
- package/build/lib/commands/pasteboard.js +10 -8
- package/build/lib/commands/pasteboard.js.map +1 -1
- package/build/lib/commands/permissions.js +1 -1
- package/build/lib/commands/permissions.js.map +1 -1
- package/build/lib/commands/simctl.d.ts +2 -2
- package/build/lib/commands/simctl.d.ts.map +1 -1
- package/build/lib/commands/simctl.js +2 -2
- package/build/lib/css-converter.d.ts +3 -9
- package/build/lib/css-converter.d.ts.map +1 -1
- package/build/lib/css-converter.js +41 -52
- package/build/lib/css-converter.js.map +1 -1
- package/build/lib/device/log/ios-simulator-log.js +8 -8
- package/build/lib/device/log/ios-simulator-log.js.map +1 -1
- package/build/lib/device/real-device-management.js +14 -14
- package/build/lib/device/real-device-management.js.map +1 -1
- package/build/lib/device/simulator-management.d.ts.map +1 -1
- package/build/lib/device/simulator-management.js +8 -4
- package/build/lib/device/simulator-management.js.map +1 -1
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +3 -3
- package/build/lib/driver.js.map +1 -1
- package/build/lib/logger.d.ts +1 -2
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +2 -2
- package/build/lib/logger.js.map +1 -1
- package/build/lib/utils.d.ts +76 -134
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +80 -141
- package/build/lib/utils.js.map +1 -1
- package/lib/{app-infos-cache.js → app-infos-cache.ts} +44 -46
- package/lib/{app-utils.js → app-utils.ts} +215 -245
- package/lib/commands/battery.js +3 -4
- package/lib/commands/biometric.js +1 -2
- package/lib/commands/condition.js +1 -1
- package/lib/commands/content-size.js +1 -1
- package/lib/commands/context.js +2 -0
- package/lib/commands/find.js +1 -1
- package/lib/commands/increase-contrast.js +1 -1
- package/lib/commands/keychains.js +1 -2
- package/lib/commands/localization.js +1 -2
- package/lib/commands/pasteboard.js +9 -8
- package/lib/commands/permissions.js +1 -1
- package/lib/commands/simctl.js +2 -2
- package/lib/{css-converter.js → css-converter.ts} +75 -88
- package/lib/device/log/ios-simulator-log.ts +8 -8
- package/lib/device/real-device-management.ts +1 -1
- package/lib/device/simulator-management.ts +9 -4
- package/lib/driver.ts +6 -4
- package/lib/logger.ts +3 -0
- package/lib/{utils.js → utils.ts} +102 -139
- package/package.json +4 -4
- package/lib/logger.js +0 -5
package/build/lib/utils.d.ts
CHANGED
|
@@ -1,133 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
export function assertSimulator(action: string, driver: import("./driver").XCUITestDriver): Simulator;
|
|
18
|
-
/**
|
|
19
|
-
* Check if platform name is the TV OS one.
|
|
20
|
-
*
|
|
21
|
-
* @param {string|null|undefined} platformName
|
|
22
|
-
* @returns {boolean}
|
|
23
|
-
*/
|
|
24
|
-
export function isTvOs(platformName: string | null | undefined): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Return normalized platform name.
|
|
27
|
-
*
|
|
28
|
-
* @param {string|null|undefined} platformName
|
|
29
|
-
* @returns {string}
|
|
30
|
-
*/
|
|
31
|
-
export function normalizePlatformName(platformName: string | null | undefined): string;
|
|
32
|
-
/**
|
|
33
|
-
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
34
|
-
* @returns {boolean}
|
|
35
|
-
*/
|
|
36
|
-
export function shouldSetInitialSafariUrl(opts: import("./driver").XCUITestDriverOpts): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
39
|
-
* @returns {boolean}
|
|
40
|
-
*/
|
|
41
|
-
export function isIos17OrNewer(opts: import("./driver").XCUITestDriverOpts): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* @param {import('./driver').XCUITestDriverOpts} opts
|
|
44
|
-
* @returns {boolean}
|
|
45
|
-
*/
|
|
46
|
-
export function isIos18OrNewer(opts: import("./driver").XCUITestDriverOpts): boolean;
|
|
47
|
-
export const UDID_AUTO: "auto";
|
|
48
|
-
export const NATIVE_WIN: "NATIVE_APP";
|
|
49
|
-
export type UploadOptions = {
|
|
50
|
-
/**
|
|
51
|
-
* - The name of the user for the remote authentication. Only works if `remotePath` is provided.
|
|
52
|
-
*/
|
|
53
|
-
user?: string | undefined;
|
|
54
|
-
/**
|
|
55
|
-
* - The password for the remote authentication. Only works if `remotePath` is provided.
|
|
56
|
-
*/
|
|
57
|
-
pass?: string | undefined;
|
|
58
|
-
/**
|
|
59
|
-
* - The http multipart upload method name. The 'PUT' one is used by default.
|
|
60
|
-
* Only works if `remotePath` is provided.
|
|
61
|
-
*/
|
|
62
|
-
method?: import("axios").Method | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* - Additional headers mapping for multipart http(s) uploads
|
|
65
|
-
*/
|
|
66
|
-
headers?: import("@appium/types").HTTPHeaders | undefined;
|
|
67
|
-
/**
|
|
68
|
-
* [file] - The name of the form field, where the file content BLOB should be stored for
|
|
69
|
-
* http(s) uploads
|
|
70
|
-
*/
|
|
71
|
-
fileFieldName?: string | undefined;
|
|
72
|
-
/**
|
|
73
|
-
* - Additional form fields for multipart http(s) uploads
|
|
74
|
-
*/
|
|
75
|
-
formFields?: [string, any][] | Record<string, any> | undefined;
|
|
76
|
-
};
|
|
77
|
-
export type DriverInfo = {
|
|
78
|
-
/**
|
|
79
|
-
* Driver version string
|
|
80
|
-
*/
|
|
81
|
-
version: string;
|
|
82
|
-
/**
|
|
83
|
-
* Driver build timestamp
|
|
84
|
-
*/
|
|
85
|
-
built: string;
|
|
86
|
-
};
|
|
87
|
-
export type XcodeVersion = import("appium-xcode").XcodeVersion;
|
|
88
|
-
export type Simulator = import("appium-ios-simulator").Simulator;
|
|
89
|
-
export type XCUITestDriver = import("./driver").XCUITestDriver;
|
|
90
|
-
/**
|
|
91
|
-
* @privateRemarks Is the minimum version really Xcode 7.3?
|
|
92
|
-
* @returns {Promise<XcodeVersion>}
|
|
93
|
-
*/
|
|
94
|
-
export function getAndCheckXcodeVersion(): Promise<XcodeVersion>;
|
|
95
|
-
/**
|
|
96
|
-
* @returns {Promise<string|null>}
|
|
97
|
-
*/
|
|
98
|
-
export function getAndCheckIosSdkVersion(): Promise<string | null>;
|
|
99
|
-
export function checkAppPresent(app: any): Promise<void>;
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import type { XCUITestDriverOpts, XCUITestDriver } from './driver';
|
|
3
|
+
import type { XcodeVersion } from 'appium-xcode';
|
|
4
|
+
import type { Simulator } from 'appium-ios-simulator';
|
|
5
|
+
import type { HTTPHeaders } from '@appium/types';
|
|
6
|
+
import type { Method } from 'axios';
|
|
7
|
+
export declare const UDID_AUTO = "auto";
|
|
8
|
+
export declare const DEFAULT_TIMEOUT_KEY = "default";
|
|
9
|
+
export declare const NATIVE_WIN = "NATIVE_APP";
|
|
10
|
+
export declare function getAndCheckXcodeVersion(): Promise<XcodeVersion>;
|
|
11
|
+
export declare function getAndCheckIosSdkVersion(): Promise<string | null>;
|
|
12
|
+
export declare function clearLogs(locations: string[]): Promise<void>;
|
|
13
|
+
export declare function markSystemFilesForCleanup(wda: any): Promise<void>;
|
|
14
|
+
export declare function clearSystemFiles(wda: any): Promise<void>;
|
|
15
|
+
export declare function checkAppPresent(app: string): Promise<void>;
|
|
100
16
|
/**
|
|
101
17
|
* @typedef {Object} DriverInfo
|
|
102
18
|
* @property {string} version Driver version string
|
|
103
19
|
* @property {string} built Driver build timestamp
|
|
104
20
|
*/
|
|
21
|
+
export interface DriverInfo {
|
|
22
|
+
version: string;
|
|
23
|
+
built: string;
|
|
24
|
+
}
|
|
105
25
|
/**
|
|
106
|
-
* @returns
|
|
26
|
+
* @returns
|
|
107
27
|
*/
|
|
108
|
-
export const getDriverInfo: (() => Promise<
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}>) & _.MemoizedFunction;
|
|
112
|
-
export function clearSystemFiles(wda: any): Promise<void>;
|
|
113
|
-
export function normalizeCommandTimeouts(value: any): any;
|
|
114
|
-
export const DEFAULT_TIMEOUT_KEY: "default";
|
|
115
|
-
export function markSystemFilesForCleanup(wda: any): Promise<void>;
|
|
116
|
-
export function printUser(): Promise<void>;
|
|
28
|
+
export declare const getDriverInfo: (() => Promise<DriverInfo>) & _.MemoizedFunction;
|
|
29
|
+
export declare function normalizeCommandTimeouts(value: string | Record<string, number>): Record<string, number>;
|
|
30
|
+
export declare function printUser(): Promise<void>;
|
|
117
31
|
/**
|
|
118
32
|
* Get the IDs of processes listening on the particular system port.
|
|
119
33
|
* It is also possible to apply additional filtering based on the
|
|
120
34
|
* process command line.
|
|
121
35
|
*
|
|
122
|
-
* @param
|
|
123
|
-
* @param
|
|
36
|
+
* @param port - The port number.
|
|
37
|
+
* @param filteringFunc - Optional lambda function, which
|
|
124
38
|
* receives command line string of the particular process
|
|
125
39
|
* listening on given port, and is expected to return
|
|
126
40
|
* either true or false to include/exclude the corresponding PID
|
|
127
41
|
* from the resulting array.
|
|
128
|
-
* @returns
|
|
42
|
+
* @returns - the list of matched process ids.
|
|
129
43
|
*/
|
|
130
|
-
export function getPIDsListeningOnPort(port: string | number, filteringFunc?:
|
|
44
|
+
export declare function getPIDsListeningOnPort(port: string | number, filteringFunc?: ((cmdLine: string) => boolean | Promise<boolean>) | null): Promise<string[]>;
|
|
131
45
|
/**
|
|
132
46
|
* @typedef {Object} UploadOptions
|
|
133
47
|
*
|
|
@@ -140,45 +54,73 @@ export function getPIDsListeningOnPort(port: string | number, filteringFunc?: Fu
|
|
|
140
54
|
* http(s) uploads
|
|
141
55
|
* @property {Record<string, any> | [string, any][]} [formFields] - Additional form fields for multipart http(s) uploads
|
|
142
56
|
*/
|
|
57
|
+
export interface UploadOptions {
|
|
58
|
+
user?: string;
|
|
59
|
+
pass?: string;
|
|
60
|
+
method?: Method;
|
|
61
|
+
headers?: HTTPHeaders;
|
|
62
|
+
fileFieldName?: string;
|
|
63
|
+
formFields?: Record<string, any> | [string, any][];
|
|
64
|
+
}
|
|
143
65
|
/**
|
|
144
66
|
* Encodes the given local file to base64 and returns the resulting string
|
|
145
67
|
* or uploads it to a remote server using http/https or ftp protocols
|
|
146
68
|
* if `remotePath` is set
|
|
147
69
|
*
|
|
148
|
-
* @param
|
|
149
|
-
* @param
|
|
70
|
+
* @param localPath - The path to an existing local file
|
|
71
|
+
* @param remotePath - The path to the remote location, where
|
|
150
72
|
* this file should be uploaded
|
|
151
|
-
* @param
|
|
152
|
-
* @returns
|
|
73
|
+
* @param uploadOptions - Set of upload options
|
|
74
|
+
* @returns Either an empty string if the upload was successful or
|
|
153
75
|
* base64-encoded file representation if `remotePath` is falsy
|
|
154
76
|
*/
|
|
155
|
-
export function encodeBase64OrUpload(localPath: string, remotePath?: string | null, uploadOptions?: UploadOptions): Promise<string>;
|
|
77
|
+
export declare function encodeBase64OrUpload(localPath: string, remotePath?: string | null, uploadOptions?: UploadOptions): Promise<string>;
|
|
78
|
+
/**
|
|
79
|
+
* Stops and removes all web socket handlers that are listening
|
|
80
|
+
* in scope of the current session.
|
|
81
|
+
*
|
|
82
|
+
* @this {XCUITestDriver}
|
|
83
|
+
* @returns
|
|
84
|
+
*/
|
|
85
|
+
export declare function removeAllSessionWebSocketHandlers(this: XCUITestDriver): Promise<void>;
|
|
156
86
|
/**
|
|
157
87
|
* Returns true if the urlString is localhost
|
|
158
|
-
* @param
|
|
159
|
-
* @returns
|
|
88
|
+
* @param urlString
|
|
89
|
+
* @returns Return true if the urlString is localhost
|
|
160
90
|
*/
|
|
161
|
-
export function isLocalHost(urlString: string): boolean;
|
|
91
|
+
export declare function isLocalHost(urlString: string): boolean;
|
|
162
92
|
/**
|
|
163
93
|
* Normalizes platformVersion to a valid iOS version string
|
|
164
94
|
*
|
|
165
|
-
* @param
|
|
166
|
-
* @return
|
|
167
|
-
* @throws
|
|
95
|
+
* @param originalVersion - Loose version number, that can be parsed by semver
|
|
96
|
+
* @return iOS version number in <major>.<minor> format
|
|
97
|
+
* @throws if the version number cannot be parsed
|
|
168
98
|
*/
|
|
169
|
-
export function normalizePlatformVersion(originalVersion: string): string;
|
|
99
|
+
export declare function normalizePlatformVersion(originalVersion: string): string;
|
|
170
100
|
/**
|
|
171
|
-
*
|
|
172
|
-
*
|
|
101
|
+
* Assert the presence of particular keys in the given object
|
|
102
|
+
*
|
|
103
|
+
* @param argNames one or more key names
|
|
104
|
+
* @param opts the object to check
|
|
105
|
+
* @returns the same given object
|
|
173
106
|
*/
|
|
174
|
-
export function
|
|
107
|
+
export declare function requireArgs(argNames: string | string[], opts?: Record<string, any>): Record<string, any>;
|
|
175
108
|
/**
|
|
176
|
-
*
|
|
109
|
+
* Asserts that the given driver is running on a Simulator and return
|
|
110
|
+
* the simlator instance.
|
|
177
111
|
*
|
|
178
|
-
* @param
|
|
179
|
-
* @param {Object} opts the object to check
|
|
180
|
-
* @returns {Object} the same given object
|
|
112
|
+
* @param action - Description of action
|
|
181
113
|
*/
|
|
182
|
-
export function
|
|
183
|
-
|
|
114
|
+
export declare function assertSimulator(this: XCUITestDriver, action: string): Simulator;
|
|
115
|
+
/**
|
|
116
|
+
* Check if platform name is the TV OS one.
|
|
117
|
+
*/
|
|
118
|
+
export declare function isTvOs(platformName: string | null | undefined): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Return normalized platform name.
|
|
121
|
+
*/
|
|
122
|
+
export declare function normalizePlatformName(platformName: string | null | undefined): string;
|
|
123
|
+
export declare function shouldSetInitialSafariUrl(opts: XCUITestDriverOpts): boolean;
|
|
124
|
+
export declare function isIos17OrNewer(opts: XCUITestDriverOpts): boolean;
|
|
125
|
+
export declare function isIos18OrNewer(opts: XCUITestDriverOpts): boolean;
|
|
184
126
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
|