@wdio/devtools-service
Version:
Hook up WebdriverIO with DevTools
76 lines (75 loc) • 1.88 kB
TypeScript
import { WebDriverCommands } from '@wdio/protocols';
import { Capabilities, Options } from '@wdio/types';
import { SuiteStats } from '@wdio/reporter';
export interface CommandLog {
command: keyof WebDriverCommands;
args: any[];
result: any;
error?: Error;
timestamp: number;
callSource: string;
screenshot?: string;
}
export declare enum TraceType {
Standalone = "standalone",
Testrunner = "testrunner"
}
export interface Metadata {
type: TraceType;
url: string;
options: Omit<Options.WebdriverIO, 'capabilities'>;
capabilities: Capabilities.W3CCapabilities;
viewport: VisualViewport;
}
export interface TraceLog {
mutations: TraceMutation[];
logs: string[];
consoleLogs: ConsoleLogs[];
metadata: Metadata;
commands: CommandLog[];
sources: Record<string, string>;
suites?: Record<string, SuiteStats>[];
}
export interface ExtendedCapabilities extends WebdriverIO.Capabilities {
'wdio:devtoolsOptions'?: ServiceOptions;
}
export interface ServiceOptions {
/**
* port to launch the application on (default: random)
*/
port?: number;
/**
* hostname to launch the application on
* @default localhost
*/
hostname?: string;
/**
* capabilities used to launch the devtools application
* @default
* ```ts
* {
* browserName: 'chrome',
* 'goog:chromeOptions': {
* args: ['--window-size=1200,800']
* }
* }
*/
devtoolsCapabilities?: WebdriverIO.Capabilities;
}
declare namespace WebdriverIO {
interface ServiceOption extends ServiceOptions {
}
interface Capabilities {
}
}
declare module '@wdio/reporter' {
interface TestStats {
file?: string;
line?: number;
column?: number;
}
interface SuiteStats {
line?: string;
}
}
export {};