appium-xcuitest-driver 9.6.1 → 9.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +1 -0
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/desired-caps.d.ts +83 -79
- package/build/lib/desired-caps.d.ts.map +1 -1
- package/build/lib/desired-caps.js +6 -3
- package/build/lib/desired-caps.js.map +1 -1
- package/build/lib/device-log/ios-simulator-log.d.ts +11 -0
- package/build/lib/device-log/ios-simulator-log.d.ts.map +1 -1
- package/build/lib/device-log/ios-simulator-log.js +63 -2
- package/build/lib/device-log/ios-simulator-log.js.map +1 -1
- package/build/lib/driver.d.ts +18 -9
- package/build/lib/driver.d.ts.map +1 -1
- package/lib/commands/log.js +1 -0
- package/lib/desired-caps.js +6 -3
- package/lib/device-log/ios-simulator-log.ts +68 -6
- package/npm-shrinkwrap.json +239 -17
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-simulator-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-simulator-log.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,+CAA8C;AAC9C,4CAAoC;AACpC,6DAAwD;
|
|
1
|
+
{"version":3,"file":"ios-simulator-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-simulator-log.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -62,9 +62,6 @@ export class XCUITestDriver extends BaseDriver<{
|
|
|
62
62
|
readonly isString: true;
|
|
63
63
|
};
|
|
64
64
|
readonly processArguments: {};
|
|
65
|
-
readonly showIOSLog: {
|
|
66
|
-
readonly isBoolean: true;
|
|
67
|
-
};
|
|
68
65
|
readonly webviewConnectRetries: {
|
|
69
66
|
readonly isNumber: true;
|
|
70
67
|
};
|
|
@@ -304,9 +301,15 @@ export class XCUITestDriver extends BaseDriver<{
|
|
|
304
301
|
readonly webviewAtomWaitTimeout: {
|
|
305
302
|
readonly isNumber: true;
|
|
306
303
|
};
|
|
304
|
+
readonly showIOSLog: {
|
|
305
|
+
readonly isBoolean: true;
|
|
306
|
+
};
|
|
307
307
|
readonly iosSimulatorLogsPredicate: {
|
|
308
308
|
readonly isString: true;
|
|
309
309
|
};
|
|
310
|
+
readonly iosSyslogFile: {
|
|
311
|
+
readonly isString: true;
|
|
312
|
+
};
|
|
310
313
|
readonly simulatorLogLevel: {
|
|
311
314
|
readonly isString: true;
|
|
312
315
|
};
|
|
@@ -434,9 +437,6 @@ export class XCUITestDriver extends BaseDriver<{
|
|
|
434
437
|
readonly isString: true;
|
|
435
438
|
};
|
|
436
439
|
readonly processArguments: {};
|
|
437
|
-
readonly showIOSLog: {
|
|
438
|
-
readonly isBoolean: true;
|
|
439
|
-
};
|
|
440
440
|
readonly webviewConnectRetries: {
|
|
441
441
|
readonly isNumber: true;
|
|
442
442
|
};
|
|
@@ -676,9 +676,15 @@ export class XCUITestDriver extends BaseDriver<{
|
|
|
676
676
|
readonly webviewAtomWaitTimeout: {
|
|
677
677
|
readonly isNumber: true;
|
|
678
678
|
};
|
|
679
|
+
readonly showIOSLog: {
|
|
680
|
+
readonly isBoolean: true;
|
|
681
|
+
};
|
|
679
682
|
readonly iosSimulatorLogsPredicate: {
|
|
680
683
|
readonly isString: true;
|
|
681
684
|
};
|
|
685
|
+
readonly iosSyslogFile: {
|
|
686
|
+
readonly isString: true;
|
|
687
|
+
};
|
|
682
688
|
readonly simulatorLogLevel: {
|
|
683
689
|
readonly isString: true;
|
|
684
690
|
};
|
|
@@ -1679,9 +1685,6 @@ export class XCUITestDriver extends BaseDriver<{
|
|
|
1679
1685
|
readonly isString: true;
|
|
1680
1686
|
};
|
|
1681
1687
|
readonly processArguments: {};
|
|
1682
|
-
readonly showIOSLog: {
|
|
1683
|
-
readonly isBoolean: true;
|
|
1684
|
-
};
|
|
1685
1688
|
readonly webviewConnectRetries: {
|
|
1686
1689
|
readonly isNumber: true;
|
|
1687
1690
|
};
|
|
@@ -1921,9 +1924,15 @@ export class XCUITestDriver extends BaseDriver<{
|
|
|
1921
1924
|
readonly webviewAtomWaitTimeout: {
|
|
1922
1925
|
readonly isNumber: true;
|
|
1923
1926
|
};
|
|
1927
|
+
readonly showIOSLog: {
|
|
1928
|
+
readonly isBoolean: true;
|
|
1929
|
+
};
|
|
1924
1930
|
readonly iosSimulatorLogsPredicate: {
|
|
1925
1931
|
readonly isString: true;
|
|
1926
1932
|
};
|
|
1933
|
+
readonly iosSyslogFile: {
|
|
1934
|
+
readonly isString: true;
|
|
1935
|
+
};
|
|
1927
1936
|
readonly simulatorLogLevel: {
|
|
1928
1937
|
readonly isString: true;
|
|
1929
1938
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"AAkLA;;;;;GAKG;AACH
|
|
1
|
+
{"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.js"],"names":[],"mappings":"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"}
|
package/lib/commands/log.js
CHANGED
package/lib/desired-caps.js
CHANGED
|
@@ -64,9 +64,6 @@ const desiredCapConstraints = /** @type {const} */ ({
|
|
|
64
64
|
// recognize the cap,
|
|
65
65
|
// but validate in the driver#validateDesiredCaps method
|
|
66
66
|
},
|
|
67
|
-
showIOSLog: {
|
|
68
|
-
isBoolean: true,
|
|
69
|
-
},
|
|
70
67
|
webviewConnectRetries: {
|
|
71
68
|
isNumber: true,
|
|
72
69
|
},
|
|
@@ -312,9 +309,15 @@ const desiredCapConstraints = /** @type {const} */ ({
|
|
|
312
309
|
webviewAtomWaitTimeout: {
|
|
313
310
|
isNumber: true,
|
|
314
311
|
},
|
|
312
|
+
showIOSLog: {
|
|
313
|
+
isBoolean: true,
|
|
314
|
+
},
|
|
315
315
|
iosSimulatorLogsPredicate: {
|
|
316
316
|
isString: true,
|
|
317
317
|
},
|
|
318
|
+
iosSyslogFile: {
|
|
319
|
+
isString: true,
|
|
320
|
+
},
|
|
318
321
|
simulatorLogLevel: {
|
|
319
322
|
isString: true,
|
|
320
323
|
},
|
|
@@ -2,8 +2,10 @@ import _ from 'lodash';
|
|
|
2
2
|
import {SubProcess, exec} from 'teen_process';
|
|
3
3
|
import {util} from 'appium/support';
|
|
4
4
|
import { LineConsumingLog } from './line-consuming-log';
|
|
5
|
+
import { transports, createLogger, format, Logger } from 'winston';
|
|
5
6
|
import type { Simulator } from 'appium-ios-simulator';
|
|
6
7
|
import type { AppiumLogger } from '@appium/types';
|
|
8
|
+
import fs from 'node:fs/promises';
|
|
7
9
|
|
|
8
10
|
const EXECVP_ERROR_PATTERN = /execvp\(\)/;
|
|
9
11
|
const LOG_STREAMING_PROCESS_NAME_PATTERN = /^com\.apple\.xpc\.launchd\.oneshot\.0x[0-f]+\.log$/;
|
|
@@ -16,6 +18,7 @@ export interface IOSSimulatorLogOptions {
|
|
|
16
18
|
iosSimulatorLogsPredicate?: string;
|
|
17
19
|
simulatorLogLevel?: string;
|
|
18
20
|
log: AppiumLogger;
|
|
21
|
+
iosSyslogFile?: string;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
export class IOSSimulatorLog extends LineConsumingLog {
|
|
@@ -24,6 +27,8 @@ export class IOSSimulatorLog extends LineConsumingLog {
|
|
|
24
27
|
private readonly predicate?: string;
|
|
25
28
|
private readonly logLevel?: string;
|
|
26
29
|
private proc: SubProcess | null;
|
|
30
|
+
private readonly iosSyslogFile?: string;
|
|
31
|
+
private syslogLogger: Logger | null;
|
|
27
32
|
|
|
28
33
|
constructor(opts: IOSSimulatorLogOptions) {
|
|
29
34
|
super({log: opts.log});
|
|
@@ -32,16 +37,32 @@ export class IOSSimulatorLog extends LineConsumingLog {
|
|
|
32
37
|
this.predicate = opts.iosSimulatorLogsPredicate;
|
|
33
38
|
this.logLevel = opts.simulatorLogLevel;
|
|
34
39
|
this.proc = null;
|
|
40
|
+
this.iosSyslogFile = opts.iosSyslogFile;
|
|
41
|
+
this.syslogLogger = null;
|
|
35
42
|
}
|
|
36
43
|
|
|
37
44
|
override async startCapture(): Promise<void> {
|
|
38
45
|
if (_.isUndefined(this.sim.udid)) {
|
|
39
46
|
throw new Error(`Log capture requires a sim udid`);
|
|
40
47
|
}
|
|
41
|
-
|
|
42
48
|
if (!(await this.sim.isRunning())) {
|
|
43
49
|
throw new Error(`iOS Simulator with udid '${this.sim.udid}' is not running`);
|
|
44
50
|
}
|
|
51
|
+
if (this.iosSyslogFile && this.showLogs) {
|
|
52
|
+
await this.clearExistingSyslog();
|
|
53
|
+
try {
|
|
54
|
+
this.syslogLogger = createLogger({
|
|
55
|
+
level: 'info',
|
|
56
|
+
format: format.combine(format.timestamp(), format.simple()),
|
|
57
|
+
transports: [new transports.File({filename: this.iosSyslogFile})],
|
|
58
|
+
exitOnError: false
|
|
59
|
+
});
|
|
60
|
+
this.log.debug(`iOS syslog will be written to: '${this.iosSyslogFile}'`);
|
|
61
|
+
} catch (e) {
|
|
62
|
+
this.log.warn(`Could not set up iOS syslog logger for '${this.iosSyslogFile}': ${e.message}`);
|
|
63
|
+
this.syslogLogger = null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
45
66
|
const spawnArgs = ['log', 'stream', '--style', 'compact'];
|
|
46
67
|
if (this.predicate) {
|
|
47
68
|
spawnArgs.push('--predicate', this.predicate);
|
|
@@ -58,6 +79,7 @@ export class IOSSimulatorLog extends LineConsumingLog {
|
|
|
58
79
|
this.proc = await this.sim.simctl.spawnSubProcess(spawnArgs);
|
|
59
80
|
await this.finishStartingLogCapture();
|
|
60
81
|
} catch (e) {
|
|
82
|
+
this.shutdownSyslogger();
|
|
61
83
|
throw new Error(`Simulator log capture failed. Original error: ${e.message}`);
|
|
62
84
|
}
|
|
63
85
|
}
|
|
@@ -68,17 +90,60 @@ export class IOSSimulatorLog extends LineConsumingLog {
|
|
|
68
90
|
}
|
|
69
91
|
await this.killLogSubProcess();
|
|
70
92
|
this.proc = null;
|
|
93
|
+
this.shutdownSyslogger();
|
|
71
94
|
}
|
|
72
95
|
|
|
73
96
|
override get isCapturing(): boolean {
|
|
74
97
|
return Boolean(this.proc?.isRunning);
|
|
75
98
|
}
|
|
76
99
|
|
|
100
|
+
private async clearExistingSyslog(): Promise<void> {
|
|
101
|
+
if (this.iosSyslogFile === undefined) {
|
|
102
|
+
this.log.debug('iOS Syslog file path is not defined, skipping deletion.');
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
await fs.unlink(this.iosSyslogFile);
|
|
107
|
+
this.log.debug(`Existing iOS Syslog file: '${this.iosSyslogFile}' deleted.`);
|
|
108
|
+
} catch (unlinkErr) {
|
|
109
|
+
if (unlinkErr.code !== 'ENOENT') {
|
|
110
|
+
this.log.warn(`Could not delete existing syslog file '${this.iosSyslogFile}': ${unlinkErr.message}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
private shutdownSyslogger(): void {
|
|
116
|
+
if (this.syslogLogger) {
|
|
117
|
+
this.log.debug(`Closing iOS syslog file: '${this.iosSyslogFile}'`);
|
|
118
|
+
const fileTransport = this.syslogLogger.transports.find(
|
|
119
|
+
(t) => (t instanceof transports.File) && (t.filename === this.iosSyslogFile)
|
|
120
|
+
);
|
|
121
|
+
if (fileTransport) {
|
|
122
|
+
fileTransport.end?.();
|
|
123
|
+
this.syslogLogger.remove(fileTransport);
|
|
124
|
+
}
|
|
125
|
+
this.syslogLogger = null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
77
129
|
private onOutput(logRow: string, prefix: string = ''): void {
|
|
78
130
|
this.broadcast(logRow);
|
|
79
|
-
|
|
80
|
-
|
|
131
|
+
const space = prefix.length > 0 ? ' ' : '';
|
|
132
|
+
if (this.showLogs && !this.iosSyslogFile) {
|
|
81
133
|
this.log.info(`[IOS_SYSLOG_ROW${space}${prefix}] ${logRow}`);
|
|
134
|
+
} else if (this.iosSyslogFile && this.showLogs) {
|
|
135
|
+
this.writeToSyslogFile(`[IOS_SYSLOG_ROW${space}${prefix}] ${logRow}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Writes the given log row to the dedicated iOS syslog file if the logger is active.
|
|
141
|
+
* @param {string} logRow - The log line to write.
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
private writeToSyslogFile(logRow: string): void {
|
|
145
|
+
if (this.syslogLogger && this.showLogs) {
|
|
146
|
+
this.syslogLogger.info(logRow);
|
|
82
147
|
}
|
|
83
148
|
}
|
|
84
149
|
|
|
@@ -86,7 +151,6 @@ export class IOSSimulatorLog extends LineConsumingLog {
|
|
|
86
151
|
if (!this.proc?.isRunning) {
|
|
87
152
|
return;
|
|
88
153
|
}
|
|
89
|
-
|
|
90
154
|
this.log.debug('Stopping iOS log capture');
|
|
91
155
|
try {
|
|
92
156
|
await this.proc.stop('SIGTERM', 1000);
|
|
@@ -103,13 +167,11 @@ export class IOSSimulatorLog extends LineConsumingLog {
|
|
|
103
167
|
if (!this.proc) {
|
|
104
168
|
throw this.log.errorWithException('Could not capture simulator log');
|
|
105
169
|
}
|
|
106
|
-
|
|
107
170
|
for (const streamName of ['stdout', 'stderr']) {
|
|
108
171
|
this.proc.on(`line-${streamName}`, (line: string) => {
|
|
109
172
|
this.onOutput(line, ...(streamName === 'stderr' ? ['STDERR'] : []));
|
|
110
173
|
});
|
|
111
174
|
}
|
|
112
|
-
|
|
113
175
|
const startDetector = (stdout: string, stderr: string) => {
|
|
114
176
|
if (EXECVP_ERROR_PATTERN.test(stderr)) {
|
|
115
177
|
throw new Error('iOS log capture process failed to start');
|