mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
chore: use given cdp port for communicating chrome (#35759)
This commit is contained in:
parent
33f811b2ae
commit
4facda5f22
@ -557,7 +557,7 @@ scheme.BrowserTypeLaunchParams = tObject({
|
||||
tracesDir: tOptional(tString),
|
||||
chromiumSandbox: tOptional(tBoolean),
|
||||
firefoxUserPrefs: tOptional(tAny),
|
||||
webSocketPort: tOptional(tNumber),
|
||||
cdpPort: tOptional(tNumber),
|
||||
slowMo: tOptional(tNumber),
|
||||
});
|
||||
scheme.BrowserTypeLaunchResult = tObject({
|
||||
@ -587,7 +587,7 @@ scheme.BrowserTypeLaunchPersistentContextParams = tObject({
|
||||
tracesDir: tOptional(tString),
|
||||
chromiumSandbox: tOptional(tBoolean),
|
||||
firefoxUserPrefs: tOptional(tAny),
|
||||
webSocketPort: tOptional(tNumber),
|
||||
cdpPort: tOptional(tNumber),
|
||||
noDefaultViewport: tOptional(tBoolean),
|
||||
viewport: tOptional(tObject({
|
||||
width: tNumber,
|
||||
|
@ -95,7 +95,7 @@ export abstract class BrowserType extends SdkObject {
|
||||
return browser;
|
||||
}
|
||||
|
||||
async launchPersistentContext(metadata: CallMetadata, userDataDir: string, options: channels.BrowserTypeLaunchPersistentContextOptions & { webSocketPort?: number, internalIgnoreHTTPSErrors?: boolean }): Promise<BrowserContext> {
|
||||
async launchPersistentContext(metadata: CallMetadata, userDataDir: string, options: channels.BrowserTypeLaunchPersistentContextOptions & { cdpPort?: number, internalIgnoreHTTPSErrors?: boolean }): Promise<BrowserContext> {
|
||||
const launchOptions = this._validateLaunchOptions(options);
|
||||
const controller = new ProgressController(metadata, this);
|
||||
controller.setLogName('browser');
|
||||
@ -271,7 +271,7 @@ export abstract class BrowserType extends SdkObject {
|
||||
};
|
||||
progress.cleanupWhenAborted(() => closeOrKill(progress.timeUntilDeadline()));
|
||||
const wsEndpoint = (await readyState?.waitUntilReady())?.wsEndpoint;
|
||||
if (options.webSocketPort !== undefined || !this.supportsPipeTransport()) {
|
||||
if (options.cdpPort !== undefined || !this.supportsPipeTransport()) {
|
||||
transport = await WebSocketTransport.connect(progress, wsEndpoint!);
|
||||
} else {
|
||||
const stdio = launchedProcess.stdio as unknown as [NodeJS.ReadableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.WritableStream, NodeJS.ReadableStream];
|
||||
|
@ -276,8 +276,8 @@ export class Chromium extends BrowserType {
|
||||
override defaultArgs(options: types.LaunchOptions, isPersistent: boolean, userDataDir: string): string[] {
|
||||
const chromeArguments = this._innerDefaultArgs(options);
|
||||
chromeArguments.push(`--user-data-dir=${userDataDir}`);
|
||||
if (options.webSocketPort !== undefined)
|
||||
chromeArguments.push(`--remote-debugging-port=${options.webSocketPort}`);
|
||||
if (options.cdpPort !== undefined)
|
||||
chromeArguments.push(`--remote-debugging-port=${options.cdpPort}`);
|
||||
else
|
||||
chromeArguments.push('--remote-debugging-pipe');
|
||||
if (isPersistent)
|
||||
@ -345,7 +345,7 @@ export class Chromium extends BrowserType {
|
||||
}
|
||||
|
||||
override readyState(options: types.LaunchOptions): BrowserReadyState | undefined {
|
||||
if (options.webSocketPort !== undefined || options.args?.some(a => a.startsWith('--remote-debugging-port')))
|
||||
if (options.cdpPort !== undefined || options.args?.some(a => a.startsWith('--remote-debugging-port')))
|
||||
return new ChromiumReadyState();
|
||||
return undefined;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ export class RecorderApp extends EventEmitter implements IRecorderApp {
|
||||
persistentContextOptions: {
|
||||
noDefaultViewport: true,
|
||||
headless: !!process.env.PWTEST_CLI_HEADLESS || (isUnderTest() && !headed),
|
||||
webSocketPort: isUnderTest() ? 0 : undefined,
|
||||
cdpPort: isUnderTest() ? 0 : undefined,
|
||||
handleSIGINT: recorder.handleSIGINT,
|
||||
executablePath: inspectedContext._browser.options.isChromium ? inspectedContext._browser.options.customExecutablePath : undefined,
|
||||
// Use the same channel as the inspected context to guarantee that the browser is installed.
|
||||
|
@ -174,7 +174,7 @@ export async function openTraceViewerApp(url: string, browserName: string, optio
|
||||
windowSize: { width: 1280, height: 800 },
|
||||
persistentContextOptions: {
|
||||
...options?.persistentContextOptions,
|
||||
webSocketPort: isUnderTest() ? 0 : undefined,
|
||||
cdpPort: isUnderTest() ? 0 : undefined,
|
||||
headless: !!options?.headless,
|
||||
colorScheme: isUnderTest() ? 'light' : undefined,
|
||||
},
|
||||
|
@ -153,7 +153,7 @@ export type NormalizedContinueOverrides = {
|
||||
export type EmulatedSize = { viewport: Size, screen: Size };
|
||||
|
||||
export type LaunchOptions = channels.BrowserTypeLaunchOptions & {
|
||||
webSocketPort?: number,
|
||||
cdpPort?: number,
|
||||
proxyOverride?: ProxySettings,
|
||||
assistantMode?: boolean,
|
||||
};
|
||||
|
8
packages/protocol/src/channels.d.ts
vendored
8
packages/protocol/src/channels.d.ts
vendored
@ -967,7 +967,7 @@ export type BrowserTypeLaunchParams = {
|
||||
tracesDir?: string,
|
||||
chromiumSandbox?: boolean,
|
||||
firefoxUserPrefs?: any,
|
||||
webSocketPort?: number,
|
||||
cdpPort?: number,
|
||||
slowMo?: number,
|
||||
};
|
||||
export type BrowserTypeLaunchOptions = {
|
||||
@ -994,7 +994,7 @@ export type BrowserTypeLaunchOptions = {
|
||||
tracesDir?: string,
|
||||
chromiumSandbox?: boolean,
|
||||
firefoxUserPrefs?: any,
|
||||
webSocketPort?: number,
|
||||
cdpPort?: number,
|
||||
slowMo?: number,
|
||||
};
|
||||
export type BrowserTypeLaunchResult = {
|
||||
@ -1024,7 +1024,7 @@ export type BrowserTypeLaunchPersistentContextParams = {
|
||||
tracesDir?: string,
|
||||
chromiumSandbox?: boolean,
|
||||
firefoxUserPrefs?: any,
|
||||
webSocketPort?: number,
|
||||
cdpPort?: number,
|
||||
noDefaultViewport?: boolean,
|
||||
viewport?: {
|
||||
width: number,
|
||||
@ -1107,7 +1107,7 @@ export type BrowserTypeLaunchPersistentContextOptions = {
|
||||
tracesDir?: string,
|
||||
chromiumSandbox?: boolean,
|
||||
firefoxUserPrefs?: any,
|
||||
webSocketPort?: number,
|
||||
cdpPort?: number,
|
||||
noDefaultViewport?: boolean,
|
||||
viewport?: {
|
||||
width: number,
|
||||
|
@ -496,7 +496,7 @@ LaunchOptions:
|
||||
tracesDir: string?
|
||||
chromiumSandbox: boolean?
|
||||
firefoxUserPrefs: json?
|
||||
webSocketPort: number?
|
||||
cdpPort: number?
|
||||
|
||||
|
||||
ContextOptions:
|
||||
|
Loading…
x
Reference in New Issue
Block a user