appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
67 lines • 2.4 kB
TypeScript
import type { AppiumLogger } from '@appium/types';
import { IOSLog } from './ios-log';
import type { LogEntry } from '../commands/types';
export interface SafariConsoleLogOptions {
showLogs: boolean;
log: AppiumLogger;
}
export interface SafariConsoleStacktraceEntry {
functionName: string;
url: string;
scriptId: number;
lineNumber: number;
columnNumber: number;
}
export interface SafariConsoleEntry {
source: string;
level: string;
text: string;
type: string;
line: number;
column: number;
url?: string;
repeatCount: number;
stackTrace: SafariConsoleStacktraceEntry[];
}
type TSerializedEntry = [SafariConsoleEntry, number];
export declare class SafariConsoleLog extends IOSLog<SafariConsoleEntry, TSerializedEntry> {
private readonly _showLogs;
constructor(opts: SafariConsoleLogOptions);
startCapture(): Promise<void>;
stopCapture(): Promise<void>;
get isCapturing(): boolean;
/**
*
* @param err
* @param entry The output will be like:
* {
* "source": "javascript",
* "level":"error",
* "text":"ReferenceError: Can't find variable: s_account",
* "type":"log",
* "line":2,
* "column":21,
* "url":"https://assets.adobedtm.com/b46e318d845250834eda10c5a20827c045a4d76f/scripts/satellite-57866f8b64746d53a8000104-staging.js",
* "repeatCount":1,
* "stackTrace":[{
* "functionName":"global code",
* "url":"https://assets.adobedtm.com/b46e318d845250834eda10c5a20827c045a4d76f/scripts/satellite-57866f8b64746d53a8000104-staging.js",
* "scriptId":"6",
* "lineNumber":2,
* "columnNumber":21
* }]
* }
*
* we need, at least, `level` (in accordance with Java levels
* (https://docs.oracle.com/javase/7/docs/api/java/util/logging/Level.html)),
* `timestamp`, and `message` to satisfy the java client. In order to
* provide all the information to the client, `message` is the full
* object, stringified.
*
*/
onConsoleLogEvent(err: object | null, entry: SafariConsoleEntry): void;
protected _serializeEntry(value: SafariConsoleEntry): TSerializedEntry;
protected _deserializeEntry(value: TSerializedEntry): LogEntry;
}
export default SafariConsoleLog;
//# sourceMappingURL=safari-console-log.d.ts.map