(Reland) fix: smoke tests for stable with editcontext enabled (#251074)

This commit is contained in:
Robo
2025-06-10 16:44:09 +09:00
committed by GitHub
parent a1e32e76e3
commit 7e4d8e92bc
10 changed files with 29 additions and 25 deletions

View File

@@ -30,6 +30,7 @@ export interface LaunchOptions {
readonly headless?: boolean;
readonly browser?: 'chromium' | 'webkit' | 'firefox' | 'chromium-msedge' | 'chromium-chrome';
readonly quality: Quality;
version: { major: number; minor: number; patch: number };
}
interface ICodeInstance {
@@ -89,7 +90,7 @@ export async function launch(options: LaunchOptions): Promise<Code> {
const { serverProcess, driver } = await measureAndLog(() => launchPlaywrightBrowser(options), 'launch playwright (browser)', options.logger);
registerInstance(serverProcess, options.logger, 'server');
return new Code(driver, options.logger, serverProcess, undefined, options.quality);
return new Code(driver, options.logger, serverProcess, undefined, options.quality, options.version);
}
// Electron smoke tests (playwright)
@@ -97,7 +98,7 @@ export async function launch(options: LaunchOptions): Promise<Code> {
const { electronProcess, driver } = await measureAndLog(() => launchPlaywrightElectron(options), 'launch playwright (electron)', options.logger);
const { safeToKill } = registerInstance(electronProcess, options.logger, 'electron');
return new Code(driver, options.logger, electronProcess, safeToKill, options.quality);
return new Code(driver, options.logger, electronProcess, safeToKill, options.quality, options.version);
}
}
@@ -110,7 +111,8 @@ export class Code {
readonly logger: Logger,
private readonly mainProcess: cp.ChildProcess,
private readonly safeToKill: Promise<void> | undefined,
readonly quality: Quality
readonly quality: Quality,
readonly version: { major: number; minor: number; patch: number }
) {
this.driver = new Proxy(driver, {
get(target, prop) {
@@ -131,6 +133,10 @@ export class Code {
});
}
get editContextEnabled(): boolean {
return !(this.quality === Quality.Stable && this.version.major === 1 && this.version.minor < 101);
}
async startTracing(name: string): Promise<void> {
return await this.driver.startTracing(name);
}