@web/test-runner-chrome
Version:
Chrome browser launcher for Web Test Runner
50 lines • 2.17 kB
TypeScript
import * as puppeteerCore from 'puppeteer-core';
import { Browser, Page, LaunchOptions, BrowserContext } from 'puppeteer-core';
import { BrowserLauncher, TestRunnerCoreConfig } from '@web/test-runner-core';
import { ChromeLauncherPage } from './ChromeLauncherPage.js';
interface CreateArgs {
browser: Browser;
config: TestRunnerCoreConfig;
}
export type CreateBrowserContextFn = (args: CreateArgs) => BrowserContext | Promise<BrowserContext>;
export type CreatePageFn = (args: CreateArgs & {
context: BrowserContext;
}) => Promise<Page>;
export declare class ChromeLauncher implements BrowserLauncher {
name: string;
type: string;
concurrency?: number;
private launchOptions;
private customPuppeteer?;
private createBrowserContextFn;
private createPageFn;
private config?;
private testFiles?;
private browser?;
private browserContext?;
private debugBrowser?;
private debugBrowserContext?;
private cachedExecutablePath?;
private activePages;
private activeDebugPages;
private inactivePages;
private __startBrowserPromise?;
constructor(launchOptions: LaunchOptions, createBrowserContextFn: CreateBrowserContextFn, createPageFn: CreatePageFn, customPuppeteer?: typeof puppeteerCore, concurrency?: number);
initialize(config: TestRunnerCoreConfig, testFiles: string[]): Promise<void>;
launchBrowser(options?: LaunchOptions): Promise<puppeteerCore.Browser>;
startBrowser(options?: LaunchOptions): Promise<{
browser: puppeteerCore.Browser;
context: puppeteerCore.BrowserContext;
}>;
stop(): Promise<void>;
startSession(sessionId: string, url: string): Promise<void>;
isActive(sessionId: string): boolean;
getBrowserUrl(sessionId: string): string;
startDebugSession(sessionId: string, url: string): Promise<void>;
createNewPage(browser: Browser, context: BrowserContext): Promise<ChromeLauncherPage>;
stopSession(sessionId: string): Promise<import("@web/test-runner-core").SessionResult>;
private getOrStartBrowser;
getPage(sessionId: string): puppeteerCore.Page;
}
export {};
//# sourceMappingURL=ChromeLauncher.d.ts.map