appium-xcuitest-driver 7.21.2 → 7.22.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 +12 -0
- package/build/lib/commands/context.js +2 -2
- package/build/lib/commands/context.js.map +1 -1
- package/build/lib/commands/log.d.ts.map +1 -1
- package/build/lib/commands/log.js +27 -14
- package/build/lib/commands/log.js.map +1 -1
- package/build/lib/commands/pcap.d.ts.map +1 -1
- package/build/lib/commands/pcap.js +1 -5
- package/build/lib/commands/pcap.js.map +1 -1
- package/build/lib/commands/performance.d.ts.map +1 -1
- package/build/lib/commands/performance.js +3 -5
- package/build/lib/commands/performance.js.map +1 -1
- package/build/lib/commands/recordscreen.d.ts.map +1 -1
- package/build/lib/commands/recordscreen.js +8 -9
- package/build/lib/commands/recordscreen.js.map +1 -1
- package/build/lib/device-log/helpers.d.ts +4 -1
- package/build/lib/device-log/helpers.d.ts.map +1 -1
- package/build/lib/device-log/helpers.js +6 -2
- package/build/lib/device-log/helpers.js.map +1 -1
- package/build/lib/device-log/ios-crash-log.d.ts +0 -4
- package/build/lib/device-log/ios-crash-log.d.ts.map +1 -1
- package/build/lib/device-log/ios-crash-log.js +0 -8
- package/build/lib/device-log/ios-crash-log.js.map +1 -1
- package/build/lib/device-log/ios-device-log.d.ts +3 -3
- package/build/lib/device-log/ios-device-log.d.ts.map +1 -1
- package/build/lib/device-log/ios-log.d.ts +1 -3
- package/build/lib/device-log/ios-log.d.ts.map +1 -1
- package/build/lib/device-log/ios-log.js +12 -27
- package/build/lib/device-log/ios-log.js.map +1 -1
- package/build/lib/device-log/ios-performance-log.d.ts +4 -8
- package/build/lib/device-log/ios-performance-log.d.ts.map +1 -1
- package/build/lib/device-log/ios-performance-log.js +9 -16
- package/build/lib/device-log/ios-performance-log.js.map +1 -1
- package/build/lib/device-log/ios-simulator-log.d.ts +4 -4
- package/build/lib/device-log/ios-simulator-log.d.ts.map +1 -1
- package/build/lib/device-log/ios-simulator-log.js +4 -6
- package/build/lib/device-log/ios-simulator-log.js.map +1 -1
- package/build/lib/device-log/safari-console-log.d.ts +65 -6
- package/build/lib/device-log/safari-console-log.d.ts.map +1 -1
- package/build/lib/device-log/safari-console-log.js +61 -81
- package/build/lib/device-log/safari-console-log.js.map +1 -1
- package/build/lib/device-log/safari-network-log.d.ts +36 -8
- package/build/lib/device-log/safari-network-log.d.ts.map +1 -1
- package/build/lib/device-log/safari-network-log.js +28 -151
- package/build/lib/device-log/safari-network-log.js.map +1 -1
- package/build/lib/driver.d.ts.map +1 -1
- package/lib/commands/context.js +2 -2
- package/lib/commands/log.js +32 -14
- package/lib/commands/pcap.js +1 -5
- package/lib/commands/performance.js +3 -5
- package/lib/commands/recordscreen.js +7 -8
- package/lib/device-log/helpers.ts +6 -2
- package/lib/device-log/ios-crash-log.js +0 -9
- package/lib/device-log/ios-device-log.ts +3 -3
- package/lib/device-log/ios-log.ts +16 -33
- package/lib/device-log/ios-performance-log.ts +11 -22
- package/lib/device-log/ios-simulator-log.ts +9 -11
- package/lib/device-log/safari-console-log.ts +112 -0
- package/lib/device-log/safari-network-log.ts +80 -0
- package/npm-shrinkwrap.json +69 -24
- package/package.json +2 -2
- package/build/lib/device-log/rotating-log.d.ts +0 -21
- package/build/lib/device-log/rotating-log.d.ts.map +0 -1
- package/build/lib/device-log/rotating-log.js +0 -61
- package/build/lib/device-log/rotating-log.js.map +0 -1
- package/lib/device-log/rotating-log.js +0 -65
- package/lib/device-log/safari-console-log.js +0 -96
- package/lib/device-log/safari-network-log.js +0 -193
|
@@ -13,15 +13,25 @@ class IOSLog extends events_1.EventEmitter {
|
|
|
13
13
|
this.logs = new lru_cache_1.LRUCache({
|
|
14
14
|
max: this.maxBufferSize,
|
|
15
15
|
});
|
|
16
|
-
this.logIndexSinceLastRequest = null;
|
|
17
16
|
this._log = opts.log ?? support_1.logger.getLogger(this.constructor.name);
|
|
18
17
|
}
|
|
19
18
|
get log() {
|
|
20
19
|
return this._log;
|
|
21
20
|
}
|
|
21
|
+
getLogs() {
|
|
22
|
+
const result = [];
|
|
23
|
+
for (const value of this.logs.rvalues()) {
|
|
24
|
+
result.push(this._deserializeEntry(value));
|
|
25
|
+
}
|
|
26
|
+
this._clearEntries();
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
_clearEntries() {
|
|
30
|
+
this.logs.clear();
|
|
31
|
+
}
|
|
22
32
|
broadcast(entry) {
|
|
23
33
|
let recentIndex = -1;
|
|
24
|
-
for (const key of this.logs.
|
|
34
|
+
for (const key of this.logs.keys()) {
|
|
25
35
|
recentIndex = key;
|
|
26
36
|
break;
|
|
27
37
|
}
|
|
@@ -31,31 +41,6 @@ class IOSLog extends events_1.EventEmitter {
|
|
|
31
41
|
this.emit('output', this._deserializeEntry(serializedEntry));
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
|
-
getLogs() {
|
|
35
|
-
const result = [];
|
|
36
|
-
let recentLogIndex = null;
|
|
37
|
-
for (const [index, value] of this.logs.entries()) {
|
|
38
|
-
if (this.logIndexSinceLastRequest && index > this.logIndexSinceLastRequest
|
|
39
|
-
|| !this.logIndexSinceLastRequest) {
|
|
40
|
-
recentLogIndex = index;
|
|
41
|
-
result.push(this._deserializeEntry(value));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (recentLogIndex !== null) {
|
|
45
|
-
this.logIndexSinceLastRequest = recentLogIndex;
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
getAllLogs() {
|
|
50
|
-
const result = [];
|
|
51
|
-
for (const value of this.logs.values()) {
|
|
52
|
-
result.push(this._deserializeEntry(value));
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
_clearEntries() {
|
|
57
|
-
this.logs.clear();
|
|
58
|
-
}
|
|
59
44
|
}
|
|
60
45
|
exports.IOSLog = IOSLog;
|
|
61
46
|
exports.default = IOSLog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-log.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,yCAAqC;AAGrC,4CAAsC;AAEtC,wEAAwE;AACxE,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAOpC,MAAsB,MAGpB,SAAQ,qBAAY;
|
|
1
|
+
{"version":3,"file":"ios-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-log.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,yCAAqC;AAGrC,4CAAsC;AAEtC,wEAAwE;AACxE,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAOpC,MAAsB,MAGpB,SAAQ,qBAAY;IAKpB,YAAY,OAAsB,EAAE;QAClC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,qBAAqB,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,IAAI,oBAAQ,CAAC;YACvB,GAAG,EAAE,IAAI,CAAC,aAAa;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,gBAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAMD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAyB,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC;IAKS,aAAa;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAES,SAAS,CAAC,KAAgB;QAClC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnC,WAAW,GAAG,GAAG,CAAC;YAClB,MAAM;QACR,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AArDD,wBAqDC;AAED,kBAAe,MAAM,CAAC"}
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
import { IOSLog } from './ios-log';
|
|
2
|
-
import type { LogEntry } from '../commands/types';
|
|
3
1
|
import type { AppiumLogger } from '@appium/types';
|
|
4
|
-
|
|
2
|
+
import { LineConsumingLog } from './line-consuming-log';
|
|
5
3
|
export interface IOSPerformanceLogOptions {
|
|
6
4
|
remoteDebugger: any;
|
|
7
5
|
maxEvents?: number;
|
|
8
|
-
log
|
|
6
|
+
log: AppiumLogger;
|
|
9
7
|
}
|
|
10
|
-
export declare class IOSPerformanceLog extends
|
|
11
|
-
private remoteDebugger;
|
|
8
|
+
export declare class IOSPerformanceLog extends LineConsumingLog {
|
|
9
|
+
private readonly remoteDebugger;
|
|
12
10
|
private _started;
|
|
13
11
|
constructor(opts: IOSPerformanceLogOptions);
|
|
14
12
|
startCapture(): Promise<void>;
|
|
15
13
|
stopCapture(): Promise<void>;
|
|
16
14
|
get isCapturing(): boolean;
|
|
17
|
-
protected _serializeEntry(value: PerformanceLogEntry): PerformanceLogEntry;
|
|
18
|
-
protected _deserializeEntry(value: PerformanceLogEntry): LogEntry;
|
|
19
15
|
private onTimelineEvent;
|
|
20
16
|
}
|
|
21
17
|
export default IOSPerformanceLog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-performance-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/ios-performance-log.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"ios-performance-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/ios-performance-log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,YAAY,CAAC;CACnB;AAED,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAM;IACrC,OAAO,CAAC,QAAQ,CAAU;gBAEd,IAAI,EAAE,wBAAwB;IAS3B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3C,IAAa,WAAW,IAAI,OAAO,CAElC;IAED,OAAO,CAAC,eAAe;CAKxB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IOSPerformanceLog = void 0;
|
|
7
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
class IOSPerformanceLog extends
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
|
+
const line_consuming_log_1 = require("./line-consuming-log");
|
|
10
|
+
class IOSPerformanceLog extends line_consuming_log_1.LineConsumingLog {
|
|
11
11
|
constructor(opts) {
|
|
12
12
|
super({
|
|
13
|
-
maxBufferSize: opts.maxEvents ??
|
|
13
|
+
maxBufferSize: opts.maxEvents ?? helpers_1.MAX_BUFFERED_EVENTS_COUNT,
|
|
14
14
|
log: opts.log,
|
|
15
15
|
});
|
|
16
16
|
this.remoteDebugger = opts.remoteDebugger;
|
|
@@ -19,28 +19,21 @@ class IOSPerformanceLog extends ios_log_1.IOSLog {
|
|
|
19
19
|
async startCapture() {
|
|
20
20
|
this.log.debug('Starting performance (Timeline) log capture');
|
|
21
21
|
this._clearEntries();
|
|
22
|
-
|
|
22
|
+
await this.remoteDebugger.startTimeline(this.onTimelineEvent.bind(this));
|
|
23
23
|
this._started = true;
|
|
24
|
-
return result;
|
|
25
24
|
}
|
|
26
25
|
async stopCapture() {
|
|
27
26
|
this.log.debug('Stopping performance (Timeline) log capture');
|
|
28
|
-
|
|
27
|
+
await this.remoteDebugger.stopTimeline();
|
|
29
28
|
this._started = false;
|
|
30
|
-
return result;
|
|
31
29
|
}
|
|
32
30
|
get isCapturing() {
|
|
33
31
|
return this._started;
|
|
34
32
|
}
|
|
35
|
-
_serializeEntry(value) {
|
|
36
|
-
return value;
|
|
37
|
-
}
|
|
38
|
-
_deserializeEntry(value) {
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
33
|
onTimelineEvent(event) {
|
|
42
|
-
|
|
43
|
-
this.broadcast(
|
|
34
|
+
const serializedEntry = JSON.stringify(event);
|
|
35
|
+
this.broadcast(serializedEntry);
|
|
36
|
+
this.log.debug(`Received Timeline event: ${lodash_1.default.truncate(serializedEntry, { length: helpers_1.MAX_JSON_LOG_LENGTH })}`);
|
|
44
37
|
}
|
|
45
38
|
}
|
|
46
39
|
exports.IOSPerformanceLog = IOSPerformanceLog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-performance-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-performance-log.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;
|
|
1
|
+
{"version":3,"file":"ios-performance-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-performance-log.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,uCAA2E;AAC3E,6DAAwD;AASxD,MAAa,iBAAkB,SAAQ,qCAAgB;IAIrD,YAAY,IAA8B;QACxC,KAAK,CAAC;YACJ,aAAa,EAAE,IAAI,CAAC,SAAS,IAAI,mCAAyB;YAC1D,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,KAA0B;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,gBAAC,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAC,MAAM,EAAE,6BAAmB,EAAC,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;CACF;AAnCD,8CAmCC;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -5,12 +5,12 @@ export interface IOSSimulatorLogOptions {
|
|
|
5
5
|
sim: Simulator;
|
|
6
6
|
showLogs?: boolean;
|
|
7
7
|
iosSimulatorLogsPredicate?: string;
|
|
8
|
-
log
|
|
8
|
+
log: AppiumLogger;
|
|
9
9
|
}
|
|
10
10
|
export declare class IOSSimulatorLog extends LineConsumingLog {
|
|
11
|
-
private sim;
|
|
12
|
-
private showLogs;
|
|
13
|
-
private predicate?;
|
|
11
|
+
private readonly sim;
|
|
12
|
+
private readonly showLogs;
|
|
13
|
+
private readonly predicate?;
|
|
14
14
|
private proc;
|
|
15
15
|
constructor(opts: IOSSimulatorLogOptions);
|
|
16
16
|
startCapture(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-simulator-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/ios-simulator-log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,GAAG,
|
|
1
|
+
{"version":3,"file":"ios-simulator-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/ios-simulator-log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,SAAS,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,GAAG,EAAE,YAAY,CAAC;CACnB;AAED,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,IAAI,CAAoB;gBAEpB,IAAI,EAAE,sBAAsB;IAQzB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3C,IAAa,WAAW,IAAI,OAAO,CAElC;IAED,OAAO,CAAC,QAAQ;YAQF,iBAAiB;YAiBjB,wBAAwB;CAmBvC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -80,17 +80,15 @@ class IOSSimulatorLog extends line_consuming_log_1.LineConsumingLog {
|
|
|
80
80
|
throw this.log.errorWithException('Could not capture simulator log');
|
|
81
81
|
}
|
|
82
82
|
for (const streamName of ['stdout', 'stderr']) {
|
|
83
|
-
this.proc.on(`
|
|
84
|
-
|
|
85
|
-
this.onOutput(line, ...(streamName === 'stderr' ? ['STDERR'] : []));
|
|
86
|
-
}
|
|
83
|
+
this.proc.on(`line-${streamName}`, (line) => {
|
|
84
|
+
this.onOutput(line, ...(streamName === 'stderr' ? ['STDERR'] : []));
|
|
87
85
|
});
|
|
88
86
|
}
|
|
89
|
-
const startDetector = (
|
|
87
|
+
const startDetector = (stdout, stderr) => {
|
|
90
88
|
if (EXECVP_ERROR_PATTERN.test(stderr)) {
|
|
91
89
|
throw new Error('iOS log capture process failed to start');
|
|
92
90
|
}
|
|
93
|
-
return stdout || stderr;
|
|
91
|
+
return Boolean(stdout || stderr);
|
|
94
92
|
};
|
|
95
93
|
await this.proc.start(startDetector, START_TIMEOUT);
|
|
96
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-simulator-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-simulator-log.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ios-simulator-log.js","sourceRoot":"","sources":["../../../lib/device-log/ios-simulator-log.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,+CAA8C;AAC9C,6DAAwD;AAIxD,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAE1C,MAAM,aAAa,GAAG,KAAK,CAAC;AAS5B,MAAa,eAAgB,SAAQ,qCAAgB;IAMnD,YAAY,IAA4B;QACtC,KAAK,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,IAAI,gBAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,qDAAqD,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,cAAc,CACxF,CAAC;QACF,IAAI,CAAC;YACH,sFAAsF;YACtF,MAAM,IAAA,mBAAI,EAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,SAAiB,EAAE;QAClD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,UAAU,EAAE,EAAE,CAAC,IAAY,EAAE,EAAE;gBAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE;YACvD,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;CACF;AAjGD,0CAiGC;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1,8 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type { AppiumLogger } from '@appium/types';
|
|
2
|
+
import IOSLog from './ios-log';
|
|
3
|
+
import type { LogEntry } from '../commands/types';
|
|
4
|
+
export interface SafariConsoleLogOptions {
|
|
5
|
+
showLogs: boolean;
|
|
6
|
+
log: AppiumLogger;
|
|
7
|
+
}
|
|
8
|
+
export interface SafariConsoleStacktraceEntry {
|
|
9
|
+
functionName: string;
|
|
10
|
+
url: string;
|
|
11
|
+
scriptId: number;
|
|
12
|
+
lineNumber: number;
|
|
13
|
+
columnNumber: number;
|
|
14
|
+
}
|
|
15
|
+
export interface SafariConsoleEntry {
|
|
16
|
+
source: string;
|
|
17
|
+
level: string;
|
|
18
|
+
text: string;
|
|
19
|
+
type: string;
|
|
20
|
+
line: number;
|
|
21
|
+
column: number;
|
|
22
|
+
url?: string;
|
|
23
|
+
repeatCount: number;
|
|
24
|
+
stackTrace: SafariConsoleStacktraceEntry[];
|
|
6
25
|
}
|
|
7
|
-
|
|
26
|
+
type TSerializedEntry = [SafariConsoleEntry, number];
|
|
27
|
+
export declare class SafariConsoleLog extends IOSLog<SafariConsoleEntry, TSerializedEntry> {
|
|
28
|
+
private readonly _showLogs;
|
|
29
|
+
constructor(opts: SafariConsoleLogOptions);
|
|
30
|
+
startCapture(): Promise<void>;
|
|
31
|
+
stopCapture(): Promise<void>;
|
|
32
|
+
get isCapturing(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @param err
|
|
36
|
+
* @param entry The output will be like:
|
|
37
|
+
* {
|
|
38
|
+
* "source": "javascript",
|
|
39
|
+
* "level":"error",
|
|
40
|
+
* "text":"ReferenceError: Can't find variable: s_account",
|
|
41
|
+
* "type":"log",
|
|
42
|
+
* "line":2,
|
|
43
|
+
* "column":21,
|
|
44
|
+
* "url":"https://assets.adobedtm.com/b46e318d845250834eda10c5a20827c045a4d76f/scripts/satellite-57866f8b64746d53a8000104-staging.js",
|
|
45
|
+
* "repeatCount":1,
|
|
46
|
+
* "stackTrace":[{
|
|
47
|
+
* "functionName":"global code",
|
|
48
|
+
* "url":"https://assets.adobedtm.com/b46e318d845250834eda10c5a20827c045a4d76f/scripts/satellite-57866f8b64746d53a8000104-staging.js",
|
|
49
|
+
* "scriptId":"6",
|
|
50
|
+
* "lineNumber":2,
|
|
51
|
+
* "columnNumber":21
|
|
52
|
+
* }]
|
|
53
|
+
* }
|
|
54
|
+
*
|
|
55
|
+
* we need, at least, `level` (in accordance with Java levels
|
|
56
|
+
* (https://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html)),
|
|
57
|
+
* `timestamp`, and `message` to satisfy the java client. In order to
|
|
58
|
+
* provide all the information to the client, `message` is the full
|
|
59
|
+
* object, stringified.
|
|
60
|
+
*
|
|
61
|
+
*/
|
|
62
|
+
onConsoleLogEvent(err: object | null, entry: SafariConsoleEntry): void;
|
|
63
|
+
protected _serializeEntry(value: SafariConsoleEntry): TSerializedEntry;
|
|
64
|
+
protected _deserializeEntry(value: TSerializedEntry): LogEntry;
|
|
65
|
+
}
|
|
66
|
+
export default SafariConsoleLog;
|
|
8
67
|
//# sourceMappingURL=safari-console-log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari-console-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/safari-console-log.
|
|
1
|
+
{"version":3,"file":"safari-console-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/safari-console-log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,4BAA4B,EAAE,CAAC;CAC5C;AAED,KAAK,gBAAgB,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAErD,qBAAa,gBAAiB,SAAQ,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;gBAExB,IAAI,EAAE,uBAAuB;IAQ1B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3C,IAAa,WAAW,IAAI,OAAO,CAElC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI;cAOnD,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,gBAAgB;cAI5D,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,QAAQ;CAIxE;AAMD,eAAe,gBAAgB,CAAC"}
|
|
@@ -4,93 +4,73 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SafariConsoleLog = void 0;
|
|
7
|
-
const rotating_log_1 = require("./rotating-log");
|
|
8
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
|
+
const ios_log_1 = __importDefault(require("./ios-log"));
|
|
10
|
+
const LOG_LEVELS_MAP = {
|
|
11
|
+
error: 'SEVERE',
|
|
12
|
+
warning: 'WARNING',
|
|
13
|
+
log: 'FINE',
|
|
14
|
+
};
|
|
15
|
+
class SafariConsoleLog extends ios_log_1.default {
|
|
16
|
+
constructor(opts) {
|
|
17
|
+
super({
|
|
18
|
+
log: opts.log,
|
|
19
|
+
maxBufferSize: helpers_1.MAX_BUFFERED_EVENTS_COUNT,
|
|
18
20
|
});
|
|
21
|
+
this._showLogs = opts.showLogs;
|
|
19
22
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
warning: 'WARNING',
|
|
59
|
-
log: 'FINE',
|
|
60
|
-
}[out.level] || 'INFO',
|
|
61
|
-
timestamp: Date.now(),
|
|
62
|
-
message: JSON.stringify(out),
|
|
63
|
-
};
|
|
64
|
-
this.logs.push(entry);
|
|
65
|
-
}
|
|
66
|
-
if (lodash_1.default.has(out, 'count')) {
|
|
67
|
-
// this is a notification of the previous message being repeated
|
|
68
|
-
// this should _never_ be the first message, so the previous one ought to
|
|
69
|
-
// be populated. If it is not, nothing will break, it will just look odd
|
|
70
|
-
// in the output below (no url or line numbers)
|
|
71
|
-
const count = out.count;
|
|
72
|
-
out = this._previousOutput || {};
|
|
73
|
-
out.text = `Previous message repeated ${support_1.util.pluralize('time', count, true)}`;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// save the most recent output
|
|
77
|
-
this._previousOutput = out;
|
|
78
|
-
}
|
|
79
|
-
// format output like
|
|
80
|
-
// SafariConsole [WARNING][http://appium.io 2:13] Log something to warn
|
|
81
|
-
if (this.showLogs) {
|
|
82
|
-
let level = 'debug';
|
|
83
|
-
if (out.level === 'warning' || out.level === 'error') {
|
|
84
|
-
level = out.level;
|
|
85
|
-
}
|
|
86
|
-
for (const line of out.text.split('\n')) {
|
|
87
|
-
// url is optional, so get formatting here
|
|
88
|
-
const url = out.url ? `${out.url} ` : '';
|
|
89
|
-
this.log[level](`[${level.toUpperCase()}][${url}${out.line}:${out.column}] ${line}`);
|
|
90
|
-
}
|
|
23
|
+
async startCapture() { }
|
|
24
|
+
async stopCapture() { }
|
|
25
|
+
get isCapturing() {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param err
|
|
31
|
+
* @param entry The output will be like:
|
|
32
|
+
* {
|
|
33
|
+
* "source": "javascript",
|
|
34
|
+
* "level":"error",
|
|
35
|
+
* "text":"ReferenceError: Can't find variable: s_account",
|
|
36
|
+
* "type":"log",
|
|
37
|
+
* "line":2,
|
|
38
|
+
* "column":21,
|
|
39
|
+
* "url":"https://assets.adobedtm.com/b46e318d845250834eda10c5a20827c045a4d76f/scripts/satellite-57866f8b64746d53a8000104-staging.js",
|
|
40
|
+
* "repeatCount":1,
|
|
41
|
+
* "stackTrace":[{
|
|
42
|
+
* "functionName":"global code",
|
|
43
|
+
* "url":"https://assets.adobedtm.com/b46e318d845250834eda10c5a20827c045a4d76f/scripts/satellite-57866f8b64746d53a8000104-staging.js",
|
|
44
|
+
* "scriptId":"6",
|
|
45
|
+
* "lineNumber":2,
|
|
46
|
+
* "columnNumber":21
|
|
47
|
+
* }]
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* we need, at least, `level` (in accordance with Java levels
|
|
51
|
+
* (https://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html)),
|
|
52
|
+
* `timestamp`, and `message` to satisfy the java client. In order to
|
|
53
|
+
* provide all the information to the client, `message` is the full
|
|
54
|
+
* object, stringified.
|
|
55
|
+
*
|
|
56
|
+
*/
|
|
57
|
+
onConsoleLogEvent(err, entry) {
|
|
58
|
+
this.broadcast(entry);
|
|
59
|
+
if (this._showLogs) {
|
|
60
|
+
this.log.info(`[SafariConsole] ${lodash_1.default.truncate(JSON.stringify(entry), { length: helpers_1.MAX_JSON_LOG_LENGTH })}`);
|
|
91
61
|
}
|
|
92
62
|
}
|
|
63
|
+
_serializeEntry(value) {
|
|
64
|
+
return [value, Date.now()];
|
|
65
|
+
}
|
|
66
|
+
_deserializeEntry(value) {
|
|
67
|
+
const [entry, timestamp] = value;
|
|
68
|
+
return (0, helpers_1.toLogEntry)(JSON.stringify(entry), timestamp, mapLogLevel(entry.level));
|
|
69
|
+
}
|
|
93
70
|
}
|
|
94
71
|
exports.SafariConsoleLog = SafariConsoleLog;
|
|
72
|
+
function mapLogLevel(originalLevel) {
|
|
73
|
+
return LOG_LEVELS_MAP[originalLevel] ?? helpers_1.DEFAULT_LOG_LEVEL;
|
|
74
|
+
}
|
|
95
75
|
exports.default = SafariConsoleLog;
|
|
96
76
|
//# sourceMappingURL=safari-console-log.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari-console-log.js","sourceRoot":"","sources":["../../../lib/device-log/safari-console-log.
|
|
1
|
+
{"version":3,"file":"safari-console-log.js","sourceRoot":"","sources":["../../../lib/device-log/safari-console-log.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AAEvB,uCAKmB;AACnB,wDAA+B;AAG/B,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,MAAM;CACZ,CAAC;AA6BF,MAAa,gBAAiB,SAAQ,iBAA4C;IAGhF,YAAY,IAA6B;QACvC,KAAK,CAAC;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,aAAa,EAAE,mCAAyB;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,YAAY,KAAmB,CAAC;IACtC,KAAK,CAAC,WAAW,KAAmB,CAAC;IAC9C,IAAa,WAAW;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,iBAAiB,CAAC,GAAkB,EAAE,KAAyB;QAC7D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAC,MAAM,EAAE,6BAAmB,EAAC,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAEkB,eAAe,CAAC,KAAyB;QAC1D,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEkB,iBAAiB,CAAC,KAAuB;QAC1D,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QACjC,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC;CACF;AA7DD,4CA6DC;AAED,SAAS,WAAW,CAAC,aAAqB;IACxC,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,2BAAiB,CAAC;AAC5D,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,10 +1,38 @@
|
|
|
1
|
+
import { LineConsumingLog } from './line-consuming-log';
|
|
2
|
+
import type { AppiumLogger } from '@appium/types';
|
|
3
|
+
export interface SafariConsoleLogOptions {
|
|
4
|
+
showLogs: boolean;
|
|
5
|
+
log: AppiumLogger;
|
|
6
|
+
}
|
|
7
|
+
export interface SafariNetworkResponseTiming {
|
|
8
|
+
responseStart: number;
|
|
9
|
+
receiveHeadersEnd: number;
|
|
10
|
+
}
|
|
11
|
+
export interface SafariNetworkResponse {
|
|
12
|
+
url: string;
|
|
13
|
+
status: number;
|
|
14
|
+
timing: SafariNetworkResponseTiming;
|
|
15
|
+
source: string;
|
|
16
|
+
}
|
|
17
|
+
export interface SafariNetworkLogEntryMetrics {
|
|
18
|
+
responseBodyBytesReceived: number;
|
|
19
|
+
}
|
|
20
|
+
export interface SafariNetworkLogEntry {
|
|
21
|
+
requestId: string;
|
|
22
|
+
response?: SafariNetworkResponse;
|
|
23
|
+
type?: string;
|
|
24
|
+
initiator?: string;
|
|
25
|
+
metrics?: SafariNetworkLogEntryMetrics;
|
|
26
|
+
errorText?: string;
|
|
27
|
+
canceled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare class SafariNetworkLog extends LineConsumingLog {
|
|
30
|
+
private readonly _showLogs;
|
|
31
|
+
constructor(opts: SafariConsoleLogOptions);
|
|
32
|
+
startCapture(): Promise<void>;
|
|
33
|
+
stopCapture(): Promise<void>;
|
|
34
|
+
get isCapturing(): boolean;
|
|
35
|
+
onNetworkEvent(method: string, entry: SafariNetworkLogEntry): void;
|
|
36
|
+
}
|
|
1
37
|
export default SafariNetworkLog;
|
|
2
|
-
export class SafariNetworkLog extends RotatingLog {
|
|
3
|
-
constructor(showLogs: any);
|
|
4
|
-
getEntry(requestId: any): any;
|
|
5
|
-
addLogLine(method: any, out: any): void;
|
|
6
|
-
getLogDetails(outputEntry: any): any;
|
|
7
|
-
printLogLine(outputEntry: any): void;
|
|
8
|
-
}
|
|
9
|
-
import { RotatingLog } from './rotating-log';
|
|
10
38
|
//# sourceMappingURL=safari-network-log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari-network-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/safari-network-log.
|
|
1
|
+
{"version":3,"file":"safari-network-log.d.ts","sourceRoot":"","sources":["../../../lib/device-log/safari-network-log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAYlD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,YAAY,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,2BAA2B,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,4BAA4B,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;gBAExB,IAAI,EAAE,uBAAuB;IAQ1B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAC7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3C,IAAa,WAAW,IAAI,OAAO,CAElC;IAED,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,IAAI;CAWnE;AAED,eAAe,gBAAgB,CAAC"}
|