appium-xcuitest-driver 10.13.3 → 10.13.4
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/commands/general.d.ts +84 -80
- package/build/lib/commands/general.d.ts.map +1 -1
- package/build/lib/commands/general.js +66 -53
- package/build/lib/commands/general.js.map +1 -1
- package/build/lib/commands/log.d.ts +42 -44
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +32 -53
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/commands/navigation.d.ts +1 -1
- package/build/lib/commands/navigation.d.ts.map +1 -1
- package/build/lib/commands/xctest.d.ts +37 -37
- package/build/lib/commands/xctest.d.ts.map +1 -1
- package/build/lib/commands/xctest.js +38 -50
- package/build/lib/commands/xctest.js.map +1 -1
- package/build/lib/execute-method-map.d.ts.map +1 -1
- package/build/lib/execute-method-map.js +0 -1
- package/build/lib/execute-method-map.js.map +1 -1
- package/lib/commands/{general.js → general.ts} +101 -76
- package/lib/commands/{log.js → log.ts} +68 -68
- package/lib/commands/{xctest.js → xctest.ts} +78 -71
- package/lib/execute-method-map.ts +0 -1
- package/npm-shrinkwrap.json +8 -8
- package/package.json +1 -1
|
@@ -24,14 +24,11 @@ const constants_1 = require("./bidi/constants");
|
|
|
24
24
|
const models_1 = require("./bidi/models");
|
|
25
25
|
/**
|
|
26
26
|
* Determines the websocket endpoint based on the `sessionId`
|
|
27
|
-
* @param {string} sessionId
|
|
28
|
-
* @returns {string}
|
|
29
27
|
*/
|
|
30
28
|
const WEBSOCKET_ENDPOINT = (sessionId) => `${driver_1.DEFAULT_WS_PATHNAME_PREFIX}/session/${sessionId}/appium/device/syslog`;
|
|
31
29
|
const COLOR_CODE_PATTERN = /\u001b\[(\d+(;\d+)*)?m/g; // eslint-disable-line no-control-regex
|
|
32
30
|
const GET_SERVER_LOGS_FEATURE = 'get_server_logs';
|
|
33
31
|
/**
|
|
34
|
-
* @type {import('@appium/types').LogDefRecord}
|
|
35
32
|
* @privateRemarks The return types for these getters should be specified
|
|
36
33
|
*/
|
|
37
34
|
const SUPPORTED_LOG_TYPES = {
|
|
@@ -57,9 +54,6 @@ const SUPPORTED_LOG_TYPES = {
|
|
|
57
54
|
},
|
|
58
55
|
server: {
|
|
59
56
|
description: 'Appium server logs',
|
|
60
|
-
/**
|
|
61
|
-
* @returns {import('./types').LogEntry[]}
|
|
62
|
-
*/
|
|
63
57
|
getter: (self) => {
|
|
64
58
|
self.assertFeatureEnabled(GET_SERVER_LOGS_FEATURE);
|
|
65
59
|
return self.log.unwrap().record.map(nativeLogEntryToSeleniumEntry);
|
|
@@ -73,10 +67,12 @@ const LOG_NAMES_TO_CAPABILITY_NAMES_MAP = {
|
|
|
73
67
|
};
|
|
74
68
|
exports.supportedLogTypes = SUPPORTED_LOG_TYPES;
|
|
75
69
|
/**
|
|
70
|
+
* Extracts logs of the specified type from the logs container.
|
|
76
71
|
*
|
|
77
|
-
* @param
|
|
78
|
-
* @param
|
|
79
|
-
* @
|
|
72
|
+
* @param logType - The type of log to extract
|
|
73
|
+
* @param logsContainer - Container holding log objects
|
|
74
|
+
* @returns The extracted logs
|
|
75
|
+
* @throws {Error} If logs are not available or the log type is not found
|
|
80
76
|
*/
|
|
81
77
|
async function extractLogs(logType, logsContainer = {}) {
|
|
82
78
|
// make sure that we have logs at all
|
|
@@ -96,7 +92,12 @@ async function extractLogs(logType, logsContainer = {}) {
|
|
|
96
92
|
throw new Error(`No logs of type '${logType}' found. Supported log types are: ${lodash_1.default.keys(SUPPORTED_LOG_TYPES)}.`);
|
|
97
93
|
}
|
|
98
94
|
/**
|
|
99
|
-
*
|
|
95
|
+
* Starts capturing iOS system logs.
|
|
96
|
+
*
|
|
97
|
+
* Initializes and starts capturing syslog and crashlog. Optionally starts Safari console and network logs
|
|
98
|
+
* if the corresponding capabilities are enabled.
|
|
99
|
+
*
|
|
100
|
+
* @returns `true` if syslog capture started successfully; `false` otherwise
|
|
100
101
|
*/
|
|
101
102
|
async function startLogCapture() {
|
|
102
103
|
this.logs = this.logs || {};
|
|
@@ -106,7 +107,7 @@ async function startLogCapture() {
|
|
|
106
107
|
}
|
|
107
108
|
if (lodash_1.default.isUndefined(this.logs.syslog)) {
|
|
108
109
|
[this.logs.crashlog,] = assignBiDiLogListener.bind(this)(new ios_crash_log_1.IOSCrashLog({
|
|
109
|
-
sim:
|
|
110
|
+
sim: this.device,
|
|
110
111
|
udid: this.isRealDevice() ? this.opts.udid : undefined,
|
|
111
112
|
log: this.log,
|
|
112
113
|
}), {
|
|
@@ -114,12 +115,12 @@ async function startLogCapture() {
|
|
|
114
115
|
});
|
|
115
116
|
[this.logs.syslog,] = assignBiDiLogListener.bind(this)(this.isRealDevice()
|
|
116
117
|
? new ios_device_log_1.IOSDeviceLog({
|
|
117
|
-
udid:
|
|
118
|
+
udid: this.opts.udid,
|
|
118
119
|
showLogs: this.opts.showIOSLog,
|
|
119
120
|
log: this.log,
|
|
120
121
|
})
|
|
121
122
|
: new ios_simulator_log_1.IOSSimulatorLog({
|
|
122
|
-
sim:
|
|
123
|
+
sim: this.device,
|
|
123
124
|
showLogs: this.opts.showIOSLog,
|
|
124
125
|
iosSimulatorLogsPredicate: this.opts.iosSimulatorLogsPredicate,
|
|
125
126
|
simulatorLogLevel: this.opts.simulatorLogLevel,
|
|
@@ -153,7 +154,6 @@ async function startLogCapture() {
|
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
156
|
let didStartSyslog = false;
|
|
156
|
-
/** @type {Promise[]} */
|
|
157
157
|
const promises = [
|
|
158
158
|
(async () => {
|
|
159
159
|
try {
|
|
@@ -174,18 +174,16 @@ async function startLogCapture() {
|
|
|
174
174
|
/**
|
|
175
175
|
* Starts an iOS system logs broadcast websocket.
|
|
176
176
|
*
|
|
177
|
-
* The websocket listens on the same host and port as Appium.
|
|
177
|
+
* The websocket listens on the same host and port as Appium. The endpoint created is `/ws/session/:sessionId:/appium/syslog`.
|
|
178
178
|
*
|
|
179
179
|
* If the websocket is already running, this command does nothing.
|
|
180
180
|
*
|
|
181
|
-
* Each connected
|
|
181
|
+
* Each connected websocket listener will receive syslog lines as soon as they are visible to Appium.
|
|
182
182
|
* @see https://appiumpro.com/editions/55-using-mobile-execution-commands-to-continuously-stream-device-logs-with-appium
|
|
183
|
-
* @returns {Promise<void>}
|
|
184
|
-
* @this {XCUITestDriver}
|
|
185
183
|
*/
|
|
186
184
|
async function mobileStartLogsBroadcast() {
|
|
187
|
-
const pathname = WEBSOCKET_ENDPOINT(
|
|
188
|
-
if (!lodash_1.default.isEmpty(await
|
|
185
|
+
const pathname = WEBSOCKET_ENDPOINT(this.sessionId);
|
|
186
|
+
if (!lodash_1.default.isEmpty(await this.server.getWebSocketHandlers(pathname))) {
|
|
189
187
|
this.log.debug(`The system logs broadcasting web socket server is already listening at ${pathname}`);
|
|
190
188
|
return;
|
|
191
189
|
}
|
|
@@ -227,61 +225,42 @@ async function mobileStartLogsBroadcast() {
|
|
|
227
225
|
this.log.debug(closeMsg);
|
|
228
226
|
});
|
|
229
227
|
});
|
|
230
|
-
await
|
|
231
|
-
/** @type {import('@appium/types').WSServer} */ (wss));
|
|
228
|
+
await this.server.addWebSocketHandler(pathname, wss);
|
|
232
229
|
}
|
|
233
230
|
/**
|
|
234
|
-
* Stops the syslog broadcasting
|
|
231
|
+
* Stops the syslog broadcasting websocket server previously started by `mobile: startLogsBroadcast`.
|
|
232
|
+
*
|
|
235
233
|
* If no websocket server is running, this command does nothing.
|
|
236
|
-
* @this {XCUITestDriver}
|
|
237
|
-
* @returns {Promise<void>}
|
|
238
234
|
*/
|
|
239
235
|
async function mobileStopLogsBroadcast() {
|
|
240
|
-
const pathname = WEBSOCKET_ENDPOINT(
|
|
241
|
-
if (lodash_1.default.isEmpty(await
|
|
236
|
+
const pathname = WEBSOCKET_ENDPOINT(this.sessionId);
|
|
237
|
+
if (lodash_1.default.isEmpty(await this.server.getWebSocketHandlers(pathname))) {
|
|
242
238
|
return;
|
|
243
239
|
}
|
|
244
240
|
this.log.debug('Stopping the system logs broadcasting web socket server');
|
|
245
|
-
await
|
|
241
|
+
await this.server.removeWebSocketHandler(pathname);
|
|
246
242
|
}
|
|
247
243
|
/**
|
|
244
|
+
* Assigns a BiDi log listener to the given log emitter.
|
|
245
|
+
*
|
|
248
246
|
* https://w3c.github.io/webdriver-bidi/#event-log-entryAdded
|
|
249
247
|
*
|
|
250
|
-
* @template
|
|
251
|
-
* @
|
|
252
|
-
* @param
|
|
253
|
-
* @
|
|
254
|
-
* @returns {[EE, import('./types').LogListener]}
|
|
248
|
+
* @template EE extends EventEmitter
|
|
249
|
+
* @param logEmitter - The event emitter to attach the listener to
|
|
250
|
+
* @param properties - Configuration for the BiDi listener
|
|
251
|
+
* @returns A tuple containing the log emitter and the listener function
|
|
255
252
|
*/
|
|
256
253
|
function assignBiDiLogListener(logEmitter, properties) {
|
|
257
254
|
const { type, context = utils_1.NATIVE_WIN, srcEventName = 'output', entryTransformer, } = properties;
|
|
258
|
-
const listener = (
|
|
255
|
+
const listener = (logEntry) => {
|
|
259
256
|
const finalEntry = entryTransformer ? entryTransformer(logEntry) : logEntry;
|
|
260
257
|
this.eventEmitter.emit(constants_1.BIDI_EVENT_NAME, (0, models_1.makeLogEntryAddedEvent)(finalEntry, context, type));
|
|
261
258
|
};
|
|
262
259
|
logEmitter.on(srcEventName, listener);
|
|
263
260
|
return [logEmitter, listener];
|
|
264
261
|
}
|
|
265
|
-
/**
|
|
266
|
-
*
|
|
267
|
-
* @param {Object} x
|
|
268
|
-
* @returns {import('./types').LogEntry}
|
|
269
|
-
*/
|
|
270
262
|
function nativeLogEntryToSeleniumEntry(x) {
|
|
271
263
|
const msg = lodash_1.default.isEmpty(x.prefix) ? x.message : `[${x.prefix}] ${x.message}`;
|
|
272
|
-
return (0, helpers_1.toLogEntry)(lodash_1.default.replace(msg, COLOR_CODE_PATTERN, ''),
|
|
273
|
-
/** @type {any} */ (x).timestamp ?? Date.now());
|
|
264
|
+
return (0, helpers_1.toLogEntry)(lodash_1.default.replace(msg, COLOR_CODE_PATTERN, ''), x.timestamp ?? Date.now());
|
|
274
265
|
}
|
|
275
|
-
/**
|
|
276
|
-
* @typedef {import('../driver').XCUITestDriver} XCUITestDriver
|
|
277
|
-
* @typedef {keyof typeof SUPPORTED_LOG_TYPES} XCUITestDriverLogTypes
|
|
278
|
-
* @typedef {import('@appium/types').AppiumServer} AppiumServer
|
|
279
|
-
*/
|
|
280
|
-
/**
|
|
281
|
-
* @typedef {Object} BiDiListenerProperties
|
|
282
|
-
* @property {string} type
|
|
283
|
-
* @property {string} [srcEventName='output']
|
|
284
|
-
* @property {string} [context=NATIVE_WIN]
|
|
285
|
-
* @property {(x: Object) => import('./types').LogEntry} [entryTransformer]
|
|
286
|
-
*/
|
|
287
266
|
//# sourceMappingURL=log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../lib/commands/log.
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../lib/commands/log.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export function mobileDeepLink(this: import("../driver").XCUITestDriver, url: st
|
|
|
27
27
|
/**
|
|
28
28
|
* @this {XCUITestDriver}
|
|
29
29
|
*/
|
|
30
|
-
export function nativeBack(this: import("../driver").XCUITestDriver): Promise<
|
|
30
|
+
export function nativeBack(this: import("../driver").XCUITestDriver): Promise<void>;
|
|
31
31
|
export type XCUITestDriver = import("../driver").XCUITestDriver;
|
|
32
32
|
export type DeepLinkOptions = {
|
|
33
33
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../lib/commands/navigation.js"],"names":[],"mappings":"AAQA;;GAEG;AACH,8EAMC;AAED;;GAEG;AACH,iFAIC;AAED;;GAEG;AACH,oFAsBC;AAED;;;;;;;;;;;;GAYG;AACH,8EAPW,MAAM,aACN,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CASzB;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../lib/commands/navigation.js"],"names":[],"mappings":"AAQA;;GAEG;AACH,8EAMC;AAED;;GAEG;AACH,iFAIC;AAED;;GAEG;AACH,oFAsBC;AAED;;;;;;;;;;;;GAYG;AACH,8EAPW,MAAM,aACN,MAAM,GAEJ,OAAO,CAAC,IAAI,CAAC,CASzB;AAED;;GAEG;AACH,oFAwCC;6BAGY,OAAO,WAAW,EAAE,cAAc;;;;;SAKjC,MAAM;;;;;;cACN,MAAM,OAAC"}
|
|
@@ -1,22 +1,30 @@
|
|
|
1
|
+
import type { XCUITestDriver } from '../driver';
|
|
2
|
+
import type { XCTestResult, RunXCTestResult } from './types';
|
|
3
|
+
import type { StringRecord } from '@appium/types';
|
|
4
|
+
import type IDB from 'appium-idb';
|
|
1
5
|
/**
|
|
2
|
-
* Asserts that IDB is present and that launchWithIDB was used
|
|
6
|
+
* Asserts that IDB is present and that launchWithIDB was used.
|
|
3
7
|
*
|
|
4
|
-
* @param
|
|
8
|
+
* @param opts - Opts object from the driver instance
|
|
9
|
+
* @returns The IDB instance
|
|
10
|
+
* @throws {Error} If IDB is not available or launchWithIDB is not enabled
|
|
5
11
|
*/
|
|
6
|
-
export function assertIDB(opts: XCUITestDriver[
|
|
12
|
+
export declare function assertIDB(this: XCUITestDriver, opts: XCUITestDriver['opts']): IDB;
|
|
7
13
|
/**
|
|
8
|
-
* Parse the stdout of XC test log
|
|
9
|
-
*
|
|
10
|
-
* @
|
|
14
|
+
* Parse the stdout of XC test log.
|
|
15
|
+
*
|
|
16
|
+
* @param stdout - A line of standard out from `idb xctest run ...`
|
|
17
|
+
* @returns The final output of the XCTest run
|
|
11
18
|
*/
|
|
12
|
-
export function parseXCTestStdout(stdout: string): XCTestResult[] | string[];
|
|
19
|
+
export declare function parseXCTestStdout(stdout: string): XCTestResult[] | string[];
|
|
13
20
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @property {number} code Subprocess exit code
|
|
17
|
-
* @property {string} signal The signal (SIG*) that caused the process to fail
|
|
18
|
-
* @property {XCTestResult[]} results The output of the failed test (if there is output)
|
|
21
|
+
* Error thrown when XCTest subprocess returns non-zero exit code.
|
|
19
22
|
*/
|
|
23
|
+
export interface XCUITestError extends Error {
|
|
24
|
+
code: number;
|
|
25
|
+
signal?: string;
|
|
26
|
+
result?: XCTestResult[];
|
|
27
|
+
}
|
|
20
28
|
/**
|
|
21
29
|
* Run a native XCTest script.
|
|
22
30
|
*
|
|
@@ -24,48 +32,40 @@ export function parseXCTestStdout(stdout: string): XCTestResult[] | string[];
|
|
|
24
32
|
*
|
|
25
33
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
|
|
26
34
|
*
|
|
27
|
-
* @param
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
32
|
-
* @param
|
|
33
|
-
* @param
|
|
35
|
+
* @param testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
|
|
36
|
+
* @param appUnderTestBundleId - App-under-test bundle
|
|
37
|
+
* @param xcTestBundleId - XCTest bundle ID
|
|
38
|
+
* @param args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
|
|
39
|
+
* @param testType - XC test type
|
|
40
|
+
* @param env - Environment variables passed to test
|
|
41
|
+
* @param timeout - Timeout (in ms) for session completion
|
|
42
|
+
* @returns The array of test results
|
|
34
43
|
* @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
|
|
35
|
-
* @returns {Promise<import('./types').RunXCTestResult>} The array of test results
|
|
36
|
-
* @this {XCUITestDriver}
|
|
37
44
|
*/
|
|
38
|
-
export function mobileRunXCTest(this:
|
|
45
|
+
export declare function mobileRunXCTest(this: XCUITestDriver, testRunnerBundleId: string, appUnderTestBundleId: string, xcTestBundleId: string, args?: string[], testType?: 'app' | 'ui' | 'logic', env?: StringRecord, timeout?: number): Promise<RunXCTestResult>;
|
|
39
46
|
/**
|
|
40
47
|
* Installs an XCTest bundle to the device under test.
|
|
41
48
|
*
|
|
42
49
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
|
|
43
50
|
*
|
|
44
|
-
* @param
|
|
45
|
-
* @returns {Promise<void>}
|
|
46
|
-
* @this {XCUITestDriver}
|
|
51
|
+
* @param xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
|
|
47
52
|
*/
|
|
48
|
-
export function mobileInstallXCTestBundle(this:
|
|
53
|
+
export declare function mobileInstallXCTestBundle(this: XCUITestDriver, xctestApp: string): Promise<void>;
|
|
49
54
|
/**
|
|
50
55
|
* List XCTest bundles that are installed on the device.
|
|
51
56
|
*
|
|
52
57
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
|
|
53
58
|
*
|
|
54
|
-
* @returns
|
|
55
|
-
* @this {XCUITestDriver}
|
|
59
|
+
* @returns List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
|
|
56
60
|
*/
|
|
57
|
-
export function mobileListXCTestBundles(this:
|
|
61
|
+
export declare function mobileListXCTestBundles(this: XCUITestDriver): Promise<string[]>;
|
|
58
62
|
/**
|
|
59
|
-
* List XCTests in a test bundle
|
|
63
|
+
* List XCTests in a test bundle.
|
|
60
64
|
*
|
|
61
65
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
|
|
62
|
-
* @param {string} bundle - Bundle ID of the XCTest
|
|
63
66
|
*
|
|
64
|
-
* @
|
|
65
|
-
* @
|
|
67
|
+
* @param bundle - Bundle ID of the XCTest
|
|
68
|
+
* @returns The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
|
|
66
69
|
*/
|
|
67
|
-
export function mobileListXCTestsInTestBundle(this:
|
|
68
|
-
export type XCUITestError = Error;
|
|
69
|
-
export type XCUITestDriver = import("../driver").XCUITestDriver;
|
|
70
|
-
export type XCTestResult = import("./types").XCTestResult;
|
|
70
|
+
export declare function mobileListXCTestsInTestBundle(this: XCUITestDriver, bundle: string): Promise<string[]>;
|
|
71
71
|
//# sourceMappingURL=xctest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xctest.d.ts","sourceRoot":"","sources":["../../../lib/commands/xctest.
|
|
1
|
+
{"version":3,"file":"xctest.d.ts","sourceRoot":"","sources":["../../../lib/commands/xctest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,YAAY,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAC3D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAMlC;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CA2F3E;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,cAAc,EACpB,kBAAkB,EAAE,MAAM,EAC1B,oBAAoB,EAAE,MAAM,EAC5B,cAAc,EAAE,MAAM,EACtB,IAAI,GAAE,MAAM,EAAO,EACnB,QAAQ,GAAE,KAAK,GAAG,IAAI,GAAG,OAAc,EACvC,GAAG,CAAC,EAAE,YAAY,EAClB,OAAO,SAAiB,GACvB,OAAO,CAAC,eAAe,CAAC,CAqE1B;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAErF;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB"}
|
|
@@ -16,21 +16,25 @@ const driver_1 = require("appium/driver");
|
|
|
16
16
|
const XCTEST_TIMEOUT = 360000; // 60 minute timeout
|
|
17
17
|
const xctestLog = support_1.logger.getLogger('XCTest');
|
|
18
18
|
/**
|
|
19
|
-
* Asserts that IDB is present and that launchWithIDB was used
|
|
19
|
+
* Asserts that IDB is present and that launchWithIDB was used.
|
|
20
20
|
*
|
|
21
|
-
* @param
|
|
21
|
+
* @param opts - Opts object from the driver instance
|
|
22
|
+
* @returns The IDB instance
|
|
23
|
+
* @throws {Error} If IDB is not available or launchWithIDB is not enabled
|
|
22
24
|
*/
|
|
23
25
|
function assertIDB(opts) {
|
|
24
|
-
|
|
26
|
+
const device = this.device;
|
|
27
|
+
if (!device?.idb || !opts.launchWithIDB) {
|
|
25
28
|
throw new Error(`To use XCTest runner, IDB (https://github.com/facebook/idb) must be installed ` +
|
|
26
29
|
`and sessions must be run with the "launchWithIDB" capability`);
|
|
27
30
|
}
|
|
28
|
-
return
|
|
31
|
+
return device.idb;
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
31
|
-
* Parse the stdout of XC test log
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
34
|
+
* Parse the stdout of XC test log.
|
|
35
|
+
*
|
|
36
|
+
* @param stdout - A line of standard out from `idb xctest run ...`
|
|
37
|
+
* @returns The final output of the XCTest run
|
|
34
38
|
*/
|
|
35
39
|
function parseXCTestStdout(stdout) {
|
|
36
40
|
// Parses a 'key' into JSON format
|
|
@@ -55,7 +59,7 @@ function parseXCTestStdout(stdout) {
|
|
|
55
59
|
default:
|
|
56
60
|
break;
|
|
57
61
|
}
|
|
58
|
-
if (!isNaN(value)) {
|
|
62
|
+
if (!isNaN(Number(value))) {
|
|
59
63
|
if (!lodash_1.default.isString(value)) {
|
|
60
64
|
return 0;
|
|
61
65
|
}
|
|
@@ -75,15 +79,13 @@ function parseXCTestStdout(stdout) {
|
|
|
75
79
|
if (lines.length === 1 && !lines[0].includes('|')) {
|
|
76
80
|
return [lines[0]];
|
|
77
81
|
}
|
|
78
|
-
/** @type {XCTestResult[]} */
|
|
79
82
|
const results = [];
|
|
80
83
|
for (const line of lines) {
|
|
81
84
|
// The properties are split up by pipes and each property
|
|
82
85
|
// has the format "Some Key : Some Value"
|
|
83
86
|
const properties = line.split('|');
|
|
84
87
|
// Parse each property
|
|
85
|
-
|
|
86
|
-
const output = /** @type {any} */ ({});
|
|
88
|
+
const output = {};
|
|
87
89
|
let entryIndex = 0;
|
|
88
90
|
for (const prop of properties) {
|
|
89
91
|
if (entryIndex === 0) {
|
|
@@ -97,7 +99,7 @@ function parseXCTestStdout(stdout) {
|
|
|
97
99
|
output.location = prop.substring(prop.indexOf('Location') + 8).trim();
|
|
98
100
|
}
|
|
99
101
|
else {
|
|
100
|
-
|
|
102
|
+
const [key, value] = prop.split(':');
|
|
101
103
|
output[parseKey(key.trim())] = parseValue(value ? value.trim() : '');
|
|
102
104
|
}
|
|
103
105
|
entryIndex++;
|
|
@@ -125,13 +127,6 @@ function parseXCTestStdout(stdout) {
|
|
|
125
127
|
}
|
|
126
128
|
return results;
|
|
127
129
|
}
|
|
128
|
-
/**
|
|
129
|
-
* @typedef {Error} XCUITestError
|
|
130
|
-
*
|
|
131
|
-
* @property {number} code Subprocess exit code
|
|
132
|
-
* @property {string} signal The signal (SIG*) that caused the process to fail
|
|
133
|
-
* @property {XCTestResult[]} results The output of the failed test (if there is output)
|
|
134
|
-
*/
|
|
135
130
|
/**
|
|
136
131
|
* Run a native XCTest script.
|
|
137
132
|
*
|
|
@@ -139,19 +134,18 @@ function parseXCTestStdout(stdout) {
|
|
|
139
134
|
*
|
|
140
135
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** to run such tests; see [the idb docs](https://fbidb.io/docs/test-execution/) for reference.
|
|
141
136
|
*
|
|
142
|
-
* @param
|
|
143
|
-
* @param
|
|
144
|
-
* @param
|
|
145
|
-
* @param
|
|
146
|
-
* @param
|
|
147
|
-
* @param
|
|
148
|
-
* @param
|
|
137
|
+
* @param testRunnerBundleId - Test app bundle (e.g.: `io.appium.XCTesterAppUITests.xctrunner`)
|
|
138
|
+
* @param appUnderTestBundleId - App-under-test bundle
|
|
139
|
+
* @param xcTestBundleId - XCTest bundle ID
|
|
140
|
+
* @param args - Launch arguments to start the test with (see [reference documentation](https://developer.apple.com/documentation/xctest/xcuiapplication/1500477-launcharguments))
|
|
141
|
+
* @param testType - XC test type
|
|
142
|
+
* @param env - Environment variables passed to test
|
|
143
|
+
* @param timeout - Timeout (in ms) for session completion
|
|
144
|
+
* @returns The array of test results
|
|
149
145
|
* @throws {XCUITestError} Error thrown if subprocess returns non-zero exit code
|
|
150
|
-
* @returns {Promise<import('./types').RunXCTestResult>} The array of test results
|
|
151
|
-
* @this {XCUITestDriver}
|
|
152
146
|
*/
|
|
153
147
|
async function mobileRunXCTest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, args = [], testType = 'ui', env, timeout = XCTEST_TIMEOUT) {
|
|
154
|
-
const subproc = await assertIDB(this.opts).runXCUITest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, { env, args, testType });
|
|
148
|
+
const subproc = await assertIDB.call(this, this.opts).runXCUITest(testRunnerBundleId, appUnderTestBundleId, xcTestBundleId, { env, args, testType });
|
|
155
149
|
return await new bluebird_1.default((resolve, reject) => {
|
|
156
150
|
let mostRecentLogObject = null;
|
|
157
151
|
let xctestTimeout;
|
|
@@ -182,10 +176,12 @@ async function mobileRunXCTest(testRunnerBundleId, appUnderTestBundleId, xcTestB
|
|
|
182
176
|
}
|
|
183
177
|
});
|
|
184
178
|
subproc.on('exit', (code, signal) => {
|
|
185
|
-
|
|
179
|
+
if (xctestTimeout) {
|
|
180
|
+
clearTimeout(xctestTimeout);
|
|
181
|
+
}
|
|
186
182
|
if (code !== 0) {
|
|
187
|
-
const err =
|
|
188
|
-
err.code = code;
|
|
183
|
+
const err = new Error(lastErrorMessage || String(mostRecentLogObject));
|
|
184
|
+
err.code = code ?? -1;
|
|
189
185
|
if (signal != null) {
|
|
190
186
|
err.signal = signal;
|
|
191
187
|
}
|
|
@@ -195,8 +191,8 @@ async function mobileRunXCTest(testRunnerBundleId, appUnderTestBundleId, xcTestB
|
|
|
195
191
|
return reject(err);
|
|
196
192
|
}
|
|
197
193
|
resolve({
|
|
198
|
-
code,
|
|
199
|
-
signal,
|
|
194
|
+
code: code ?? 0,
|
|
195
|
+
signal: signal ?? null,
|
|
200
196
|
results: mostRecentLogObject,
|
|
201
197
|
passed: true,
|
|
202
198
|
});
|
|
@@ -208,9 +204,7 @@ async function mobileRunXCTest(testRunnerBundleId, appUnderTestBundleId, xcTestB
|
|
|
208
204
|
*
|
|
209
205
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
|
|
210
206
|
*
|
|
211
|
-
* @param
|
|
212
|
-
* @returns {Promise<void>}
|
|
213
|
-
* @this {XCUITestDriver}
|
|
207
|
+
* @param xctestApp - Path of the XCTest app (URL or filename with extension `.app`)
|
|
214
208
|
*/
|
|
215
209
|
async function mobileInstallXCTestBundle(xctestApp) {
|
|
216
210
|
if (!lodash_1.default.isString(xctestApp)) {
|
|
@@ -218,7 +212,7 @@ async function mobileInstallXCTestBundle(xctestApp) {
|
|
|
218
212
|
`must be a string. Found '${xctestApp}'`);
|
|
219
213
|
}
|
|
220
214
|
xctestLog.info(`Installing bundle '${xctestApp}'`);
|
|
221
|
-
const idb = assertIDB(this.opts);
|
|
215
|
+
const idb = assertIDB.call(this, this.opts);
|
|
222
216
|
const res = await this.helpers.configureApp(xctestApp, '.xctest');
|
|
223
217
|
await idb.installXCTestBundle(res);
|
|
224
218
|
}
|
|
@@ -227,31 +221,25 @@ async function mobileInstallXCTestBundle(xctestApp) {
|
|
|
227
221
|
*
|
|
228
222
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
|
|
229
223
|
*
|
|
230
|
-
* @returns
|
|
231
|
-
* @this {XCUITestDriver}
|
|
224
|
+
* @returns List of XCTest bundles (e.g.: `XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance`)
|
|
232
225
|
*/
|
|
233
226
|
async function mobileListXCTestBundles() {
|
|
234
|
-
return await assertIDB(this.opts).listXCTestBundles();
|
|
227
|
+
return await assertIDB.call(this, this.opts).listXCTestBundles();
|
|
235
228
|
}
|
|
236
229
|
/**
|
|
237
|
-
* List XCTests in a test bundle
|
|
230
|
+
* List XCTests in a test bundle.
|
|
238
231
|
*
|
|
239
232
|
* **Facebook's [IDB](https://github.com/facebook/idb) tool is required** for this command to work.
|
|
240
|
-
* @param {string} bundle - Bundle ID of the XCTest
|
|
241
233
|
*
|
|
242
|
-
* @
|
|
243
|
-
* @
|
|
234
|
+
* @param bundle - Bundle ID of the XCTest
|
|
235
|
+
* @returns The list of xctests in the test bundle (e.g., `['XCTesterAppUITests.XCTesterAppUITests/testExample', 'XCTesterAppUITests.XCTesterAppUITests/testLaunchPerformance']`)
|
|
244
236
|
*/
|
|
245
237
|
async function mobileListXCTestsInTestBundle(bundle) {
|
|
246
238
|
if (!lodash_1.default.isString(bundle)) {
|
|
247
239
|
throw new driver_1.errors.InvalidArgumentError(`'bundle' is a required parameter for 'listXCTestsInTestBundle' and ` +
|
|
248
240
|
`must be a string. Found '${bundle}'`);
|
|
249
241
|
}
|
|
250
|
-
const idb = assertIDB(this.opts);
|
|
242
|
+
const idb = assertIDB.call(this, this.opts);
|
|
251
243
|
return await idb.listXCTestsInTestBundle(bundle);
|
|
252
244
|
}
|
|
253
|
-
/**
|
|
254
|
-
* @typedef {import('../driver').XCUITestDriver} XCUITestDriver
|
|
255
|
-
* @typedef {import('./types').XCTestResult} XCTestResult
|
|
256
|
-
*/
|
|
257
245
|
//# sourceMappingURL=xctest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xctest.js","sourceRoot":"","sources":["../../../lib/commands/xctest.
|
|
1
|
+
{"version":3,"file":"xctest.js","sourceRoot":"","sources":["../../../lib/commands/xctest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-method-map.d.ts","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"execute-method-map.d.ts","sourceRoot":"","sources":["../../lib/execute-method-map.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkkBwB,CAAC"}
|
|
@@ -252,7 +252,6 @@ exports.executeMethodMap = {
|
|
|
252
252
|
command: 'mobileListCertificates',
|
|
253
253
|
},
|
|
254
254
|
'mobile: startLogsBroadcast': {
|
|
255
|
-
// @ts-expect-error Class field assignment - method exists on XCUITestDriver
|
|
256
255
|
command: 'mobileStartLogsBroadcast',
|
|
257
256
|
},
|
|
258
257
|
'mobile: stopLogsBroadcast': {
|