diff --git a/docs/src/test-api/class-testinfo.md b/docs/src/test-api/class-testinfo.md index cbc125b3bf..38c706adf7 100644 --- a/docs/src/test-api/class-testinfo.md +++ b/docs/src/test-api/class-testinfo.md @@ -451,7 +451,7 @@ The title of the currently running test as passed to `test(title, testFunction)` * since: v1.10 - type: <[Array]<[string]>> -The full title path starting with the project. +The full title path starting with the test file name. ## property: TestInfo.workerIndex * since: v1.10 diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index 2b0dc63ce7..4570f3560a 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -21,13 +21,13 @@ }, { "name": "firefox-beta", - "revision": "1462", + "revision": "1463", "installByDefault": false, - "browserVersion": "130.0b2" + "browserVersion": "131.0b2" }, { "name": "webkit", - "revision": "2071", + "revision": "2072", "installByDefault": true, "revisionOverrides": { "mac10.14": "1446", diff --git a/packages/playwright-core/src/server/chromium/crPage.ts b/packages/playwright-core/src/server/chromium/crPage.ts index 05beba882c..002dfa09be 100644 --- a/packages/playwright-core/src/server/chromium/crPage.ts +++ b/packages/playwright-core/src/server/chromium/crPage.ts @@ -898,7 +898,7 @@ class FrameSession { const buffer = Buffer.from(payload.data, 'base64'); this._page.emit(Page.Events.ScreencastFrame, { buffer, - timestamp: payload.metadata.timestamp, + frameSwapWallTime: payload.metadata.timestamp ? payload.metadata.timestamp * 1000 : undefined, width: payload.metadata.deviceWidth, height: payload.metadata.deviceHeight, }); diff --git a/packages/playwright-core/src/server/chromium/videoRecorder.ts b/packages/playwright-core/src/server/chromium/videoRecorder.ts index 25199413f8..68bfbea037 100644 --- a/packages/playwright-core/src/server/chromium/videoRecorder.ts +++ b/packages/playwright-core/src/server/chromium/videoRecorder.ts @@ -53,7 +53,7 @@ export class VideoRecorder { private constructor(page: Page, ffmpegPath: string, progress: Progress) { this._progress = progress; this._ffmpegPath = ffmpegPath; - page.on(Page.Events.ScreencastFrame, frame => this.writeFrame(frame.buffer, frame.timestamp)); + page.on(Page.Events.ScreencastFrame, frame => this.writeFrame(frame.buffer, frame.frameSwapWallTime / 1000)); } private async _launch(options: types.PageScreencastOptions) { diff --git a/packages/playwright-core/src/server/page.ts b/packages/playwright-core/src/server/page.ts index 25394b1b5c..f2e59aa56f 100644 --- a/packages/playwright-core/src/server/page.ts +++ b/packages/playwright-core/src/server/page.ts @@ -846,6 +846,8 @@ export class PageBinding { const handle = await context.evaluateHandle(takeHandle, { name, seq }).catch(e => null); result = await binding.playwrightFunction({ frame: context.frame, page, context: page._browserContext }, handle); } else { + if (!Array.isArray(serializedArgs)) + throw new Error(`serializedArgs is not an array. This can happen when Array.prototype.toJSON is defined incorrectly`); const args = serializedArgs!.map(a => parseEvaluationResultValue(a)); result = await binding.playwrightFunction({ frame: context.frame, page, context: page._browserContext }, ...args); } diff --git a/packages/playwright-core/src/server/trace/recorder/snapshotter.ts b/packages/playwright-core/src/server/trace/recorder/snapshotter.ts index 48bfea7302..d552c397e0 100644 --- a/packages/playwright-core/src/server/trace/recorder/snapshotter.ts +++ b/packages/playwright-core/src/server/trace/recorder/snapshotter.ts @@ -137,6 +137,7 @@ export class Snapshotter { html: data.html, viewport: data.viewport, timestamp: monotonicTime(), + wallTime: data.wallTime, collectionTime: data.collectionTime, resourceOverrides: [], isMainFrame: page.mainFrame() === frame diff --git a/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts b/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts index 14e34c8aee..e881d52313 100644 --- a/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts +++ b/packages/playwright-core/src/server/trace/recorder/snapshotterInjected.ts @@ -27,7 +27,7 @@ export type SnapshotData = { }[], viewport: { width: number, height: number }, url: string, - timestamp: number, + wallTime: number, collectionTime: number, }; @@ -572,7 +572,7 @@ export function frameSnapshotStreamer(snapshotStreamer: string, removeNoScript: height: window.innerHeight, }, url: location.href, - timestamp, + wallTime: Date.now(), collectionTime: 0, }; @@ -589,7 +589,7 @@ export function frameSnapshotStreamer(snapshotStreamer: string, removeNoScript: result.resourceOverrides.push({ url, content, contentType: 'text/css' },); } - result.collectionTime = performance.now() - result.timestamp; + result.collectionTime = performance.now() - timestamp; return result; } } diff --git a/packages/playwright-core/src/server/trace/recorder/tracing.ts b/packages/playwright-core/src/server/trace/recorder/tracing.ts index 1dec4f536a..b09bbe3134 100644 --- a/packages/playwright-core/src/server/trace/recorder/tracing.ts +++ b/packages/playwright-core/src/server/trace/recorder/tracing.ts @@ -472,7 +472,8 @@ export class Tracing extends SdkObject implements InstrumentationListener, Snaps sha1, width: params.width, height: params.height, - timestamp: monotonicTime() + timestamp: monotonicTime(), + frameSwapWallTime: params.frameSwapWallTime, }; // Make sure to write the screencast frame before adding a reference to it. this._appendResource(sha1, params.buffer); diff --git a/packages/playwright-ct-core/src/injected/serializers.ts b/packages/playwright-ct-core/src/injected/serializers.ts index d07be7c1f8..be083e27db 100644 --- a/packages/playwright-ct-core/src/injected/serializers.ts +++ b/packages/playwright-ct-core/src/injected/serializers.ts @@ -66,6 +66,13 @@ export function transformObject(value: any, mapping: (v: any) => { result: any } result.push(transformObject(item, mapping)); return result; } + if (value?.__pw_type === 'jsx' && typeof value.type === 'function') { + throw new Error([ + `Component "${value.type.name}" cannot be mounted.`, + `Most likely, this component is defined in the test file. Create a test story instead.`, + `For more information, see https://playwright.dev/docs/test-components#test-stories.`, + ].join('\n')); + } const result2: any = {}; for (const [key, prop] of Object.entries(value)) result2[key] = transformObject(prop, mapping); diff --git a/packages/playwright/src/common/config.ts b/packages/playwright/src/common/config.ts index f0b399343a..34c7e3de57 100644 --- a/packages/playwright/src/common/config.ts +++ b/packages/playwright/src/common/config.ts @@ -54,6 +54,7 @@ export class FullConfigInternal { cliListOnly = false; cliPassWithNoTests?: boolean; cliFailOnFlakyTests?: boolean; + cliLastFailed?: boolean; testIdMatcher?: Matcher; defineConfigWasUsed = false; shardingMode: ShardingMode; diff --git a/packages/playwright/src/isomorphic/teleReceiver.ts b/packages/playwright/src/isomorphic/teleReceiver.ts index 6391f8a64c..0c4408096d 100644 --- a/packages/playwright/src/isomorphic/teleReceiver.ts +++ b/packages/playwright/src/isomorphic/teleReceiver.ts @@ -133,12 +133,12 @@ export class TeleReporterReceiver { public isListing = false; private _rootSuite: TeleSuite; private _options: TeleReporterReceiverOptions; - private _reporter: Partial; + private _reporter: ReporterV2; private _tests = new Map(); private _rootDir!: string; private _config!: reporterTypes.FullConfig; - constructor(reporter: Partial, options: TeleReporterReceiverOptions = {}) { + constructor(reporter: ReporterV2, options: TeleReporterReceiverOptions = {}) { this._rootSuite = new TeleSuite('', 'root'); this._options = options; this._reporter = reporter; diff --git a/packages/playwright/src/isomorphic/teleSuiteUpdater.ts b/packages/playwright/src/isomorphic/teleSuiteUpdater.ts index ef1c2dbb3e..6f86c50147 100644 --- a/packages/playwright/src/isomorphic/teleSuiteUpdater.ts +++ b/packages/playwright/src/isomorphic/teleSuiteUpdater.ts @@ -77,6 +77,7 @@ export class TeleSuiteUpdater { // To work around that, have a dedicated per-run receiver that will only have // suite for a single test run, and hence will have correct total. this._lastRunReceiver = new TeleReporterReceiver({ + version: () => 'v2', onBegin: (suite: reporterTypes.Suite) => { this._lastRunTestCount = suite.allTests().length; this._lastRunReceiver = undefined; @@ -127,20 +128,13 @@ export class TeleSuiteUpdater { onError: (error: reporterTypes.TestError) => this._handleOnError(error), - printsToStdio: () => { - return false; - }, - - onStdOut: () => { }, - onStdErr: () => { }, - onExit: () => { }, - onStepBegin: () => { }, - onStepEnd: () => { }, + printsToStdio: () => false, }; } processGlobalReport(report: any[]) { const receiver = new TeleReporterReceiver({ + version: () => 'v2', onConfigure: (c: reporterTypes.FullConfig) => { this.config = c; }, diff --git a/packages/playwright/src/program.ts b/packages/playwright/src/program.ts index c68bc15b07..a8ba1809e2 100644 --- a/packages/playwright/src/program.ts +++ b/packages/playwright/src/program.ts @@ -19,7 +19,7 @@ import type { Command } from 'playwright-core/lib/utilsBundle'; import fs from 'fs'; import path from 'path'; -import { Runner, readLastRunInfo } from './runner/runner'; +import { Runner } from './runner/runner'; import { stopProfiling, startProfiling, gracefullyProcessExitDoNotHang } from 'playwright-core/lib/utils'; import { serializeError } from './util'; import { showHTMLReport } from './reporters/html'; @@ -208,15 +208,6 @@ async function runTests(args: string[], opts: { [key: string]: any }) { if (!config) return; - if (opts.lastFailed || config.shardingMode === 'duration-round-robin') { - const lastRunInfo = await readLastRunInfo(config); - if (opts.lastFailed) - config.testIdMatcher = id => lastRunInfo.failedTests.includes(id); - - if (config.shardingMode === 'duration-round-robin') - config.lastRunInfo = lastRunInfo; - } - config.cliArgs = args; config.cliGrep = opts.grep as string | undefined; config.cliOnlyChanged = opts.onlyChanged === true ? 'HEAD' : opts.onlyChanged; @@ -225,6 +216,7 @@ async function runTests(args: string[], opts: { [key: string]: any }) { config.cliProjectFilter = opts.project || undefined; config.cliPassWithNoTests = !!opts.passWithNoTests; config.cliFailOnFlakyTests = !!opts.failOnFlakyTests; + config.cliLastFailed = !!opts.lastFailed; const runner = new Runner(config); const status = await runner.runAllTests(); diff --git a/packages/playwright/src/reporters/base.ts b/packages/playwright/src/reporters/base.ts index c9ce2f7bcd..e0aa7fa04e 100644 --- a/packages/playwright/src/reporters/base.ts +++ b/packages/playwright/src/reporters/base.ts @@ -123,9 +123,6 @@ export class BaseReporter implements ReporterV2 { (result as any)[kOutputSymbol].push(output); } - onTestBegin(test: TestCase, result: TestResult): void { - } - onTestEnd(test: TestCase, result: TestResult) { if (result.status !== 'skipped' && result.status !== test.expectedStatus) ++this._failureCount; @@ -146,19 +143,6 @@ export class BaseReporter implements ReporterV2 { this.result = result; } - onStepBegin(test: TestCase, result: TestResult, step: TestStep): void { - } - - onStepEnd(test: TestCase, result: TestResult, step: TestStep): void { - } - - async onExit() { - } - - printsToStdio() { - return true; - } - protected fitToScreen(line: string, prefix?: string): string { if (!ttyWidth) { // Guard against the case where we cannot determine available width. diff --git a/packages/playwright/src/reporters/dot.ts b/packages/playwright/src/reporters/dot.ts index 05d2da1e4e..169af3b1e7 100644 --- a/packages/playwright/src/reporters/dot.ts +++ b/packages/playwright/src/reporters/dot.ts @@ -20,10 +20,6 @@ import type { FullResult, TestCase, TestResult, Suite, TestError } from '../../t class DotReporter extends BaseReporter { private _counter = 0; - override printsToStdio() { - return true; - } - override onBegin(suite: Suite) { super.onBegin(suite); console.log(this.generateStartingMessage()); diff --git a/packages/playwright/src/reporters/empty.ts b/packages/playwright/src/reporters/empty.ts index 09bd63668c..3bab9bda0f 100644 --- a/packages/playwright/src/reporters/empty.ts +++ b/packages/playwright/src/reporters/empty.ts @@ -15,49 +15,15 @@ */ import type { ReporterV2 } from './reporterV2'; -import type { FullConfig, TestCase, TestError, TestResult, FullResult, TestStep, Suite } from '../../types/testReporter'; class EmptyReporter implements ReporterV2 { - onConfigure(config: FullConfig) { - } - - onBegin(suite: Suite) { - } - - onTestBegin(test: TestCase, result: TestResult) { - } - - onStdOut(chunk: string | Buffer, test?: TestCase, result?: TestResult) { - } - - onStdErr(chunk: string | Buffer, test?: TestCase, result?: TestResult) { - } - - onTestEnd(test: TestCase, result: TestResult) { - } - - async onEnd(result: FullResult) { - } - - async onExit() { - } - - onError(error: TestError) { - } - - onStepBegin(test: TestCase, result: TestResult, step: TestStep) { - } - - onStepEnd(test: TestCase, result: TestResult, step: TestStep) { + version(): 'v2' { + return 'v2'; } printsToStdio() { return false; } - - version(): 'v2' { - return 'v2'; - } } export default EmptyReporter; diff --git a/packages/playwright/src/reporters/github.ts b/packages/playwright/src/reporters/github.ts index 85bd4f8525..dc03677714 100644 --- a/packages/playwright/src/reporters/github.ts +++ b/packages/playwright/src/reporters/github.ts @@ -59,7 +59,7 @@ class GitHubLogger { export class GitHubReporter extends BaseReporter { githubLogger = new GitHubLogger(); - override printsToStdio() { + printsToStdio() { return false; } diff --git a/packages/playwright/src/reporters/html.ts b/packages/playwright/src/reporters/html.ts index 7b279a70a1..fd1fb0cbdf 100644 --- a/packages/playwright/src/reporters/html.ts +++ b/packages/playwright/src/reporters/html.ts @@ -30,7 +30,7 @@ import type { ZipFile } from 'playwright-core/lib/zipBundle'; import { yazl } from 'playwright-core/lib/zipBundle'; import { mime } from 'playwright-core/lib/utilsBundle'; import type { HTMLReport, Stats, TestAttachment, TestCase, TestCaseSummary, TestFile, TestFileSummary, TestResult, TestStep } from '@html-reporter/types'; -import EmptyReporter from './empty'; +import type { ReporterV2 } from './reporterV2'; type TestEntry = { testCase: TestCase; @@ -55,7 +55,7 @@ type HtmlReporterOptions = { _isTestServer?: boolean; }; -class HtmlReporter extends EmptyReporter { +class HtmlReporter implements ReporterV2 { private config!: FullConfig; private suite!: Suite; private _options: HtmlReporterOptions; @@ -68,19 +68,22 @@ class HtmlReporter extends EmptyReporter { private _topLevelErrors: TestError[] = []; constructor(options: HtmlReporterOptions) { - super(); this._options = options; } - override printsToStdio() { + version(): 'v2' { + return 'v2'; + } + + printsToStdio() { return false; } - override onConfigure(config: FullConfig) { + onConfigure(config: FullConfig) { this.config = config; } - override onBegin(suite: Suite) { + onBegin(suite: Suite) { const { outputFolder, open, attachmentsBaseURL, host, port } = this._resolveOptions(); this._outputFolder = outputFolder; this._open = open; @@ -122,18 +125,18 @@ class HtmlReporter extends EmptyReporter { return !!relativePath && !relativePath.startsWith('..') && !path.isAbsolute(relativePath); } - override onError(error: TestError): void { + onError(error: TestError): void { this._topLevelErrors.push(error); } - override async onEnd(result: FullResult) { + async onEnd(result: FullResult) { const projectSuites = this.suite.suites; await removeFolders([this._outputFolder]); const builder = new HtmlBuilder(this.config, this._outputFolder, this._attachmentsBaseURL); this._buildResult = await builder.build(this.config.metadata, projectSuites, result, this._topLevelErrors); } - override async onExit() { + async onExit() { if (process.env.CI || !this._buildResult) return; const { ok, singleTestId } = this._buildResult; diff --git a/packages/playwright/src/reporters/internalReporter.ts b/packages/playwright/src/reporters/internalReporter.ts index 392a8d9374..3526f89e0d 100644 --- a/packages/playwright/src/reporters/internalReporter.ts +++ b/packages/playwright/src/reporters/internalReporter.ts @@ -23,7 +23,7 @@ import type { ReporterV2 } from './reporterV2'; import { monotonicTime } from 'playwright-core/lib/utils'; import { Multiplexer } from './multiplexer'; -export class InternalReporter { +export class InternalReporter implements ReporterV2 { private _reporter: ReporterV2; private _didBegin = false; private _config!: FullConfig; @@ -42,29 +42,29 @@ export class InternalReporter { this._config = config; this._startTime = new Date(); this._monotonicStartTime = monotonicTime(); - this._reporter.onConfigure(config); + this._reporter.onConfigure?.(config); } onBegin(suite: Suite) { this._didBegin = true; - this._reporter.onBegin(suite); + this._reporter.onBegin?.(suite); } onTestBegin(test: TestCase, result: TestResult) { - this._reporter.onTestBegin(test, result); + this._reporter.onTestBegin?.(test, result); } onStdOut(chunk: string | Buffer, test?: TestCase, result?: TestResult) { - this._reporter.onStdOut(chunk, test, result); + this._reporter.onStdOut?.(chunk, test, result); } onStdErr(chunk: string | Buffer, test?: TestCase, result?: TestResult) { - this._reporter.onStdErr(chunk, test, result); + this._reporter.onStdErr?.(chunk, test, result); } onTestEnd(test: TestCase, result: TestResult) { this._addSnippetToTestErrors(test, result); - this._reporter.onTestEnd(test, result); + this._reporter.onTestEnd?.(test, result); } async onEnd(result: { status: FullResult['status'] }) { @@ -72,7 +72,7 @@ export class InternalReporter { // onBegin was not reported, emit it. this.onBegin(new Suite('', 'root')); } - return await this._reporter.onEnd({ + return await this._reporter.onEnd?.({ ...result, startTime: this._startTime!, duration: monotonicTime() - this._monotonicStartTime!, @@ -80,25 +80,25 @@ export class InternalReporter { } async onExit() { - await this._reporter.onExit(); + await this._reporter.onExit?.(); } onError(error: TestError) { addLocationAndSnippetToError(this._config, error); - this._reporter.onError(error); + this._reporter.onError?.(error); } onStepBegin(test: TestCase, result: TestResult, step: TestStep) { - this._reporter.onStepBegin(test, result, step); + this._reporter.onStepBegin?.(test, result, step); } onStepEnd(test: TestCase, result: TestResult, step: TestStep) { this._addSnippetToStepError(test, step); - this._reporter.onStepEnd(test, result, step); + this._reporter.onStepEnd?.(test, result, step); } printsToStdio() { - return this._reporter.printsToStdio(); + return this._reporter.printsToStdio ? this._reporter.printsToStdio() : true; } private _addSnippetToTestErrors(test: TestCase, result: TestResult) { diff --git a/packages/playwright/src/reporters/json.ts b/packages/playwright/src/reporters/json.ts index 62a625db5d..e2b7ddf872 100644 --- a/packages/playwright/src/reporters/json.ts +++ b/packages/playwright/src/reporters/json.ts @@ -20,41 +20,44 @@ import type { FullConfig, TestCase, Suite, TestResult, TestError, TestStep, Full import { formatError, prepareErrorStack, resolveOutputFile } from './base'; import { MultiMap, toPosixPath } from 'playwright-core/lib/utils'; import { getProjectId } from '../common/config'; -import EmptyReporter from './empty'; +import type { ReporterV2 } from './reporterV2'; type JSONOptions = { outputFile?: string, configDir: string, }; -class JSONReporter extends EmptyReporter { +class JSONReporter implements ReporterV2 { config!: FullConfig; suite!: Suite; private _errors: TestError[] = []; private _resolvedOutputFile: string | undefined; constructor(options: JSONOptions) { - super(); this._resolvedOutputFile = resolveOutputFile('JSON', options)?.outputFile; } - override printsToStdio() { + version(): 'v2' { + return 'v2'; + } + + printsToStdio() { return !this._resolvedOutputFile; } - override onConfigure(config: FullConfig) { + onConfigure(config: FullConfig) { this.config = config; } - override onBegin(suite: Suite) { + onBegin(suite: Suite) { this.suite = suite; } - override onError(error: TestError): void { + onError(error: TestError): void { this._errors.push(error); } - override async onEnd(result: FullResult) { + async onEnd(result: FullResult) { await outputReport(this._serializeReport(result), this._resolvedOutputFile); } diff --git a/packages/playwright/src/reporters/junit.ts b/packages/playwright/src/reporters/junit.ts index 61cf7e8e99..befd652e4b 100644 --- a/packages/playwright/src/reporters/junit.ts +++ b/packages/playwright/src/reporters/junit.ts @@ -18,8 +18,8 @@ import fs from 'fs'; import path from 'path'; import type { FullConfig, FullResult, Suite, TestCase } from '../../types/testReporter'; import { formatFailure, resolveOutputFile, stripAnsiEscapes } from './base'; -import EmptyReporter from './empty'; import { getAsBooleanFromENV } from 'playwright-core/lib/utils'; +import type { ReporterV2 } from './reporterV2'; type JUnitOptions = { outputFile?: string, @@ -29,7 +29,7 @@ type JUnitOptions = { configDir: string, }; -class JUnitReporter extends EmptyReporter { +class JUnitReporter implements ReporterV2 { private config!: FullConfig; private configDir: string; private suite!: Suite; @@ -42,27 +42,30 @@ class JUnitReporter extends EmptyReporter { private includeProjectInTestName = false; constructor(options: JUnitOptions) { - super(); this.stripANSIControlSequences = getAsBooleanFromENV('PLAYWRIGHT_JUNIT_STRIP_ANSI', !!options.stripANSIControlSequences); this.includeProjectInTestName = getAsBooleanFromENV('PLAYWRIGHT_JUNIT_INCLUDE_PROJECT_IN_TEST_NAME', !!options.includeProjectInTestName); this.configDir = options.configDir; this.resolvedOutputFile = resolveOutputFile('JUNIT', options)?.outputFile; } - override printsToStdio() { + version(): 'v2' { + return 'v2'; + } + + printsToStdio() { return !this.resolvedOutputFile; } - override onConfigure(config: FullConfig) { + onConfigure(config: FullConfig) { this.config = config; } - override onBegin(suite: Suite) { + onBegin(suite: Suite) { this.suite = suite; this.timestamp = new Date(); } - override async onEnd(result: FullResult) { + async onEnd(result: FullResult) { const children: XMLEntry[] = []; for (const projectSuite of this.suite.suites) { for (const fileSuite of projectSuite.suites) diff --git a/packages/playwright/src/reporters/line.ts b/packages/playwright/src/reporters/line.ts index 7d875d0f31..af4c786e16 100644 --- a/packages/playwright/src/reporters/line.ts +++ b/packages/playwright/src/reporters/line.ts @@ -23,10 +23,6 @@ class LineReporter extends BaseReporter { private _lastTest: TestCase | undefined; private _didBegin = false; - override printsToStdio() { - return true; - } - override onBegin(suite: Suite) { super.onBegin(suite); const startingMessage = this.generateStartingMessage(); @@ -66,20 +62,17 @@ class LineReporter extends BaseReporter { console.log(); } - override onTestBegin(test: TestCase, result: TestResult) { - super.onTestBegin(test, result); + onTestBegin(test: TestCase, result: TestResult) { ++this._current; this._updateLine(test, result, undefined); } - override onStepBegin(test: TestCase, result: TestResult, step: TestStep) { - super.onStepBegin(test, result, step); + onStepBegin(test: TestCase, result: TestResult, step: TestStep) { if (step.category === 'test.step') this._updateLine(test, result, step); } - override onStepEnd(test: TestCase, result: TestResult, step: TestStep) { - super.onStepEnd(test, result, step); + onStepEnd(test: TestCase, result: TestResult, step: TestStep) { if (step.category === 'test.step') this._updateLine(test, result, step.parent); } diff --git a/packages/playwright/src/reporters/list.ts b/packages/playwright/src/reporters/list.ts index f87a7d4fe8..8704bfe104 100644 --- a/packages/playwright/src/reporters/list.ts +++ b/packages/playwright/src/reporters/list.ts @@ -39,10 +39,6 @@ class ListReporter extends BaseReporter { this._printSteps = getAsBooleanFromENV('PLAYWRIGHT_LIST_PRINT_STEPS', options.printSteps); } - override printsToStdio() { - return true; - } - override onBegin(suite: Suite) { super.onBegin(suite); const startingMessage = this.generateStartingMessage(); @@ -52,9 +48,7 @@ class ListReporter extends BaseReporter { } } - override onTestBegin(test: TestCase, result: TestResult) { - super.onTestBegin(test, result); - + onTestBegin(test: TestCase, result: TestResult) { const index = String(this._resultIndex.size + 1); this._resultIndex.set(result, index); @@ -88,8 +82,7 @@ class ListReporter extends BaseReporter { return stepIndex; } - override onStepBegin(test: TestCase, result: TestResult, step: TestStep) { - super.onStepBegin(test, result, step); + onStepBegin(test: TestCase, result: TestResult, step: TestStep) { if (step.category !== 'test.step') return; const testIndex = this._resultIndex.get(result) || ''; @@ -108,8 +101,7 @@ class ListReporter extends BaseReporter { } } - override onStepEnd(test: TestCase, result: TestResult, step: TestStep) { - super.onStepEnd(test, result, step); + onStepEnd(test: TestCase, result: TestResult, step: TestStep) { if (step.category !== 'test.step') return; diff --git a/packages/playwright/src/reporters/markdown.ts b/packages/playwright/src/reporters/markdown.ts index a32d7bda42..fe8c83cdd4 100644 --- a/packages/playwright/src/reporters/markdown.ts +++ b/packages/playwright/src/reporters/markdown.ts @@ -34,7 +34,7 @@ class MarkdownReporter extends BaseReporter { this._options = options; } - override printsToStdio() { + printsToStdio() { return false; } diff --git a/packages/playwright/src/reporters/multiplexer.ts b/packages/playwright/src/reporters/multiplexer.ts index bfd91f3350..b666128ab4 100644 --- a/packages/playwright/src/reporters/multiplexer.ts +++ b/packages/playwright/src/reporters/multiplexer.ts @@ -31,37 +31,37 @@ export class Multiplexer implements ReporterV2 { onConfigure(config: FullConfig) { for (const reporter of this._reporters) - wrap(() => reporter.onConfigure(config)); + wrap(() => reporter.onConfigure?.(config)); } onBegin(suite: Suite) { for (const reporter of this._reporters) - wrap(() => reporter.onBegin(suite)); + wrap(() => reporter.onBegin?.(suite)); } onTestBegin(test: TestCase, result: TestResult) { for (const reporter of this._reporters) - wrap(() => reporter.onTestBegin(test, result)); + wrap(() => reporter.onTestBegin?.(test, result)); } onStdOut(chunk: string | Buffer, test?: TestCase, result?: TestResult) { for (const reporter of this._reporters) - wrap(() => reporter.onStdOut(chunk, test, result)); + wrap(() => reporter.onStdOut?.(chunk, test, result)); } onStdErr(chunk: string | Buffer, test?: TestCase, result?: TestResult) { for (const reporter of this._reporters) - wrap(() => reporter.onStdErr(chunk, test, result)); + wrap(() => reporter.onStdErr?.(chunk, test, result)); } onTestEnd(test: TestCase, result: TestResult) { for (const reporter of this._reporters) - wrap(() => reporter.onTestEnd(test, result)); + wrap(() => reporter.onTestEnd?.(test, result)); } async onEnd(result: FullResult) { for (const reporter of this._reporters) { - const outResult = await wrapAsync(() => reporter.onEnd(result)); + const outResult = await wrapAsync(() => reporter.onEnd?.(result)); if (outResult?.status) result.status = outResult.status; } @@ -70,28 +70,28 @@ export class Multiplexer implements ReporterV2 { async onExit() { for (const reporter of this._reporters) - await wrapAsync(() => reporter.onExit()); + await wrapAsync(() => reporter.onExit?.()); } onError(error: TestError) { for (const reporter of this._reporters) - wrap(() => reporter.onError(error)); + wrap(() => reporter.onError?.(error)); } onStepBegin(test: TestCase, result: TestResult, step: TestStep) { for (const reporter of this._reporters) - wrap(() => reporter.onStepBegin(test, result, step)); + wrap(() => reporter.onStepBegin?.(test, result, step)); } onStepEnd(test: TestCase, result: TestResult, step: TestStep) { for (const reporter of this._reporters) - wrap(() => reporter.onStepEnd(test, result, step)); + wrap(() => reporter.onStepEnd?.(test, result, step)); } printsToStdio(): boolean { return this._reporters.some(r => { - let prints = true; - wrap(() => prints = r.printsToStdio()); + let prints = false; + wrap(() => prints = r.printsToStdio ? r.printsToStdio() : true); return prints; }); } diff --git a/packages/playwright/src/reporters/reporterV2.ts b/packages/playwright/src/reporters/reporterV2.ts index 3d640f97c3..2cdffdfe12 100644 --- a/packages/playwright/src/reporters/reporterV2.ts +++ b/packages/playwright/src/reporters/reporterV2.ts @@ -17,18 +17,18 @@ import type { FullConfig, TestCase, TestError, TestResult, FullResult, TestStep, Reporter, Suite } from '../../types/testReporter'; export interface ReporterV2 { - onConfigure(config: FullConfig): void; - onBegin(suite: Suite): void; - onTestBegin(test: TestCase, result: TestResult): void; - onStdOut(chunk: string | Buffer, test?: TestCase, result?: TestResult): void; - onStdErr(chunk: string | Buffer, test?: TestCase, result?: TestResult): void; - onTestEnd(test: TestCase, result: TestResult): void; - onEnd(result: FullResult): Promise<{ status?: FullResult['status'] } | undefined | void> | void; - onExit(): void | Promise; - onError(error: TestError): void; - onStepBegin(test: TestCase, result: TestResult, step: TestStep): void; - onStepEnd(test: TestCase, result: TestResult, step: TestStep): void; - printsToStdio(): boolean; + onConfigure?(config: FullConfig): void; + onBegin?(suite: Suite): void; + onTestBegin?(test: TestCase, result: TestResult): void; + onStdOut?(chunk: string | Buffer, test?: TestCase, result?: TestResult): void; + onStdErr?(chunk: string | Buffer, test?: TestCase, result?: TestResult): void; + onTestEnd?(test: TestCase, result: TestResult): void; + onEnd?(result: FullResult): Promise<{ status?: FullResult['status'] } | undefined | void> | void; + onExit?(): void | Promise; + onError?(error: TestError): void; + onStepBegin?(test: TestCase, result: TestResult, step: TestStep): void; + onStepEnd?(test: TestCase, result: TestResult, step: TestStep): void; + printsToStdio?(): boolean; version(): 'v2'; } diff --git a/packages/playwright/src/reporters/teleEmitter.ts b/packages/playwright/src/reporters/teleEmitter.ts index 670a8c16c8..f56178114d 100644 --- a/packages/playwright/src/reporters/teleEmitter.ts +++ b/packages/playwright/src/reporters/teleEmitter.ts @@ -145,9 +145,6 @@ export class TeleReporterEmitter implements ReporterV2 { }); } - async onExit() { - } - printsToStdio() { return false; } diff --git a/packages/playwright/src/runner/dispatcher.ts b/packages/playwright/src/runner/dispatcher.ts index ad44ce453e..4e971f2475 100644 --- a/packages/playwright/src/runner/dispatcher.ts +++ b/packages/playwright/src/runner/dispatcher.ts @@ -198,17 +198,17 @@ export class Dispatcher { worker.on('stdOut', (params: TestOutputPayload) => { const { chunk, test, result } = handleOutput(params); result?.stdout.push(chunk); - this._reporter.onStdOut(chunk, test, result); + this._reporter.onStdOut?.(chunk, test, result); }); worker.on('stdErr', (params: TestOutputPayload) => { const { chunk, test, result } = handleOutput(params); result?.stderr.push(chunk); - this._reporter.onStdErr(chunk, test, result); + this._reporter.onStdErr?.(chunk, test, result); }); worker.on('teardownErrors', (params: TeardownErrorsPayload) => { this._failureTracker.onWorkerError(); for (const error of params.fatalErrors) - this._reporter.onError(error); + this._reporter.onError?.(error); }); worker.on('exit', () => { const producedEnv = this._producedEnvByProjectId.get(testGroup.projectId) || {}; @@ -257,7 +257,7 @@ class JobDispatcher { result.parallelIndex = this._parallelIndex; result.workerIndex = this._workerIndex; result.startTime = new Date(params.startWallTime); - this._reporter.onTestBegin(test, result); + this._reporter.onTestBegin?.(test, result); this._currentlyRunning = { test, result }; } @@ -323,7 +323,7 @@ class JobDispatcher { }; steps.set(params.stepId, step); (parentStep || result).steps.push(step); - this._reporter.onStepBegin(test, result, step); + this._reporter.onStepBegin?.(test, result, step); } private _onStepEnd(params: StepEndPayload) { @@ -335,14 +335,14 @@ class JobDispatcher { const { result, steps, test } = data; const step = steps.get(params.stepId); if (!step) { - this._reporter.onStdErr('Internal error: step end without step begin: ' + params.stepId, test, result); + this._reporter.onStdErr?.('Internal error: step end without step begin: ' + params.stepId, test, result); return; } step.duration = params.wallTime - step.startTime.getTime(); if (params.error) step.error = params.error; steps.delete(params.stepId); - this._reporter.onStepEnd(test, result, step); + this._reporter.onStepEnd?.(test, result, step); } private _onAttach(params: AttachmentPayload) { @@ -368,7 +368,7 @@ class JobDispatcher { result = runData.result; } else { result = test._appendTestResult(); - this._reporter.onTestBegin(test, result); + this._reporter.onTestBegin?.(test, result); } result.errors = [...errors]; result.error = result.errors[0]; @@ -392,7 +392,7 @@ class JobDispatcher { // Let's just fail the test run. this._failureTracker.onWorkerError(); for (const error of errors) - this._reporter.onError(error); + this._reporter.onError?.(error); } } @@ -526,7 +526,7 @@ class JobDispatcher { if (allTestsSkipped && !this._failureTracker.hasReachedMaxFailures()) { for (const test of this._job.tests) { const result = test._appendTestResult(); - this._reporter.onTestBegin(test, result); + this._reporter.onTestBegin?.(test, result); result.status = 'skipped'; this._reportTestEnd(test, result); } @@ -540,13 +540,13 @@ class JobDispatcher { } private _reportTestEnd(test: TestCase, result: TestResult) { - this._reporter.onTestEnd(test, result); + this._reporter.onTestEnd?.(test, result); const hadMaxFailures = this._failureTracker.hasReachedMaxFailures(); this._failureTracker.onTestEnd(test, result); if (this._failureTracker.hasReachedMaxFailures()) { this._stopCallback(); if (!hadMaxFailures) - this._reporter.onError({ message: colors.red(`Testing stopped early after ${this._failureTracker.maxFailures()} maximum allowed failures.`) }); + this._reporter.onError?.({ message: colors.red(`Testing stopped early after ${this._failureTracker.maxFailures()} maximum allowed failures.`) }); } } } diff --git a/packages/playwright/src/runner/lastRun.ts b/packages/playwright/src/runner/lastRun.ts new file mode 100644 index 0000000000..407543041e --- /dev/null +++ b/packages/playwright/src/runner/lastRun.ts @@ -0,0 +1,71 @@ +/** + * Copyright Microsoft Corporation. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import fs from 'fs'; +import path from 'path'; +import type { FullResult, Suite } from '../../types/testReporter'; +import { filterProjects } from './projectUtils'; +import type { FullConfigInternal } from '../common/config'; +import type { ReporterV2 } from '../reporters/reporterV2'; + +type LastRunInfo = { + status: FullResult['status']; + failedTests: string[]; +}; + +export class LastRunReporter implements ReporterV2 { + private _config: FullConfigInternal; + private _lastRunFile: string | undefined; + private _suite: Suite | undefined; + + constructor(config: FullConfigInternal) { + this._config = config; + const [project] = filterProjects(config.projects, config.cliProjectFilter); + if (project) + this._lastRunFile = path.join(project.project.outputDir, '.last-run.json'); + } + + async filterLastFailed() { + if (!this._lastRunFile) + return; + try { + const lastRunInfo = JSON.parse(await fs.promises.readFile(this._lastRunFile, 'utf8')) as LastRunInfo; + this._config.testIdMatcher = id => lastRunInfo.failedTests.includes(id); + } catch { + } + } + + version(): 'v2' { + return 'v2'; + } + + printsToStdio() { + return false; + } + + onBegin(suite: Suite) { + this._suite = suite; + } + + async onEnd(result: FullResult) { + if (!this._lastRunFile || this._config.cliListOnly) + return; + await fs.promises.mkdir(path.dirname(this._lastRunFile), { recursive: true }); + const failedTests = this._suite?.allTests().filter(t => !t.ok()).map(t => t.id); + const lastRunReport = JSON.stringify({ status: result.status, failedTests }, undefined, 2); + await fs.promises.writeFile(this._lastRunFile, lastRunReport); + } +} diff --git a/packages/playwright/src/runner/reporters.ts b/packages/playwright/src/runner/reporters.ts index afe9c878bf..7217b70eec 100644 --- a/packages/playwright/src/runner/reporters.ts +++ b/packages/playwright/src/runner/reporters.ts @@ -68,7 +68,7 @@ export async function createReporters(config: FullConfigInternal, mode: 'list' | reporters.push(wrapReporterAsV2(new reporterConstructor(runOptions))); } - const someReporterPrintsToStdio = reporters.some(r => r.printsToStdio()); + const someReporterPrintsToStdio = reporters.some(r => r.printsToStdio ? r.printsToStdio() : true); if (reporters.length && !someReporterPrintsToStdio) { // Add a line/dot/list-mode reporter for convenience. // Important to put it first, just in case some other reporter stalls onEnd. @@ -100,16 +100,15 @@ interface ErrorCollectingReporter extends ReporterV2 { export function createErrorCollectingReporter(writeToConsole?: boolean): ErrorCollectingReporter { const errors: TestError[] = []; - const reporterV2 = wrapReporterAsV2({ + return { + version: () => 'v2', onError(error: TestError) { errors.push(error); if (writeToConsole) process.stdout.write(formatError(error, colors.enabled).message + '\n'); - } - }); - const reporter = reporterV2 as ErrorCollectingReporter; - reporter.errors = () => errors; - return reporter; + }, + errors: () => errors, + }; } function reporterOptions(config: FullConfigInternal, mode: 'list' | 'test' | 'merge', isTestServer: boolean) { @@ -140,14 +139,18 @@ function computeCommandHash(config: FullConfigInternal) { return parts.join('-'); } -class ListModeReporter extends EmptyReporter { +class ListModeReporter implements ReporterV2 { private config!: FullConfig; - override onConfigure(config: FullConfig) { + version(): 'v2' { + return 'v2'; + } + + onConfigure(config: FullConfig) { this.config = config; } - override onBegin(suite: Suite): void { + onBegin(suite: Suite): void { // eslint-disable-next-line no-console console.log(`Listing tests:`); const tests = suite.allTests(); @@ -165,12 +168,8 @@ class ListModeReporter extends EmptyReporter { console.log(`Total: ${tests.length} ${tests.length === 1 ? 'test' : 'tests'} in ${files.size} ${files.size === 1 ? 'file' : 'files'}`); } - override onError(error: TestError) { + onError(error: TestError) { // eslint-disable-next-line no-console console.error('\n' + formatError(error, false).message); } - - override printsToStdio(): boolean { - return true; - } } diff --git a/packages/playwright/src/runner/runner.ts b/packages/playwright/src/runner/runner.ts index 181aea26cc..22f8204592 100644 --- a/packages/playwright/src/runner/runner.ts +++ b/packages/playwright/src/runner/runner.ts @@ -15,8 +15,6 @@ * limitations under the License. */ -import fs from 'fs'; -import path from 'path'; import { monotonicTime } from 'playwright-core/lib/utils'; import type { FullResult, TestError } from '../../types/testReporter'; import { webServerPluginsForConfig } from '../plugins/webServerPlugin'; @@ -26,6 +24,7 @@ import { TestRun, createTaskRunner, createTaskRunnerForClearCache, createTaskRun import type { FullConfigInternal } from '../common/config'; import { affectedTestFiles } from '../transform/compilationCache'; import { InternalReporter } from '../reporters/internalReporter'; +import { LastRunReporter } from './lastRun'; type ProjectConfigWithFiles = { name: string; @@ -76,7 +75,11 @@ export class Runner { webServerPluginsForConfig(config).forEach(p => config.plugins.push({ factory: p })); const reporters = await createReporters(config, listOnly ? 'list' : 'test', false); - const reporter = new InternalReporter(reporters); + const lastRun = new LastRunReporter(config); + if (config.cliLastFailed) + await lastRun.filterLastFailed(); + + const reporter = new InternalReporter([...reporters, lastRun]); const taskRunner = listOnly ? createTaskRunnerForList( config, reporter, @@ -140,22 +143,3 @@ export class Runner { return { status }; } } - -export type LastRunInfo = { - status: FullResult['status']; - failedTests: string[]; - testDurations?: { [testId: string]: number }; -}; - -export async function readLastRunInfo(config: FullConfigInternal): Promise { - const [project] = filterProjects(config.projects, config.cliProjectFilter); - if (!project) - return { status: 'passed', failedTests: [] }; - const outputDir = project.project.outputDir; - try { - const lastRunReportFile = config.lastRunFile || path.join(outputDir, '.last-run.json'); - return JSON.parse(await fs.promises.readFile(lastRunReportFile, 'utf8')) as LastRunInfo; - } catch { - } - return { status: 'passed', failedTests: [] }; -} diff --git a/packages/playwright/src/runner/tasks.ts b/packages/playwright/src/runner/tasks.ts index 6b8c9f7464..8281cc3d39 100644 --- a/packages/playwright/src/runner/tasks.ts +++ b/packages/playwright/src/runner/tasks.ts @@ -159,7 +159,7 @@ export function createTaskRunnerForClearCache(config: FullConfigInternal, report function createReportBeginTask(): Task { return { setup: async (reporter, { rootSuite }) => { - reporter.onBegin(rootSuite!); + reporter.onBegin?.(rootSuite!); }, teardown: async ({}) => {}, }; diff --git a/packages/playwright/types/test.d.ts b/packages/playwright/types/test.d.ts index 1c384aec01..9e88214796 100644 --- a/packages/playwright/types/test.d.ts +++ b/packages/playwright/types/test.d.ts @@ -8224,7 +8224,7 @@ export interface TestInfo { title: string; /** - * The full title path starting with the project. + * The full title path starting with the test file name. */ titlePath: Array; diff --git a/packages/trace-viewer/src/entries.ts b/packages/trace-viewer/src/entries.ts index 98d39927f7..dbfec63be8 100644 --- a/packages/trace-viewer/src/entries.ts +++ b/packages/trace-viewer/src/entries.ts @@ -45,6 +45,7 @@ export type PageEntry = { screencastFrames: { sha1: string, timestamp: number, + frameSwapWallTime?: number, width: number, height: number, }[]; diff --git a/packages/trace-viewer/src/snapshotRenderer.ts b/packages/trace-viewer/src/snapshotRenderer.ts index 11e63de04f..0d2f2af502 100644 --- a/packages/trace-viewer/src/snapshotRenderer.ts +++ b/packages/trace-viewer/src/snapshotRenderer.ts @@ -346,6 +346,8 @@ function snapshotScript(...targetIds: (string | undefined)[]) { if (search.get('pointX') && search.get('pointY')) { const pointX = +search.get('pointX')!; const pointY = +search.get('pointY')!; + const hasInputTarget = search.has('hasInputTarget'); + const isTopFrame = window.location.pathname.match(/\/page@[a-z0-9]+$/); const hasTargetElements = targetElements.length > 0; const roots = document.documentElement ? [document.documentElement] : []; for (const target of (hasTargetElements ? targetElements : roots)) { @@ -370,7 +372,8 @@ function snapshotScript(...targetIds: (string | undefined)[]) { pointElement.style.left = centerX + 'px'; pointElement.style.top = centerY + 'px'; // "Warning symbol" indicates that action point is not 100% correct. - if (Math.abs(centerX - pointX) >= 10 || Math.abs(centerY - pointY) >= 10) { + // Note that action point is relative to the top frame, so we can only compare in the top frame. + if (isTopFrame && (Math.abs(centerX - pointX) >= 10 || Math.abs(centerY - pointY) >= 10)) { const warningElement = document.createElement('x-pw-pointer-warning'); warningElement.textContent = '⚠'; warningElement.style.fontSize = '19px'; @@ -380,13 +383,14 @@ function snapshotScript(...targetIds: (string | undefined)[]) { pointElement.appendChild(warningElement); pointElement.setAttribute('title', kPointerWarningTitle); } - } else { + document.documentElement.appendChild(pointElement); + } else if (isTopFrame && !hasInputTarget) { // For actions without a target element, e.g. page.mouse.move(), - // show the point at the recorder location. + // show the point at the recorded location, which is relative to the top frame. pointElement.style.left = pointX + 'px'; pointElement.style.top = pointY + 'px'; + document.documentElement.appendChild(pointElement); } - document.documentElement.appendChild(pointElement); } } }; diff --git a/packages/trace-viewer/src/snapshotServer.ts b/packages/trace-viewer/src/snapshotServer.ts index d41dcbdbbd..4b61104d33 100644 --- a/packages/trace-viewer/src/snapshotServer.ts +++ b/packages/trace-viewer/src/snapshotServer.ts @@ -46,6 +46,7 @@ export class SnapshotServer { viewport: snapshot.viewport(), url: snapshot.snapshot().frameUrl, timestamp: snapshot.snapshot().timestamp, + wallTime: snapshot.snapshot().wallTime, } : { error: 'No snapshot found' }); diff --git a/packages/trace-viewer/src/ui/snapshotTab.tsx b/packages/trace-viewer/src/ui/snapshotTab.tsx index 05d0cc5918..9dafa10b96 100644 --- a/packages/trace-viewer/src/ui/snapshotTab.tsx +++ b/packages/trace-viewer/src/ui/snapshotTab.tsx @@ -31,12 +31,12 @@ import { TabbedPaneTab } from '@web/components/tabbedPane'; import { BrowserFrame } from './browserFrame'; import { ClickPointer } from './clickPointer'; -function findClosest(items: T[], target: number) { +function findClosest(items: T[], metric: (v: T) => number, target: number) { return items.find((item, index) => { if (index === items.length - 1) return true; const next = items[index + 1]; - return Math.abs(item.timestamp - target) < Math.abs(next.timestamp - target); + return Math.abs(metric(item) - target) < Math.abs(metric(next) - target); }); } @@ -55,7 +55,7 @@ export const SnapshotTab: React.FunctionComponent<{ const [snapshotTab, setSnapshotTab] = React.useState<'action'|'before'|'after'>('action'); const [showScreenshotInsteadOfSnapshot] = useSetting('screenshot-instead-of-snapshot', false); - type Snapshot = { action: ActionTraceEvent, snapshotName: string, point?: { x: number, y: number } }; + type Snapshot = { action: ActionTraceEvent, snapshotName: string, point?: { x: number, y: number }, hasInputTarget?: boolean }; const { snapshots } = React.useMemo(() => { if (!action) return { snapshots: {} }; @@ -68,7 +68,7 @@ export const SnapshotTab: React.FunctionComponent<{ beforeSnapshot = a?.afterSnapshot ? { action: a, snapshotName: a?.afterSnapshot } : undefined; } const afterSnapshot: Snapshot | undefined = action.afterSnapshot ? { action, snapshotName: action.afterSnapshot } : beforeSnapshot; - const actionSnapshot: Snapshot | undefined = action.inputSnapshot ? { action, snapshotName: action.inputSnapshot } : afterSnapshot; + const actionSnapshot: Snapshot | undefined = action.inputSnapshot ? { action, snapshotName: action.inputSnapshot, hasInputTarget: true } : afterSnapshot; if (actionSnapshot) actionSnapshot.point = action.point; return { snapshots: { action: actionSnapshot, before: beforeSnapshot, after: afterSnapshot } }; @@ -85,6 +85,8 @@ export const SnapshotTab: React.FunctionComponent<{ if (snapshot.point) { params.set('pointX', String(snapshot.point.x)); params.set('pointY', String(snapshot.point.y)); + if (snapshot.hasInputTarget) + params.set('hasInputTarget', '1'); } const snapshotUrl = new URL(`snapshot/${snapshot.action.pageId}?${params.toString()}`, window.location.href).toString(); const snapshotInfoUrl = new URL(`snapshotInfo/${snapshot.action.pageId}?${params.toString()}`, window.location.href).toString(); @@ -95,6 +97,8 @@ export const SnapshotTab: React.FunctionComponent<{ if (snapshot.point) { popoutParams.set('pointX', String(snapshot.point.x)); popoutParams.set('pointY', String(snapshot.point.y)); + if (snapshot.hasInputTarget) + params.set('hasInputTarget', '1'); } const popoutUrl = new URL(`snapshot.html?${popoutParams.toString()}`, window.location.href).toString(); return { snapshots, snapshotInfoUrl, snapshotUrl, popoutUrl, point: snapshot.point }; @@ -102,7 +106,7 @@ export const SnapshotTab: React.FunctionComponent<{ const iframeRef0 = React.useRef(null); const iframeRef1 = React.useRef(null); - const [snapshotInfo, setSnapshotInfo] = React.useState<{ viewport: typeof kDefaultViewport, url: string, timestamp?: number }>({ viewport: kDefaultViewport, url: '', timestamp: undefined }); + const [snapshotInfo, setSnapshotInfo] = React.useState<{ viewport: typeof kDefaultViewport, url: string, timestamp?: number, wallTime?: undefined }>({ viewport: kDefaultViewport, url: '' }); const loadingRef = React.useRef({ iteration: 0, visibleIframe: 0 }); React.useEffect(() => { @@ -111,7 +115,7 @@ export const SnapshotTab: React.FunctionComponent<{ const newVisibleIframe = 1 - loadingRef.current.visibleIframe; loadingRef.current.iteration = thisIteration; - const newSnapshotInfo = { url: '', viewport: kDefaultViewport, timestamp: undefined }; + const newSnapshotInfo = { url: '', viewport: kDefaultViewport, timestamp: undefined, wallTime: undefined }; if (snapshotInfoUrl) { const response = await fetch(snapshotInfoUrl); const info = await response.json(); @@ -119,6 +123,7 @@ export const SnapshotTab: React.FunctionComponent<{ newSnapshotInfo.url = info.url; newSnapshotInfo.viewport = info.viewport; newSnapshotInfo.timestamp = info.timestamp; + newSnapshotInfo.wallTime = info.wallTime; } } @@ -170,10 +175,13 @@ export const SnapshotTab: React.FunctionComponent<{ const page = action ? pageForAction(action) : undefined; const screencastFrame = React.useMemo( () => { + if (snapshotInfo.wallTime && page?.screencastFrames[0]?.frameSwapWallTime) + return findClosest(page.screencastFrames, frame => frame.frameSwapWallTime!, snapshotInfo.wallTime); + if (snapshotInfo.timestamp && page?.screencastFrames) - return findClosest(page.screencastFrames, snapshotInfo.timestamp); + return findClosest(page.screencastFrames, frame => frame.timestamp, snapshotInfo.timestamp); }, - [page?.screencastFrames, snapshotInfo.timestamp] + [page?.screencastFrames, snapshotInfo.timestamp, snapshotInfo.wallTime] ); return
{ + const outcome = getOutcome(test); + const line = `${test.titlePath().slice(1).join(' › ')} [${outcome}]`; + return line; + }); + const outputFile = projectExpectationPath(project.title); + console.log('Writing new expectations to', outputFile); + fs.writeFileSync(outputFile, results.join('\n')); + } + + printsToStdio(): boolean { + return false; + } +} + +function getOutcome(test: TestCase): 'unknown' | 'flaky' | 'pass' | 'fail' | 'timeout' { + if (test.results.length === 0) + return 'unknown'; + if (test.results.every(r => r.status === 'timedOut')) + return 'timeout'; + if (test.outcome() === 'expected') + return 'pass'; + if (test.outcome() === 'unexpected') + return 'fail'; + if (test.outcome() === 'flaky') + return 'flaky'; + return 'unknown'; +} + +export default ExpectationReporter; \ No newline at end of file diff --git a/tests/bidi/expectationUtil.ts b/tests/bidi/expectationUtil.ts new file mode 100644 index 0000000000..f271a4981c --- /dev/null +++ b/tests/bidi/expectationUtil.ts @@ -0,0 +1,50 @@ +/** + * Copyright (c) Microsoft Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import fs from 'fs'; +import path from 'path'; +import type { TestInfo } from 'playwright/test'; + +type ShouldSkipPredicate = (info: TestInfo) => boolean; + +export async function parseBidiExpectations(projectName: string): Promise { + const filePath = projectExpectationPath(projectName); + try { + await fs.promises.access(filePath); + } catch (e) { + return () => false; + } + const content = await fs.promises.readFile(filePath); + const pairs = content.toString().split('\n').map(line => { + const match = /(?.+) \[(?[^\]]+)\]$/.exec(line); + if (!match) { + console.error('Bad expectation line: ' + line); + return undefined; + } + return [match.groups!.titlePath, match.groups!.expectation]; + }).filter(Boolean) as [string, string][]; + const expectationsMap = new Map(pairs); + + return (info: TestInfo) => { + const key = [info.project.name, ...info.titlePath].join(' › '); + const expectation = expectationsMap.get(key); + return expectation === 'fail' || expectation === 'timeout'; + }; +} + +export function projectExpectationPath(project: string): string { + return path.join(__dirname, 'expectations', project + '.txt'); +} diff --git a/tests/bidi/expectations/bidi-chromium-library.txt b/tests/bidi/expectations/bidi-chromium-library.txt new file mode 100644 index 0000000000..16df95a6d2 --- /dev/null +++ b/tests/bidi/expectations/bidi-chromium-library.txt @@ -0,0 +1,1910 @@ +bidi-chromium-library › library/beforeunload.spec.ts › should close browser with beforeunload page [pass] +bidi-chromium-library › library/beforeunload.spec.ts › should close browsercontext with beforeunload page [pass] +bidi-chromium-library › library/beforeunload.spec.ts › should be able to navigate away from page with beforeunload [pass] +bidi-chromium-library › library/beforeunload.spec.ts › should close page with beforeunload listener [pass] +bidi-chromium-library › library/beforeunload.spec.ts › should run beforeunload if asked for @smoke [timeout] +bidi-chromium-library › library/beforeunload.spec.ts › should access page after beforeunload [timeout] +bidi-chromium-library › library/beforeunload.spec.ts › should not stall on evaluate when dismissing beforeunload [pass] +bidi-chromium-library › library/browser.spec.ts › should return browserType [pass] +bidi-chromium-library › library/browser.spec.ts › should create new page @smoke [pass] +bidi-chromium-library › library/browser.spec.ts › should throw upon second create new page [pass] +bidi-chromium-library › library/browser.spec.ts › version should work [unknown] +bidi-chromium-library › library/browser.spec.ts › should dispatch page.on(close) upon browser.close and reject evaluate [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should work @smoke [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should work with expires=-1 [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should add cookies with empty value [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should roundtrip cookie [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should send cookie header [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should isolate cookies in browser contexts [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should isolate session cookies [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should isolate persistent cookies [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should isolate send cookie header [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should isolate cookies between launches [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should set multiple cookies [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should have |expires| set to |-1| for session cookies [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should set cookie with reasonable defaults [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should set a cookie with a path [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should not set a cookie with blank page URL [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should not set a cookie on a data URL page [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should default to setting secure cookie for HTTPS websites [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should be able to set unsecure cookie for HTTP website [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should set a cookie on a different domain [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should set cookies for a frame [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should(not) block third party cookies [pass] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should not block third party SameSite=None cookies [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should allow unnamed cookies [unknown] +bidi-chromium-library › library/browsercontext-add-cookies.spec.ts › should set secure cookies on secure WebSocket [unknown] +bidi-chromium-library › library/browsercontext-add-init-script.spec.ts › should work with browser context scripts @smoke [pass] +bidi-chromium-library › library/browsercontext-add-init-script.spec.ts › should work without navigation, after all bindings [unknown] +bidi-chromium-library › library/browsercontext-add-init-script.spec.ts › should work without navigation in popup [unknown] +bidi-chromium-library › library/browsercontext-add-init-script.spec.ts › should work with browser context scripts with a path [pass] +bidi-chromium-library › library/browsercontext-add-init-script.spec.ts › should work with browser context scripts for already created pages [pass] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should construct a new URL when a baseURL in browser.newContext is passed to page.goto @smoke [pass] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should construct a new URL when a baseURL in browser.newPage is passed to page.goto [pass] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto [unknown] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should construct the URLs correctly when a baseURL without a trailing slash in browser.newPage is passed to page.goto [pass] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should construct the URLs correctly when a baseURL with a trailing slash in browser.newPage is passed to page.goto [pass] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should not construct a new URL when valid URLs are passed [pass] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should be able to match a URL relative to its given URL with urlMatcher [unknown] +bidi-chromium-library › library/browsercontext-base-url.spec.ts › should not construct a new URL with baseURL when a glob was used [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should create new context @smoke [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should be able to click across browser contexts [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › window.open should use parent tab context [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should isolate localStorage and cookies @smoke [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should propagate default viewport to the page [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should make a copy of default viewport [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should respect deviceScaleFactor [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should not allow deviceScaleFactor with null viewport [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should not allow isMobile with null viewport [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › close() should work for empty context [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › close() should abort waitForEvent [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › close() should be callable twice [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should pass self to close event [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should not report frameless pages on error [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should return all of the pages [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should close all belonging pages once closing context [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should disable javascript [unknown] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should be able to navigate after disabling javascript [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should not hang on promises after disabling javascript [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › setContent should work after disabling javascript [pass] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should work with offline option [unknown] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should emulate navigator.onLine [unknown] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should emulate media in popup [unknown] +bidi-chromium-library › library/browsercontext-basic.spec.ts › should emulate media in cross-process iframe [unknown] +bidi-chromium-library › library/browsercontext-basic.spec.ts › default user agent [pass] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should clear cookies [pass] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should isolate cookies when clearing [pass] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should remove cookies by name [unknown] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should remove cookies by name regex [unknown] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should remove cookies by domain [unknown] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should remove cookies by path [unknown] +bidi-chromium-library › library/browsercontext-clearcookies.spec.ts › should remove cookies by name and domain [unknown] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should return no cookies in pristine browser context [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should get a cookie @smoke [unknown] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should get a non-session cookie [fail] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should properly report httpOnly cookie [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should properly report "Strict" sameSite cookie [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should properly report "Lax" sameSite cookie [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should get multiple cookies [unknown] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should get cookies from multiple urls [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should work with subdomain cookie [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should return cookies with empty value [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should return secure cookies based on HTTP(S) protocol [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should add cookies with an expiration [pass] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should be able to send third party cookies via an iframe [fail] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should support requestStorageAccess [fail] +bidi-chromium-library › library/browsercontext-cookies.spec.ts › should parse cookie with large Max-Age correctly [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should fail without credentials [pass] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should work with setHTTPCredentials [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should work with correct credentials @smoke [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should fail with wrong credentials [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should return resource body [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should work with correct credentials and matching origin [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should work with correct credentials and matching origin case insensitive [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should fail with correct credentials and mismatching scheme [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should fail with correct credentials and mismatching hostname [fail] +bidi-chromium-library › library/browsercontext-credentials.spec.ts › should fail with correct credentials and mismatching port [fail] +bidi-chromium-library › library/browsercontext-csp.spec.ts › should bypass CSP meta tag @smoke [fail] +bidi-chromium-library › library/browsercontext-csp.spec.ts › should bypass CSP header [fail] +bidi-chromium-library › library/browsercontext-csp.spec.ts › should bypass after cross-process navigation [fail] +bidi-chromium-library › library/browsercontext-csp.spec.ts › should bypass CSP in iframes as well [fail] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should work @smoke [fail] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should support clicking [pass] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should scroll to click [pass] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should scroll twice when emulated [pass] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should reset scroll top after a navigation [pass] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should scroll to a precise position with mobile scale [pass] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should emulate viewport and screen size [fail] +bidi-chromium-library › library/browsercontext-device.spec.ts › device › should emulate viewport without screen size [fail] +bidi-chromium-library › library/browsercontext-dsf.spec.ts › should fetch lodpi assets @smoke [pass] +bidi-chromium-library › library/browsercontext-dsf.spec.ts › should fetch hidpi assets [pass] +bidi-chromium-library › library/browsercontext-events.spec.ts › console event should work @smoke [pass] +bidi-chromium-library › library/browsercontext-events.spec.ts › console event should work in popup [pass] +bidi-chromium-library › library/browsercontext-events.spec.ts › console event should work in popup 2 [timeout] +bidi-chromium-library › library/browsercontext-events.spec.ts › console event should work in immediately closed popup [timeout] +bidi-chromium-library › library/browsercontext-events.spec.ts › dialog event should work @smoke [pass] +bidi-chromium-library › library/browsercontext-events.spec.ts › dialog event should work in popup [timeout] +bidi-chromium-library › library/browsercontext-events.spec.ts › dialog event should work in popup 2 [pass] +bidi-chromium-library › library/browsercontext-events.spec.ts › dialog event should work in immediately closed popup [timeout] +bidi-chromium-library › library/browsercontext-events.spec.ts › dialog event should work with inline script tag [timeout] +bidi-chromium-library › library/browsercontext-events.spec.ts › weberror event should work [timeout] +bidi-chromium-library › library/browsercontext-expose-function.spec.ts › expose binding should work [fail] +bidi-chromium-library › library/browsercontext-expose-function.spec.ts › should work [fail] +bidi-chromium-library › library/browsercontext-expose-function.spec.ts › should throw for duplicate registrations [pass] +bidi-chromium-library › library/browsercontext-expose-function.spec.ts › should be callable from-inside addInitScript [fail] +bidi-chromium-library › library/browsercontext-expose-function.spec.ts › exposeBindingHandle should work [fail] +bidi-chromium-library › library/browsercontext-expose-function.spec.ts › should work with CSP [fail] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › gzip decompression › should support decompression [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › gzip decompression › should not fail if response content-length header is missing (gzip) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › gzip decompression › should not fail with chunked responses (without Content-Length header) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › gzip decompression › should not fail with an empty response without content-length header (Z_BUF_ERROR) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › gzip decompression › should not fail with an empty response with content-length header (Z_BUF_ERROR) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › deflate decompression › should support decompression [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › deflate decompression › should not fail if response content-length header is missing (deflate) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › deflate decompression › should not fail with chunked responses (without Content-Length header) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › deflate decompression › should not fail with an empty response without content-length header (Z_BUF_ERROR) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › deflate decompression › should not fail with an empty response with content-length header (Z_BUF_ERROR) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › br decompression › should support decompression [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › br decompression › should not fail if response content-length header is missing (br) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › br decompression › should not fail with chunked responses (without Content-Length header) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › br decompression › should not fail with an empty response without content-length header (Z_BUF_ERROR) [pass] +bidi-chromium-library › library/browsercontext-fetch-algorithms.spec.ts › algorithms › br decompression › should not fail with an empty response with content-length header (Z_BUF_ERROR) [pass] +bidi-chromium-library › library/browsercontext-fetch-happy-eyeballs.spec.ts › get should work [pass] +bidi-chromium-library › library/browsercontext-fetch-happy-eyeballs.spec.ts › get should work on request fixture [pass] +bidi-chromium-library › library/browsercontext-fetch-happy-eyeballs.spec.ts › https post should work with ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch-happy-eyeballs.spec.ts › should work with ip6 and port as the host [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › get should work @smoke [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetch should work [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw on network error [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw on network error after redirect [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw on network error when sending body [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw on network error when sending body after redirect [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should add session cookies to request [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetch should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetch should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetch should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetch should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetchshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › delete should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › delete should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › delete should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › delete should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › deleteshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › get should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › get should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › get should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › get should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › getshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › head should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › head should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › head should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › head should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › headshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › patch should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › patch should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › patch should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › patch should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › patchshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › post should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › post should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › post should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › post should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › postshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › put should support params passed as object [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › put should support params passed as URLSearchParams [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › put should support params passed as string [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › put should support failOnStatusCode [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › putshould support ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should not add context cookie if cookie header passed as a parameter [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should follow redirects [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should follow redirects correctly when Location header contains UTF-8 characters [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should add cookies from Set-Cookie header [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should preserve cookie order from Set-Cookie header [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support cookie with empty value [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should not lose body while handling Set-Cookie header [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should remove cookie with negative max-age [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should remove cookie with expires far in the past [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should handle cookies on redirects [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should return raw headers [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should work with http credentials [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should work with setHTTPCredentials [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should return error with wrong credentials [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support HTTPCredentials.send for newContext [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support HTTPCredentials.send for browser.newPage [fail] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › delete should support post data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › get should support post data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › head should support post data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › patch should support post data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › post should support post data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › put should support post data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should add default headers [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should send content-length [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should add default headers to redirects [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should allow to override default headers [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should propagate custom headers with redirects [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should propagate extra http headers with redirects [fail] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw on invalid header value [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw on non-http(s) protocol [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support https [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should inherit ignoreHTTPSErrors from context [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should resolve url relative to baseURL [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support gzip compression [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw informative error on corrupted gzip body [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support brotli compression [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw informative error on corrupted brotli body [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support deflate compression [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw informative error on corrupted deflate body [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support timeout option [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support a timeout of 0 [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should respect timeout after redirects [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should not hang on a brotli encoded Range request [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should dispose [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should dispose when context closes [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should override request parameters [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support application/x-www-form-urlencoded [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should encode to application/json by default [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support multipart/form-data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support multipart/form-data with ReadStream values [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support multipart/form-data and keep the order [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support repeating names in multipart/form-data [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should serialize data to json regardless of content-type [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should throw nice error on unsupported data type [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › context request should export same storage state as context [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should send secure cookie over http for localhost [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should accept bool and numeric params [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should abort requests when browser context closes [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should work with connectOverCDP [unknown] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support SameSite cookie attribute over https [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should set domain=localhost cookie [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › fetch should not throw on long set-cookie value [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should support set-cookie with SameSite and without Secure attribute over HTTP [fail] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should update host header on redirect [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should not work after dispose [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should not work after context dispose [pass] +bidi-chromium-library › library/browsercontext-fetch.spec.ts › should retry on ECONNRESET [pass] +bidi-chromium-library › library/browsercontext-har.spec.ts › should context.routeFromHAR, matching the method and following redirects [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should page.routeFromHAR, matching the method and following redirects [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › fallback:continue should continue when not found in har [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › by default should abort requests not found in har [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › fallback:continue should continue requests on bad har [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should only handle requests matching url filter [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should only context.routeFromHAR requests matching url filter [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should only page.routeFromHAR requests matching url filter [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should apply overrides before routing from har [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should support regex filter [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › newPage should fulfill from har, matching the method and following redirects [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should change document URL after redirected navigation [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should change document URL after redirected navigation on click [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should goBack to redirected navigation [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should goForward to redirected navigation [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should reload redirected navigation [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should fulfill from har with content in a file [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should round-trip har.zip [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should produce extracted zip [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should round-trip extracted har.zip [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should round-trip har with postData [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should record overridden requests to har [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should disambiguate by header [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should update har.zip for context [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should ignore boundary when matching multipart/form-data body [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should update har.zip for page [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should update har.zip for page with different options [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should update extracted har.zip for page [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › page.unrouteAll should stop page.routeFromHAR [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › context.unrouteAll should stop context.routeFromHAR [fail] +bidi-chromium-library › library/browsercontext-har.spec.ts › should ignore aborted requests [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should affect accept-language header @smoke [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should affect navigator.language [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should format number [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should format date [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should format number in popups [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should affect navigator.language in popups [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should work for multiple pages sharing same process [pass] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should be isolated between contexts [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should not change default locale in another context [fail] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should format number in workers [timeout] +bidi-chromium-library › library/browsercontext-locale.spec.ts › should affect Intl.DateTimeFormat().resolvedOptions().locale [fail] +bidi-chromium-library › library/browsercontext-network-event.spec.ts › BrowserContext.Events.Request [pass] +bidi-chromium-library › library/browsercontext-network-event.spec.ts › BrowserContext.Events.Response [pass] +bidi-chromium-library › library/browsercontext-network-event.spec.ts › BrowserContext.Events.RequestFailed [fail] +bidi-chromium-library › library/browsercontext-network-event.spec.ts › BrowserContext.Events.RequestFinished [pass] +bidi-chromium-library › library/browsercontext-network-event.spec.ts › should fire events in proper order [pass] +bidi-chromium-library › library/browsercontext-network-event.spec.ts › should not fire events for favicon or favicon redirects [unknown] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should have url [pass] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should have url after domcontentloaded [pass] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should have about:blank url with domcontentloaded [fail] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should have about:blank for empty url with domcontentloaded [fail] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should report when a new page is created and closed [fail] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should report initialized pages [fail] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should not crash while redirecting of original request was missed [pass] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should have an opener [pass] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should fire page lifecycle events [fail] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should work with Shift-clicking [pass] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should work with Ctrl-clicking [pass] +bidi-chromium-library › library/browsercontext-page-event.spec.ts › should not hang on ctrl-click during provisional load [timeout] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should not be visible in context.pages [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › page.context should return the correct instance [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › frame.focus should work multiple times [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should click with disabled javascript [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should not hang with touch-enabled viewports [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should click the button with deviceScaleFactor set [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should click the button with offset with page scale [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should return bounding box with page scale [pass] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should not leak listeners during navigation of 20 pages [fail] +bidi-chromium-library › library/browsercontext-pages.spec.ts › should keep selection in multiple pages [pass] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should work when passing the proxy only on the context level [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should throw for bad server value [pass] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use proxy [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should set cookie for top-level domain [pass] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should proxy local network requests › by default › localhost [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should proxy local network requests › by default › loopback address [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should proxy local network requests › by default › link-local [timeout] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should proxy local network requests › with other bypasses › localhost [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should proxy local network requests › with other bypasses › loopback address [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should proxy local network requests › with other bypasses › link-local [timeout] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use ipv6 proxy [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use proxy twice [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use proxy for second page [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use proxy for https urls [timeout] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should work with IP:PORT notion [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should throw for socks5 authentication [pass] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should throw for socks4 authentication [pass] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should authenticate [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should authenticate with empty password [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should isolate proxy credentials between contexts [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should exclude patterns [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use socks proxy [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should use socks proxy in second page [fail] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › does launch without a port [pass] +bidi-chromium-library › library/browsercontext-proxy.spec.ts › should isolate proxy credentials between contexts on navigation [fail] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should re-add binding after reset [fail] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should reset serviceworker [fail] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should reset serviceworker that hangs in importScripts [fail] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should not cache resources [fail] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should ignore binding from beforeunload [pass] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should reset mouse position [pass] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should reset tracing [pass] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should work with clock emulation [pass] +bidi-chromium-library › library/browsercontext-reuse.spec.ts › should continue issuing events after closing the reused page [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should intercept [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should unroute [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should yield to page.route [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should fall back to context.route [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should support Set-Cookie header [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should ignore secure Set-Cookie header for insecure requests [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should use Set-Cookie header in future requests [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should work with ignoreHTTPSErrors [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should support the times parameter with route matching [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should work if handler with times parameter was removed from another handler [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should support async handler w/ times [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should overwrite post body with empty string [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should chain fallback [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should chain fallback w/ dynamic URL [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should not chain fulfill [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should not chain abort [pass] +bidi-chromium-library › library/browsercontext-route.spec.ts › should chain fallback into page [fail] +bidi-chromium-library › library/browsercontext-route.spec.ts › should fall back async [fail] +bidi-chromium-library › library/browsercontext-service-worker-policy.spec.ts › should allow service workers by default [pass] +bidi-chromium-library › library/browsercontext-service-worker-policy.spec.ts › block › blocks service worker registration [timeout] +bidi-chromium-library › library/browsercontext-service-worker-policy.spec.ts › block › should not throw error on about:blank [pass] +bidi-chromium-library › library/browsercontext-set-extra-http-headers.spec.ts › should override extra headers from browser context [fail] +bidi-chromium-library › library/browsercontext-set-extra-http-headers.spec.ts › should throw for non-string header values [pass] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should capture local storage [fail] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should set local storage [fail] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should round-trip through the file [fail] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should capture cookies [fail] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should not emit events about internal page [fail] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should not restore localStorage twice [fail] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should handle missing file [pass] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should handle malformed file [pass] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should serialize storageState with lone surrogates [pass] +bidi-chromium-library › library/browsercontext-storage-state.spec.ts › should work when service worker is intefering [pass] +bidi-chromium-library › library/browsercontext-strict.spec.ts › should not fail page.textContent in non-strict mode [pass] +bidi-chromium-library › library/browsercontext-strict.spec.ts › strict context mode › should fail page.textContent in strict mode [fail] +bidi-chromium-library › library/browsercontext-strict.spec.ts › strict context mode › should fail page.click in strict mode [fail] +bidi-chromium-library › library/browsercontext-strict.spec.ts › strict context mode › should opt out of strict mode [pass] +bidi-chromium-library › library/browsercontext-timezone-id.spec.ts › should work @smoke [fail] +bidi-chromium-library › library/browsercontext-timezone-id.spec.ts › should throw for invalid timezone IDs when creating pages [fail] +bidi-chromium-library › library/browsercontext-timezone-id.spec.ts › should work for multiple pages sharing same process [pass] +bidi-chromium-library › library/browsercontext-timezone-id.spec.ts › should not change default timezone in another context [fail] +bidi-chromium-library › library/browsercontext-timezone-id.spec.ts › should affect Intl.DateTimeFormat().resolvedOptions().timeZone [fail] +bidi-chromium-library › library/browsercontext-user-agent.spec.ts › should work [fail] +bidi-chromium-library › library/browsercontext-user-agent.spec.ts › should work for subframes [fail] +bidi-chromium-library › library/browsercontext-user-agent.spec.ts › should emulate device user-agent [fail] +bidi-chromium-library › library/browsercontext-user-agent.spec.ts › should make a copy of default options [fail] +bidi-chromium-library › library/browsercontext-user-agent.spec.ts › custom user agent for download [timeout] +bidi-chromium-library › library/browsercontext-user-agent.spec.ts › should work for navigator.userAgentData and sec-ch-ua headers [unknown] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should support mobile emulation [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should support touch emulation [fail] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should be detectable [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should detect touch when applying viewport with touches [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should support landscape emulation [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should support window.orientation emulation [fail] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should fire orientationchange event [timeout] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › default mobile viewports to 980 width [fail] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › respect meta viewport tag [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should emulate the hover media feature [fail] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › mouse should work with mobile viewports and cross process navigations [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › should scroll when emulating a mobile viewport [pass] +bidi-chromium-library › library/browsercontext-viewport-mobile.spec.ts › mobile viewport › view scale should reset after navigation [fail] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should get the proper default viewport size [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should set the proper viewport size [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should return correct outerWidth and outerHeight [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should emulate device width [fail] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should emulate device height [fail] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should emulate availWidth and availHeight [fail] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should not have touch by default [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should throw on tap if hasTouch is not enabled [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should support touch with null viewport [fail] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should set both screen and viewport options [fail] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should report null viewportSize when given null viewport [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should drag with high dpi [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › WebKit Windows headed should have a minimal viewport [unknown] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should be able to get correct orientation angle on non-mobile devices [pass] +bidi-chromium-library › library/browsercontext-viewport.spec.ts › should set window.screen.orientation.type for mobile devices [fail] +bidi-chromium-library › library/browsertype-basic.spec.ts › browserType.executablePath should work [unknown] +bidi-chromium-library › library/browsertype-basic.spec.ts › browserType.name should work [fail] +bidi-chromium-library › library/browsertype-basic.spec.ts › should throw when trying to connect with not-chromium [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should connect over wss [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should print HTTP error [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should print ws error [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should print custom ws close error [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should be able to reconnect to a browser [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should be able to visit ipv6 [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should ignore page.pause when headed [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should be able to visit ipv6 through localhost [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should be able to connect two browsers at the same time [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should timeout in socket while connecting [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should timeout in connect while connecting [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should send extra headers with connect request [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should send default User-Agent and X-Playwright-Browser headers with connect request [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should support slowmo option [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › disconnected event should be emitted when browser is closed or server is closed [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › disconnected event should have browser as argument [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should handle exceptions during connect [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should set the browser connected state [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should throw when used after isConnected returns false [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should throw when calling waitForNavigation after disconnect [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should reject navigation when browser closes [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should reject waitForSelector when browser closes [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should emit close events on pages and contexts [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should terminate network waiters [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should reject waitForEvent before browser.close finishes [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should reject waitForEvent before browser.onDisconnect fires [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should respect selectors [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should not throw on close after disconnect [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should saveAs videos from remote browser [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should be able to connect 20 times to a single server without warnings [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should save download [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should error when saving download after deletion [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should properly disconnect when connection closes from the client side [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should be able to connect when the wsEndpoint is passed as an option [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should save har [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should filter launch options [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should record trace with sources [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should fulfill with global fetch result [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should upload large file [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › setInputFiles should preserve lastModified timestamp [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › should connect over http [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should forward non-forwarded requests [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should proxy localhost requests @smoke [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should proxy ipv6 localhost requests @smoke [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should proxy localhost requests from fetch api [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should proxy local.playwright requests [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should lead to the error page for forwarded requests when the connection is refused [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should proxy based on the pattern [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer › socks proxy › should check proxy pattern on the client [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should connect over wss [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should print HTTP error [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should print ws error [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should print custom ws close error [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should be able to reconnect to a browser [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should be able to visit ipv6 [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should ignore page.pause when headed [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should be able to visit ipv6 through localhost [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should be able to connect two browsers at the same time [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should timeout in socket while connecting [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should timeout in connect while connecting [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should send extra headers with connect request [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should send default User-Agent and X-Playwright-Browser headers with connect request [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should support slowmo option [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › disconnected event should be emitted when browser is closed or server is closed [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › disconnected event should have browser as argument [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should handle exceptions during connect [pass] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should set the browser connected state [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should throw when used after isConnected returns false [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should throw when calling waitForNavigation after disconnect [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should reject navigation when browser closes [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should reject waitForSelector when browser closes [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should emit close events on pages and contexts [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should terminate network waiters [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should reject waitForEvent before browser.close finishes [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should reject waitForEvent before browser.onDisconnect fires [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should respect selectors [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should not throw on close after disconnect [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should saveAs videos from remote browser [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should be able to connect 20 times to a single server without warnings [unknown] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should save download [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should error when saving download after deletion [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should properly disconnect when connection closes from the client side [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should be able to connect when the wsEndpoint is passed as an option [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should save har [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should filter launch options [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should record trace with sources [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should fulfill with global fetch result [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should upload large file [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › setInputFiles should preserve lastModified timestamp [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › should connect over http [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should forward non-forwarded requests [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should proxy localhost requests @smoke [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should proxy ipv6 localhost requests @smoke [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should proxy localhost requests from fetch api [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should proxy local.playwright requests [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should lead to the error page for forwarded requests when the connection is refused [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should proxy based on the pattern [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › run-server › socks proxy › should check proxy pattern on the client [fail] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer only › should work with cluster [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer only › should properly disconnect when connection closes from the server side [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › launchServer only › should be able to reconnect to a browser 12 times without warnings [timeout] +bidi-chromium-library › library/browsertype-connect.spec.ts › should refuse connecting when versions do not match [pass] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 3.141.59 standalone chromium [unknown] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 3.141.59 hub + node chromium [unknown] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 4.8.3 standalone chromium [unknown] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 4.8.3 hub + node chromium [unknown] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 4.8.3 standalone chromium broken driver [unknown] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 3.141.59 standalone non-chromium [unknown] +bidi-chromium-library › library/browsertype-launch-selenium.spec.ts › selenium grid 3.141.59 standalone chromium through run-driver [unknown] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should work [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should work with host [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should work with port [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should work with wsPath [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should work when wsPath is missing leading slash [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should default to random wsPath [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should provide an error when ws endpoint is incorrect [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should fire "close" event during kill [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should return child_process instance [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should fire close event [fail] +bidi-chromium-library › library/browsertype-launch-server.spec.ts › launch server › should log protocol [fail] +bidi-chromium-library › library/browsertype-launch.spec.ts › should reject all promises when browser is closed [fail] +bidi-chromium-library › library/browsertype-launch.spec.ts › should throw if userDataDir option is passed [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should throw if userDataDir is passed as an argument [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should throw if port option is passed [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should throw if port option is passed for persistent context [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should throw if page argument is passed [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should reject if launched browser fails immediately [fail] +bidi-chromium-library › library/browsertype-launch.spec.ts › should reject if executable path is invalid [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should handle timeout [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should handle exception [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should report launch log [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should accept objects as options [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should fire close event for all contexts [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should be callable twice [pass] +bidi-chromium-library › library/browsertype-launch.spec.ts › should allow await using [pass] +bidi-chromium-library › library/capabilities.spec.ts › SharedArrayBuffer should work @smoke [fail] +bidi-chromium-library › library/capabilities.spec.ts › Web Assembly should work @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › WebSocket should work @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should respect CSP @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should play video @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should play webm video @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should play audio @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should support webgl @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should support webgl 2 @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should not crash on page with mp4 @smoke [pass] +bidi-chromium-library › library/capabilities.spec.ts › should not crash on showDirectoryPicker [unknown] +bidi-chromium-library › library/capabilities.spec.ts › should not crash on storage.getDirectory() [pass] +bidi-chromium-library › library/capabilities.spec.ts › navigator.clipboard should be present [pass] +bidi-chromium-library › library/capabilities.spec.ts › should set CloseEvent.wasClean to false when the server terminates a WebSocket connection [pass] +bidi-chromium-library › library/capabilities.spec.ts › serviceWorker should intercept document request [pass] +bidi-chromium-library › library/capabilities.spec.ts › webkit should define window.safari [unknown] +bidi-chromium-library › library/capabilities.spec.ts › make sure that XMLHttpRequest upload events are emitted correctly [pass] +bidi-chromium-library › library/capabilities.spec.ts › loading in HTMLImageElement.prototype [pass] +bidi-chromium-library › library/capabilities.spec.ts › window.GestureEvent in WebKit [pass] +bidi-chromium-library › library/capabilities.spec.ts › requestFullscreen [pass] +bidi-chromium-library › library/capabilities.spec.ts › should send no Content-Length header for GET requests with a Content-Type [pass] +bidi-chromium-library › library/capabilities.spec.ts › Intl.ListFormat should work [pass] +bidi-chromium-library › library/capabilities.spec.ts › service worker should cover the iframe [pass] +bidi-chromium-library › library/capabilities.spec.ts › service worker should register in an iframe [pass] +bidi-chromium-library › library/channels.spec.ts › should scope context handles [pass] +bidi-chromium-library › library/channels.spec.ts › should scope CDPSession handles [unknown] +bidi-chromium-library › library/channels.spec.ts › should scope browser handles [pass] +bidi-chromium-library › library/channels.spec.ts › should not generate dispatchers for subresources w/o listeners [pass] +bidi-chromium-library › library/channels.spec.ts › should work with the domain module [timeout] +bidi-chromium-library › library/channels.spec.ts › exposeFunction should not leak [fail] +bidi-chromium-library › library/chromium/bfcache.spec.ts › bindings should work after restoring from bfcache [fail] +bidi-chromium-library › library/chromium/chromium.spec.ts › should create a worker from a service worker [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › should create a worker from service worker with noop routing [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › should emit new service worker on update [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › http credentials › httpCredentials [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › serviceWorkers() should return current workers [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › should not create a worker from a shared worker [pass] +bidi-chromium-library › library/chromium/chromium.spec.ts › Page.route should work with intervention headers [fail] +bidi-chromium-library › library/chromium/chromium.spec.ts › should close service worker together with the context [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › should pass args with spaces [fail] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › serviceWorker(), and fromServiceWorker() work [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should intercept service worker requests (main and within) [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should report failure (due to content-type) of main service worker request [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should report failure (due to redirect) of main service worker request [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should intercept service worker importScripts [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should report intercepted service worker requests in HAR [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should intercept only serviceworker request, not page [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should produce network events, routing, and annotations for Service Worker [fail] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should produce network events, routing, and annotations for Service Worker (advanced) [fail] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › should intercept service worker update requests [unknown] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › setOffline [timeout] +bidi-chromium-library › library/chromium/chromium.spec.ts › PW_EXPERIMENTAL_SERVICE_WORKER_NETWORK_EVENTS=1 › setExtraHTTPHeaders [timeout] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect to an existing cdp session [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should use logger in default context [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should cleanup artifacts dir after connectOverCDP disconnects due to ws close [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connectOverCDP and manage downloads in default context [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect to an existing cdp session twice [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect to existing page with iframe and navigate [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect to existing service workers [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect over a ws endpoint [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should send extra headers with connect request [timeout] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should send default User-Agent header with connect request [timeout] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should report all pages in an existing browser [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect via https [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should return valid browser from context.browser() [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should report an expected error when the endpointURL returns a non-expected status code [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should report an expected error when the endpoint URL JSON webSocketDebuggerUrl is undefined [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should connect to an existing cdp session when passed as a first argument [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should use proxy with connectOverCDP [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should be able to connect via localhost [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › emulate media should not be affected by second connectOverCDP [unknown] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should allow tracing over cdp session [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › setInputFiles should preserve lastModified timestamp [fail] +bidi-chromium-library › library/chromium/connect-over-cdp.spec.ts › should print custom ws close error [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should work [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should report sourceURLs [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should report multiple stylesheets [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should report stylesheets that have no coverage [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should work with media queries [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should work with complicated usecases [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should ignore injected stylesheets [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should report stylesheets across navigations [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should NOT report scripts across navigations [fail] +bidi-chromium-library › library/chromium/css-coverage.spec.ts › should work with a recently loaded stylesheet [fail] +bidi-chromium-library › library/chromium/disable-web-security.spec.ts › test utility world in popup w/ --disable-web-security [pass] +bidi-chromium-library › library/chromium/disable-web-security.spec.ts › test init script w/ --disable-web-security [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should work [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should report sourceURLs [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should ignore eval() scripts by default [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › shouldn't ignore eval() scripts if reportAnonymousScripts is true [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should report multiple scripts [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should report scripts across navigations when disabled [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should NOT report scripts across navigations when enabled [fail] +bidi-chromium-library › library/chromium/js-coverage.spec.ts › should not hang when there is a debugger statement [fail] +bidi-chromium-library › library/chromium/launcher.spec.ts › should throw with remote-debugging-pipe argument [fail] +bidi-chromium-library › library/chromium/launcher.spec.ts › should not throw with remote-debugging-port argument [fail] +bidi-chromium-library › library/chromium/launcher.spec.ts › should open devtools when "devtools: true" option is given [unknown] +bidi-chromium-library › library/chromium/launcher.spec.ts › should return background pages [fail] +bidi-chromium-library › library/chromium/launcher.spec.ts › should return background pages when recording video [fail] +bidi-chromium-library › library/chromium/launcher.spec.ts › should support request/response events when using backgroundPage() [fail] +bidi-chromium-library › library/chromium/launcher.spec.ts › should not create pages automatically [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should report oopif frames [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should handle oopif detach [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should handle remote -> local -> remote transitions [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should get the proper viewport [unknown] +bidi-chromium-library › library/chromium/oopif.spec.ts › should expose function [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should emulate media [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should emulate offline [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should support context options [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should respect route [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should take screenshot [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should load oopif iframes with subresources and route [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should report main requests [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should support exposeFunction [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should support addInitScript [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should click a button when it overlays oopif [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should report google.com frame with headed [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › ElementHandle.boundingBox() should work [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should click [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › contentFrame should work [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should allow cdp sessions on oopifs [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should emit filechooser event for iframe [timeout] +bidi-chromium-library › library/chromium/oopif.spec.ts › should be able to click in iframe [pass] +bidi-chromium-library › library/chromium/oopif.spec.ts › should not throw on exposeFunction when oopif detaches [fail] +bidi-chromium-library › library/chromium/oopif.spec.ts › should intercept response body from oopif [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should work [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should send events [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should only accept a page or frame [pass] +bidi-chromium-library › library/chromium/session.spec.ts › should enable and disable domains independently [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should be able to detach session [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should throw nice errors [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should work with main frame [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should throw if target is part of main [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should not break page.close() [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should detach when page closes [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should reject protocol calls when page closes [fail] +bidi-chromium-library › library/chromium/session.spec.ts › should work with newBrowserCDPSession [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should output a trace [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should create directories as needed [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should run with custom categories if provided [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should throw if tracing on two pages [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should return a buffer [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should work without options [fail] +bidi-chromium-library › library/chromium/tracing.spec.ts › should support a buffer without a path [fail] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › validate input [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › should fail with no client certificates provided [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › should keep supporting http [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › should throw with untrusted client certs [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › pass with trusted client certificates [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › pass with trusted client certificates in pfx format [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › should throw a http error if the pfx passphrase is incorect [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › should fail with matching certificates in legacy pfx format [pass] +bidi-chromium-library › library/client-certificates.spec.ts › fetch › should work in the browser with request interception [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › validate input [pass] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should keep supporting http [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should fail with no client certificates [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should fail with self-signed client certificates [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should pass with matching certificates [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should pass with matching certificates when passing as content [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should not hang on tls errors during TLS 1.2 handshake [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should pass with matching certificates in pfx format [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should handle TLS renegotiation with client certificates [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should pass with matching certificates in pfx format when passing as content [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should fail with matching certificates in legacy pfx format [pass] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should throw a http error if the pfx passphrase is incorect [pass] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should pass with matching certificates on context APIRequestContext instance [pass] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should pass with matching certificates and trailing slash [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should have ignoreHTTPSErrors=false by default [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › support http2 [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › support http2 if the browser only supports http1.1 [unknown] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should return target connection errors when using http2 [fail] +bidi-chromium-library › library/client-certificates.spec.ts › browser › should handle rejected certificate in handshake with HTTP/2 [pass] +bidi-chromium-library › library/client-certificates.spec.ts › browser › persistentContext › validate input [pass] +bidi-chromium-library › library/client-certificates.spec.ts › browser › persistentContext › should pass with matching certificates [fail] +bidi-chromium-library › library/clock.spec.ts › setTimeout › throws if no arguments [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › does not throw if |undefined| or |null| is passed as a callback [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › returns numeric id or object with numeric id [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › returns unique id [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › starts id from a large number [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › sets timers on instance [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › parses numeric string times [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › parses no-numeric string times [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › passes setTimeout parameters [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › calls correct timeout on recursive tick [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › does not depend on this [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › is not influenced by forward system clock changes [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › is not influenced by backward system clock changes [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › use of eval when not in node › evals non-function callbacks [pass] +bidi-chromium-library › library/clock.spec.ts › setTimeout › use of eval when not in node › only evals on global scope [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers immediately without specified delay [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › does not trigger without sufficient delay [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers after sufficient delay [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers simultaneous timers [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers multiple simultaneous timers [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers multiple simultaneous timers with zero callAt [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › waits after setTimeout was called [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › mini integration test [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers even when some throw [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › calls function with global object or null (strict mode) as this [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers in the order scheduled [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › creates updated Date while ticking [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › fires timer in intervals of 13 [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › fires timer in intervals of "13" [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › fires timers in correct order [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › triggers timeouts and intervals in the order scheduled [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › does not fire canceled intervals [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › throws for negative minutes [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › fires nested setTimeout calls properly [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › does not silently catch errors [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › is not influenced by forward system clock changes [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › is not influenced by forward system clock changes 2 [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › is not influenced by forward system clock changes when an error is thrown [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › is not influenced by forward system clock changes when an error is thrown 2 [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › throws on negative ticks [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › creates updated Date while ticking promises [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › fires promise timers in correct order [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › does not fire intervals canceled in a promise [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › fires nested setTimeout calls in user-created promises properly [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › is not influenced by forward system clock changes in promises [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle user-created promises [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle chained user-created promises [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle multiple user-created promises [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle nested user-created promises [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle user-created promises even if some throw [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle user-created promises before calling more timeouts [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle local promises before calling timeouts [pass] +bidi-chromium-library › library/clock.spec.ts › runFor › should settle local nested promises before calling timeouts [pass] +bidi-chromium-library › library/clock.spec.ts › clearTimeout › removes timeout [pass] +bidi-chromium-library › library/clock.spec.ts › clearTimeout › removes interval [pass] +bidi-chromium-library › library/clock.spec.ts › clearTimeout › removes interval with undefined interval [pass] +bidi-chromium-library › library/clock.spec.ts › clearTimeout › ignores null argument [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › throws if no arguments [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › does not throw if |undefined| or |null| is passed as a callback [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › returns numeric id or object with numeric id [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › returns unique id [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › schedules recurring timeout [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › is not influenced by forward system clock changes [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › is not influenced by backward system clock changes [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › does not schedule recurring timeout when cleared [pass] +bidi-chromium-library › library/clock.spec.ts › setInterval › passes setTimeout parameters [pass] +bidi-chromium-library › library/clock.spec.ts › clearInterval › removes interval [pass] +bidi-chromium-library › library/clock.spec.ts › clearInterval › removes interval with undefined interval [pass] +bidi-chromium-library › library/clock.spec.ts › clearInterval › removes timeout [pass] +bidi-chromium-library › library/clock.spec.ts › clearInterval › ignores null argument [pass] +bidi-chromium-library › library/clock.spec.ts › date › provides date constructor [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates real Date objects [pass] +bidi-chromium-library › library/clock.spec.ts › date › returns date as string when called as function [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates Date objects representing clock time [pass] +bidi-chromium-library › library/clock.spec.ts › date › returns date as string representing clock time [pass] +bidi-chromium-library › library/clock.spec.ts › date › listens to ticking clock [pass] +bidi-chromium-library › library/clock.spec.ts › date › listens to system clock changes [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing timestamp [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing a date as string [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing a date as RFC 2822 string [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing year, month [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing y, m, d [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing y, m, d, h [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing y, m, d, h, m [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing y, m, d, h, m, s [pass] +bidi-chromium-library › library/clock.spec.ts › date › creates regular date when passing y, m, d, h, m, s, ms [pass] +bidi-chromium-library › library/clock.spec.ts › date › returns date as string when calling with arguments [pass] +bidi-chromium-library › library/clock.spec.ts › date › returns date as string when calling with timestamp [pass] +bidi-chromium-library › library/clock.spec.ts › date › mirrors native Date.prototype [pass] +bidi-chromium-library › library/clock.spec.ts › date › supports now method if present [pass] +bidi-chromium-library › library/clock.spec.ts › date › returns clock.now() [pass] +bidi-chromium-library › library/clock.spec.ts › date › mirrors parse method [pass] +bidi-chromium-library › library/clock.spec.ts › date › mirrors UTC method [pass] +bidi-chromium-library › library/clock.spec.ts › date › mirrors toUTCString method [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › returns clock object [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › takes an object parameter [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › sets initial timestamp [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › replaces global setTimeout [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › global fake setTimeout should return id [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › replaces global clearTimeout [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › replaces global setInterval [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › replaces global clearInterval [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › replaces global performance.now [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › replace Event.prototype.timeStamp [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › uninstalls global performance.now [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › should let performance.mark still be callable after install() (#136) [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › should not alter the global performance properties and methods [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › should replace the getEntries, getEntriesByX methods with noops that return [] [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › deletes global property on uninstall if it was inherited onto the global object [unknown] +bidi-chromium-library › library/clock.spec.ts › stubTimers › fakes Date constructor [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › fake Date constructor should mirror Date's properties [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › mirrors custom Date properties [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › uninstalls Date constructor [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › fakes provided methods [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › resets faked methods [pass] +bidi-chromium-library › library/clock.spec.ts › stubTimers › does not fake methods not provided [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › throws if no arguments [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › returns numeric id or object with numeric id [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › returns unique id [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should run every 16ms [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should be called with performance.now() when available [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should be called with performance.now() even when performance unavailable [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should call callback once [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should schedule two callbacks before the next frame at the same time [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should properly schedule callback for 3rd frame [pass] +bidi-chromium-library › library/clock.spec.ts › requestAnimationFrame › should schedule for next frame if on current frame [pass] +bidi-chromium-library › library/clock.spec.ts › cancelAnimationFrame › removes animation frame [pass] +bidi-chromium-library › library/clock.spec.ts › cancelAnimationFrame › does not remove timeout [pass] +bidi-chromium-library › library/clock.spec.ts › cancelAnimationFrame › does not remove interval [pass] +bidi-chromium-library › library/clock.spec.ts › cancelAnimationFrame › ignores null argument [pass] +bidi-chromium-library › library/clock.spec.ts › fastForward › ignores timers which wouldn't be run [pass] +bidi-chromium-library › library/clock.spec.ts › fastForward › pushes back execution time for skipped timers [pass] +bidi-chromium-library › library/clock.spec.ts › fastForward › handles multiple pending timers and types [pass] +bidi-chromium-library › library/clock.spec.ts › pauseAt › pause at target time [pass] +bidi-chromium-library › library/clock.spec.ts › pauseAt › fire target timers [pass] +bidi-chromium-library › library/clock.spec.ts › pauseAt › returns consumed clicks [pass] +bidi-chromium-library › library/clock.spec.ts › performance.now() › should start at 0 [pass] +bidi-chromium-library › library/clock.spec.ts › performance.now() › should run along with clock.tick [pass] +bidi-chromium-library › library/clock.spec.ts › performance.now() › should listen to multiple ticks in performance.now [pass] +bidi-chromium-library › library/clock.spec.ts › performance.now() › should run with ticks with timers set [pass] +bidi-chromium-library › library/clock.spec.ts › requestIdleCallback › throws if no arguments [pass] +bidi-chromium-library › library/clock.spec.ts › requestIdleCallback › returns numeric id [pass] +bidi-chromium-library › library/clock.spec.ts › requestIdleCallback › returns unique id [pass] +bidi-chromium-library › library/clock.spec.ts › requestIdleCallback › runs after all timers [pass] +bidi-chromium-library › library/clock.spec.ts › requestIdleCallback › runs no later than timeout option even if there are any timers [pass] +bidi-chromium-library › library/clock.spec.ts › requestIdleCallback › doesn't runs if there are any timers and no timeout option [pass] +bidi-chromium-library › library/clock.spec.ts › cancelIdleCallback › removes idle callback [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › Executes formatRange like normal [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › Executes formatRangeToParts like normal [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › Executes resolvedOptions like normal [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › formatToParts via isFirstOfMonth -> Returns true when passed a timestamp argument that is first of the month [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › formatToParts via isFirstOfMonth -> Returns false when passed a timestamp argument that is not first of the month [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › formatToParts via isFirstOfMonth -> Returns true when passed no timestamp and system time is first of the month [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › formatToParts via isFirstOfMonth -> Returns false when passed no timestamp and system time is not first of the month [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › Executes supportedLocalesOf like normal [pass] +bidi-chromium-library › library/clock.spec.ts › Intl API › Creates a RelativeTimeFormat like normal [pass] +bidi-chromium-library › library/clock.spec.ts › works with concurrent runFor calls [pass] +bidi-chromium-library › library/clock.spec.ts › works with slow setTimeout in busy embedder [pass] +bidi-chromium-library › library/clock.spec.ts › works with slow setTimeout in busy embedder when not paused [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse short attributes [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse all operators [pass] +bidi-chromium-library › library/component-parser.spec.ts › should tolerate spacing [pass] +bidi-chromium-library › library/component-parser.spec.ts › should escape [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse int values [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse float values [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse bool [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse regex [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse identifiers [pass] +bidi-chromium-library › library/component-parser.spec.ts › should parse unquoted string [pass] +bidi-chromium-library › library/component-parser.spec.ts › should throw on malformed selector [pass] +bidi-chromium-library › library/css-parser.spec.ts › should parse css [pass] +bidi-chromium-library › library/css-parser.spec.ts › should throw on malformed css [pass] +bidi-chromium-library › library/debug-controller.spec.ts › should pick element [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should report pages [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should navigate all [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should reset for reuse [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should highlight all [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should record [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should record custom data-testid [fail] +bidi-chromium-library › library/debug-controller.spec.ts › should reset routes before reuse [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › context.cookies() should work @smoke [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › context.addCookies() should work [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › context.clearCookies() should work [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should(not) block third party cookies [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support viewport option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support deviceScaleFactor option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support userAgent option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support bypassCSP option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support javascriptEnabled option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support httpCredentials option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support offline option [fail] +bidi-chromium-library › library/defaultbrowsercontext-1.spec.ts › should support acceptDownloads option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support hasTouch option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should work in persistent context [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support colorScheme option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support reducedMotion option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support forcedColors option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support timezoneId option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support locale option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support geolocation and permissions options [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support ignoreHTTPSErrors option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support extraHTTPHeaders option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should accept userDataDir [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should restore state from userDataDir [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should create userDataDir if it does not exist [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should have default URL when launching browser [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should throw if page argument is passed [pass] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should have passed URL when launching with ignoreDefaultArgs: true [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should handle timeout [pass] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should handle exception [timeout] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should fire close event for a persistent context [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › coverage should work [unknown] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should respect selectors [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should connect to a browser with the default page [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › should support har option [fail] +bidi-chromium-library › library/defaultbrowsercontext-2.spec.ts › user agent is up to date [fail] +bidi-chromium-library › library/download.spec.ts › download event › should report download when navigation turns into download @smoke [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should work with Cross-Origin-Opener-Policy [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report downloads with acceptDownloads: false [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report downloads with acceptDownloads: true [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report proper download url when download is from download attribute [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report downloads for download attribute [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should save to user-specified path without updating original path [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should save to two different paths with multiple saveAs calls [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should save to overwritten filepath [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should create subdirectories when saving to non-existent user-specified path [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should error when saving with downloads disabled [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should error when saving after deletion [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report non-navigation downloads [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report download path within page.on('download', …) handler for Files [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report download path within page.on('download', …) handler for Blobs [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report alt-click downloads [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report new window downloads [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should delete file [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should expose stream [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should delete downloads on context destruction [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should delete downloads on browser gone [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should close the context without awaiting the failed download [unknown] +bidi-chromium-library › library/download.spec.ts › download event › should close the context without awaiting the download [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should throw if browser dies [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should download large binary.zip [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should be able to cancel pending downloads [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should not fail explicitly to cancel a download even if that is already finished [timeout] +bidi-chromium-library › library/download.spec.ts › download event › should report downloads with interception [fail] +bidi-chromium-library › library/download.spec.ts › download event › should emit download event from nested iframes [timeout] +bidi-chromium-library › library/download.spec.ts › should be able to download a PDF file [timeout] +bidi-chromium-library › library/download.spec.ts › should be able to download a inline PDF file via response interception [fail] +bidi-chromium-library › library/download.spec.ts › should be able to download a inline PDF file via navigation [timeout] +bidi-chromium-library › library/download.spec.ts › should save to user-specified path [timeout] +bidi-chromium-library › library/download.spec.ts › should download even if there is no "attachment" value [timeout] +bidi-chromium-library › library/download.spec.ts › should convert navigation to a resource with unsupported mime type into download [timeout] +bidi-chromium-library › library/download.spec.ts › should download links with data url [timeout] +bidi-chromium-library › library/download.spec.ts › should download successfully when routing [timeout] +bidi-chromium-library › library/downloads-path.spec.ts › downloads path › should keep downloadsPath folder [timeout] +bidi-chromium-library › library/downloads-path.spec.ts › downloads path › should delete downloads when context closes [timeout] +bidi-chromium-library › library/downloads-path.spec.ts › downloads path › should report downloads in downloadsPath folder [timeout] +bidi-chromium-library › library/downloads-path.spec.ts › downloads path › should report downloads in downloadsPath folder with a relative path [timeout] +bidi-chromium-library › library/downloads-path.spec.ts › downloads path › should accept downloads in persistent context [fail] +bidi-chromium-library › library/downloads-path.spec.ts › downloads path › should delete downloads when persistent context closes [fail] +bidi-chromium-library › library/emulation-focus.spec.ts › should think that it is focused by default [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should think that all pages are focused @smoke [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should focus popups by default [fail] +bidi-chromium-library › library/emulation-focus.spec.ts › should provide target for keyboard events [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should not affect mouse event target page [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should change document.activeElement [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should not affect screenshots [fail] +bidi-chromium-library › library/emulation-focus.spec.ts › should change focused iframe [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should focus with more than one page/context [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should not fire blur events when interacting with more than one page/context [pass] +bidi-chromium-library › library/emulation-focus.spec.ts › should trigger hover state concurrently [pass] +bidi-chromium-library › library/events/add-listeners.spec.ts › EventEmitter tests › should work [pass] +bidi-chromium-library › library/events/add-listeners.spec.ts › EventEmitter tests › set max listeners test [pass] +bidi-chromium-library › library/events/add-listeners.spec.ts › EventEmitter tests › Listener order [pass] +bidi-chromium-library › library/events/add-listeners.spec.ts › EventEmitter tests › listener type check [pass] +bidi-chromium-library › library/events/check-listener-leaks.spec.ts › defaultMaxListeners [pass] +bidi-chromium-library › library/events/check-listener-leaks.spec.ts › process-wide [pass] +bidi-chromium-library › library/events/check-listener-leaks.spec.ts › _maxListeners still has precedence over defaultMaxListeners [pass] +bidi-chromium-library › library/events/events-list.spec.ts › EventEmitter › should maintain event names correctly [pass] +bidi-chromium-library › library/events/listener-count.spec.ts › Listener count test [pass] +bidi-chromium-library › library/events/listeners-side-effects.spec.ts › listeners empty check [pass] +bidi-chromium-library › library/events/listeners.spec.ts › EventEmitter listeners with one listener [pass] +bidi-chromium-library › library/events/listeners.spec.ts › Array copy modification does not modify orig [pass] +bidi-chromium-library › library/events/listeners.spec.ts › Modify array copy after multiple adds [pass] +bidi-chromium-library › library/events/listeners.spec.ts › listeners and once [pass] +bidi-chromium-library › library/events/listeners.spec.ts › listeners with conflicting types [pass] +bidi-chromium-library › library/events/listeners.spec.ts › EventEmitter with no members [pass] +bidi-chromium-library › library/events/listeners.spec.ts › listeners on prototype [pass] +bidi-chromium-library › library/events/listeners.spec.ts › raw listeners [pass] +bidi-chromium-library › library/events/listeners.spec.ts › raw listeners order [pass] +bidi-chromium-library › library/events/max-listeners.spec.ts › emit maxListeners on e [pass] +bidi-chromium-library › library/events/method-names.spec.ts › EventEmitter prototype test [pass] +bidi-chromium-library › library/events/modify-in-emit.spec.ts › add and remove listeners [pass] +bidi-chromium-library › library/events/modify-in-emit.spec.ts › removing callbacks in emit [pass] +bidi-chromium-library › library/events/num-args.spec.ts › should work [pass] +bidi-chromium-library › library/events/once.spec.ts › should work [pass] +bidi-chromium-library › library/events/once.spec.ts › once() has different code paths based on the number of arguments being emitted [pass] +bidi-chromium-library › library/events/prepend.spec.ts › EventEmitter functionality [pass] +bidi-chromium-library › library/events/prepend.spec.ts › Verify that the listener must be a function [pass] +bidi-chromium-library › library/events/remove-all-listeners-wait.spec.ts › should not throw with ignoreErrors [pass] +bidi-chromium-library › library/events/remove-all-listeners-wait.spec.ts › should wait [pass] +bidi-chromium-library › library/events/remove-all-listeners-wait.spec.ts › should wait all [pass] +bidi-chromium-library › library/events/remove-all-listeners-wait.spec.ts › wait should throw [pass] +bidi-chromium-library › library/events/remove-all-listeners.spec.ts › listeners [pass] +bidi-chromium-library › library/events/remove-all-listeners.spec.ts › removeAllListeners removes all listeners [pass] +bidi-chromium-library › library/events/remove-all-listeners.spec.ts › removeAllListeners with no event type [pass] +bidi-chromium-library › library/events/remove-all-listeners.spec.ts › listener count after removeAllListeners [pass] +bidi-chromium-library › library/events/remove-all-listeners.spec.ts › removeAllListeners returns EventEmitter [pass] +bidi-chromium-library › library/events/remove-all-listeners.spec.ts › removeAllListeners on undefined _events [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › First test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Second test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Third test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Fourth test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Fifth test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Sixth test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Seventh test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Eighth test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Ninth test [pass] +bidi-chromium-library › library/events/remove-listeners.spec.ts › Tenth test [pass] +bidi-chromium-library › library/events/set-max-listeners-side-effects.spec.ts › set max listeners test [pass] +bidi-chromium-library › library/events/special-event-names.spec.ts › should support special event names [pass] +bidi-chromium-library › library/events/subclass.spec.ts › myee instance [pass] +bidi-chromium-library › library/events/subclass.spec.ts › MyEE2 instance [pass] +bidi-chromium-library › library/events/symbols.spec.ts › should support symbols [pass] +bidi-chromium-library › library/favicon.spec.ts › should load svg favicon with prefer-color-scheme [unknown] +bidi-chromium-library › library/fetch-proxy.spec.ts › context request should pick up proxy credentials [pass] +bidi-chromium-library › library/fetch-proxy.spec.ts › global request should pick up proxy credentials [pass] +bidi-chromium-library › library/fetch-proxy.spec.ts › should work with context level proxy [pass] +bidi-chromium-library › library/fetch-proxy.spec.ts › should support proxy.bypass [pass] +bidi-chromium-library › library/fetch-proxy.spec.ts › should use socks proxy [pass] +bidi-chromium-library › library/firefox/launcher.spec.ts › should pass firefox user preferences [fail] +bidi-chromium-library › library/firefox/launcher.spec.ts › should pass firefox user preferences in persistent [fail] +bidi-chromium-library › library/geolocation.spec.ts › should work @smoke [timeout] +bidi-chromium-library › library/geolocation.spec.ts › should throw when invalid longitude [fail] +bidi-chromium-library › library/geolocation.spec.ts › should isolate contexts [timeout] +bidi-chromium-library › library/geolocation.spec.ts › should throw with missing latitude [pass] +bidi-chromium-library › library/geolocation.spec.ts › should not modify passed default options object [pass] +bidi-chromium-library › library/geolocation.spec.ts › should throw with missing longitude in default options [pass] +bidi-chromium-library › library/geolocation.spec.ts › should use context options [timeout] +bidi-chromium-library › library/geolocation.spec.ts › watchPosition should be notified [timeout] +bidi-chromium-library › library/geolocation.spec.ts › should use context options for popup [timeout] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should store cookie from Set-Cookie header [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should filter outgoing cookies by path [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should filter outgoing cookies by domain [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should do case-insensitive match of cookie domain [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should do case-insensitive match of request domain [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should send secure cookie over https [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should send secure cookie over http for localhost [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should send not expired cookies [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should remove expired cookies [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should remove cookie with negative max-age [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should remove cookie with expires far in the past [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should store cookie from Set-Cookie header even if it contains equal signs [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should override cookie from Set-Cookie header [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should override cookie from Set-Cookie header even if it expired [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should export cookies to storage state [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should preserve local storage on import/export of storage state [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should send cookies from storage state [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › storage state should round-trip through file [pass] +bidi-chromium-library › library/global-fetch-cookie.spec.ts › should work with empty storage state [pass] +bidi-chromium-library › library/global-fetch.spec.ts › fetch should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › delete should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › get should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › head should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › patch should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › post should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › put should work @smoke [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should dispose global request [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should support global userAgent option [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should support global timeout option [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should propagate extra http headers with redirects [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should support global httpCredentials option [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should return error with wrong credentials [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should work with correct credentials and matching origin [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should work with correct credentials and matching origin case insensitive [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should return error with correct credentials and mismatching scheme [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should return error with correct credentials and mismatching hostname [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should return error with correct credentials and mismatching port [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should support WWW-Authenticate: Basic [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should support HTTPCredentials.send [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should support global ignoreHTTPSErrors option [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should propagate ignoreHTTPSErrors on redirects [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should resolve url relative to global baseURL option [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should set playwright as user-agent [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should be able to construct with context options [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should return empty body [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should abort requests when context is disposed [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should abort redirected requests when context is disposed [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should remove content-length from redirected post requests [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify object body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify object body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify array body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify array body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify string body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify string body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify string (falsey) body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify string (falsey) body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify bool body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify bool body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify bool (false) body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify bool (false) body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify number body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify number body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify number (falsey) body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify number (falsey) body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify null body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify null body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should json stringify literal string undefined body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not double stringify literal string undefined body when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should accept already serialized data as Buffer when content-type is application/json [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should have nice toString [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not fail on empty body with encoding [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should return body for failing requests [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should throw an error when maxRedirects is exceeded [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should not follow redirects when maxRedirects is set to 0 [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should throw an error when maxRedirects is less than 0 [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should keep headers capitalization [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should serialize post data on the client [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should throw after dispose [pass] +bidi-chromium-library › library/global-fetch.spec.ts › should retry ECONNRESET [pass] +bidi-chromium-library › library/har.spec.ts › should throw without path [pass] +bidi-chromium-library › library/har.spec.ts › should have version and creator [pass] +bidi-chromium-library › library/har.spec.ts › should have browser [fail] +bidi-chromium-library › library/har.spec.ts › should have pages [pass] +bidi-chromium-library › library/har.spec.ts › should have pages in persistent context [fail] +bidi-chromium-library › library/har.spec.ts › should include request [pass] +bidi-chromium-library › library/har.spec.ts › should include response [pass] +bidi-chromium-library › library/har.spec.ts › should include redirectURL [pass] +bidi-chromium-library › library/har.spec.ts › should include query params [pass] +bidi-chromium-library › library/har.spec.ts › should include postData [fail] +bidi-chromium-library › library/har.spec.ts › should include binary postData [fail] +bidi-chromium-library › library/har.spec.ts › should include form params [fail] +bidi-chromium-library › library/har.spec.ts › should include cookies [pass] +bidi-chromium-library › library/har.spec.ts › should include set-cookies [fail] +bidi-chromium-library › library/har.spec.ts › should skip invalid Expires [pass] +bidi-chromium-library › library/har.spec.ts › should include set-cookies with comma [fail] +bidi-chromium-library › library/har.spec.ts › should include secure set-cookies [fail] +bidi-chromium-library › library/har.spec.ts › should record request overrides [fail] +bidi-chromium-library › library/har.spec.ts › should include content @smoke [fail] +bidi-chromium-library › library/har.spec.ts › should use attach mode for zip extension [fail] +bidi-chromium-library › library/har.spec.ts › should omit content [pass] +bidi-chromium-library › library/har.spec.ts › should omit content legacy [pass] +bidi-chromium-library › library/har.spec.ts › should attach content [fail] +bidi-chromium-library › library/har.spec.ts › should filter by glob [pass] +bidi-chromium-library › library/har.spec.ts › should filter by regexp [pass] +bidi-chromium-library › library/har.spec.ts › should include sizes [fail] +bidi-chromium-library › library/har.spec.ts › should work with gzip compression [fail] +bidi-chromium-library › library/har.spec.ts › should calculate time [pass] +bidi-chromium-library › library/har.spec.ts › should return receive time [fail] +bidi-chromium-library › library/har.spec.ts › should report the correct _transferSize with PNG files [fail] +bidi-chromium-library › library/har.spec.ts › should have -1 _transferSize when its a failed request [pass] +bidi-chromium-library › library/har.spec.ts › should record failed request headers [pass] +bidi-chromium-library › library/har.spec.ts › should record failed request overrides [fail] +bidi-chromium-library › library/har.spec.ts › should report the correct request body size [pass] +bidi-chromium-library › library/har.spec.ts › should report the correct request body size when the bodySize is 0 [pass] +bidi-chromium-library › library/har.spec.ts › should report the correct response body size when the bodySize is 0 [pass] +bidi-chromium-library › library/har.spec.ts › should have popup requests [pass] +bidi-chromium-library › library/har.spec.ts › should not contain internal pages [pass] +bidi-chromium-library › library/har.spec.ts › should have connection details [fail] +bidi-chromium-library › library/har.spec.ts › should have security details [fail] +bidi-chromium-library › library/har.spec.ts › should have connection details for redirects [fail] +bidi-chromium-library › library/har.spec.ts › should have connection details for failed requests [fail] +bidi-chromium-library › library/har.spec.ts › should return server address directly from response [fail] +bidi-chromium-library › library/har.spec.ts › should return security details directly from response [fail] +bidi-chromium-library › library/har.spec.ts › should contain http2 for http2 requests [fail] +bidi-chromium-library › library/har.spec.ts › should filter favicon and favicon redirects [unknown] +bidi-chromium-library › library/har.spec.ts › should have different hars for concurrent contexts [pass] +bidi-chromium-library › library/har.spec.ts › should include API request [pass] +bidi-chromium-library › library/har.spec.ts › should not hang on resources served from cache [pass] +bidi-chromium-library › library/har.spec.ts › should not hang on slow chunked response [fail] +bidi-chromium-library › library/headful.spec.ts › should have default url when launching browser @smoke [fail] +bidi-chromium-library › library/headful.spec.ts › should close browser with beforeunload page [fail] +bidi-chromium-library › library/headful.spec.ts › should close browsercontext with pending beforeunload dialog [timeout] +bidi-chromium-library › library/headful.spec.ts › should not crash when creating second context [pass] +bidi-chromium-library › library/headful.spec.ts › should click when viewport size is larger than screen [pass] +bidi-chromium-library › library/headful.spec.ts › should dispatch click events to oversized viewports [pass] +bidi-chromium-library › library/headful.spec.ts › should click background tab [timeout] +bidi-chromium-library › library/headful.spec.ts › should close browser after context menu was triggered [pass] +bidi-chromium-library › library/headful.spec.ts › should(not) block third party cookies [pass] +bidi-chromium-library › library/headful.spec.ts › should not block third party SameSite=None cookies [fail] +bidi-chromium-library › library/headful.spec.ts › should not override viewport size when passed null [fail] +bidi-chromium-library › library/headful.spec.ts › Page.bringToFront should work [pass] +bidi-chromium-library › library/headful.spec.ts › should click in OOPIF [fail] +bidi-chromium-library › library/headful.spec.ts › should click bottom row w/ infobar in OOPIF [fail] +bidi-chromium-library › library/headful.spec.ts › headless and headful should use same default fonts [fail] +bidi-chromium-library › library/hit-target.spec.ts › should block all events when hit target is wrong [pass] +bidi-chromium-library › library/hit-target.spec.ts › should block click when mousedown fails [pass] +bidi-chromium-library › library/hit-target.spec.ts › should click when element detaches in mousedown [pass] +bidi-chromium-library › library/hit-target.spec.ts › should block all events when hit target is wrong and element detaches [pass] +bidi-chromium-library › library/hit-target.spec.ts › should not block programmatic events [pass] +bidi-chromium-library › library/hit-target.spec.ts › should click the button again after document.write [pass] +bidi-chromium-library › library/hit-target.spec.ts › should work with mui select [pass] +bidi-chromium-library › library/hit-target.spec.ts › should work with drag and drop that moves the element under cursor [pass] +bidi-chromium-library › library/hit-target.spec.ts › should work with block inside inline [pass] +bidi-chromium-library › library/hit-target.spec.ts › should work with block-block-block inside inline-inline [pass] +bidi-chromium-library › library/hit-target.spec.ts › should work with block inside inline in shadow dom [pass] +bidi-chromium-library › library/hit-target.spec.ts › should not click iframe overlaying the target [pass] +bidi-chromium-library › library/hit-target.spec.ts › should not click an element overlaying iframe with the target [pass] +bidi-chromium-library › library/hit-target.spec.ts › should click into frame inside closed shadow root [fail] +bidi-chromium-library › library/hit-target.spec.ts › should click an element inside closed shadow root [pass] +bidi-chromium-library › library/hit-target.spec.ts › should detect overlay from another shadow root [pass] +bidi-chromium-library › library/hit-target.spec.ts › should detect overlaid element in a transformed iframe [fail] +bidi-chromium-library › library/hit-target.spec.ts › should click in iframe with padding [pass] +bidi-chromium-library › library/hit-target.spec.ts › should click in iframe with padding 2 [pass] +bidi-chromium-library › library/hit-target.spec.ts › should click in custom element [pass] +bidi-chromium-library › library/ignorehttpserrors.spec.ts › should work @smoke [fail] +bidi-chromium-library › library/ignorehttpserrors.spec.ts › should isolate contexts [fail] +bidi-chromium-library › library/ignorehttpserrors.spec.ts › should work with mixed content [fail] +bidi-chromium-library › library/ignorehttpserrors.spec.ts › should work with WebSocket [fail] +bidi-chromium-library › library/ignorehttpserrors.spec.ts › should fail with WebSocket if not ignored [pass] +bidi-chromium-library › library/ignorehttpserrors.spec.ts › serviceWorker should intercept document request [fail] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should click [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should ignore programmatic events [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should click after same-document navigation [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should make a positioned click on a canvas [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should work with TrustedTypes [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should not target selector preview by text regexp [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should fill [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should fill japanese text [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should fill textarea [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should fill textarea with new lines at the end [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should fill [contentEditable] [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should press [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should update selected element after pressing Tab [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should record ArrowDown [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should emit single keyup on ArrowDown [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should check [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should check a radio button [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should check with keyboard [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should uncheck [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should select [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should select with size attribute [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should await popup [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should assert navigation [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should ignore AltGraph [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should middle click [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should record slider [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should click button with nested div [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should record omnibox navigations after performAction [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should record omnibox navigations after recordAction [timeout] +bidi-chromium-library › library/inspector/cli-codegen-1.spec.ts › cli codegen › should not throw csp directive violation errors [pass] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should contain open page [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should contain second page [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should contain close page [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should not lead to an error if html gets clicked [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should upload a single file [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should upload multiple files [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should clear files [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should download files [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should handle dialogs [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should handle history.postData [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should record open in a new tab with url [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should not clash pages [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › click should emit events in order [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should update hover model on action [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should reset hover model on action when element detaches [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should update active model on action [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should check input with chaining id [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should record navigations after identical pushState [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should --save-trace [fail] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should save assets via SIGINT [fail] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › cli codegen › should fill tricky characters [timeout] +bidi-chromium-library › library/inspector/cli-codegen-2.spec.ts › should --test-id-attribute [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should click locator.first [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should click locator.nth [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate frame locators [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate frame locators with special characters in name attribute [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate frame locators with title attribute [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate frame locators with name attribute [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate frame locators with id attribute [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate frame locators with testId [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate role locators undef frame locators [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate getByTestId [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate getByPlaceholder [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate getByAltText [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate getByLabel [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should generate getByLabel without regex [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should consume pointer events [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should consume contextmenu events, despite a custom context menu [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should assert value [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should assert value on disabled input [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should assert value on disabled select [timeout] +bidi-chromium-library › library/inspector/cli-codegen-3.spec.ts › cli codegen › should assert visibility [timeout] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print the correct context options for custom settings [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print the correct context options when using a device [unknown] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print the correct context options when using a device and additional options [unknown] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print load/save storageState [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should work with --save-har [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should not print context options method override in nunit if no options were passed [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print context options method override in nunit if options were passed [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should not print context options method override in mstest if no options were passed [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print context options method override in mstest if options were passed [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print a valid basic program in mstest [fail] +bidi-chromium-library › library/inspector/cli-codegen-csharp.spec.ts › should print a valid basic program in nunit [fail] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print the correct context options for custom settings [fail] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print the correct context options when using a device [unknown] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print the correct context options when using a device and additional options [unknown] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print load/save storage_state [fail] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should work with --save-har [fail] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print the correct imports in junit [fail] +bidi-chromium-library › library/inspector/cli-codegen-java.spec.ts › should print a valid basic program in junit [fail] +bidi-chromium-library › library/inspector/cli-codegen-javascript.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-javascript.spec.ts › should print the correct context options for custom settings [fail] +bidi-chromium-library › library/inspector/cli-codegen-javascript.spec.ts › should print the correct context options when using a device [unknown] +bidi-chromium-library › library/inspector/cli-codegen-javascript.spec.ts › should print the correct context options when using a device and additional options [unknown] +bidi-chromium-library › library/inspector/cli-codegen-javascript.spec.ts › should save the codegen output to a file if specified [fail] +bidi-chromium-library › library/inspector/cli-codegen-javascript.spec.ts › should print load/save storageState [fail] +bidi-chromium-library › library/inspector/cli-codegen-pytest.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-pytest.spec.ts › should print the correct context options when using a device and lang [unknown] +bidi-chromium-library › library/inspector/cli-codegen-pytest.spec.ts › should save the codegen output to a file if specified [fail] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should print the correct context options for custom settings [fail] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should print the correct context options when using a device [unknown] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should print the correct context options when using a device and additional options [unknown] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should save the codegen output to a file if specified [fail] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should print load/save storage_state [fail] +bidi-chromium-library › library/inspector/cli-codegen-python-async.spec.ts › should work with --save-har [fail] +bidi-chromium-library › library/inspector/cli-codegen-python.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-python.spec.ts › should print the correct context options for custom settings [fail] +bidi-chromium-library › library/inspector/cli-codegen-python.spec.ts › should print the correct context options when using a device [unknown] +bidi-chromium-library › library/inspector/cli-codegen-python.spec.ts › should print the correct context options when using a device and additional options [unknown] +bidi-chromium-library › library/inspector/cli-codegen-python.spec.ts › should save the codegen output to a file if specified [fail] +bidi-chromium-library › library/inspector/cli-codegen-python.spec.ts › should print load/save storage_state [fail] +bidi-chromium-library › library/inspector/cli-codegen-test.spec.ts › should print the correct imports and context options [fail] +bidi-chromium-library › library/inspector/cli-codegen-test.spec.ts › should print the correct context options for custom settings [fail] +bidi-chromium-library › library/inspector/cli-codegen-test.spec.ts › should print the correct context options when using a device [unknown] +bidi-chromium-library › library/inspector/cli-codegen-test.spec.ts › should print the correct context options when using a device and additional options [unknown] +bidi-chromium-library › library/inspector/cli-codegen-test.spec.ts › should print load storageState [fail] +bidi-chromium-library › library/inspector/cli-codegen-test.spec.ts › should work with --save-har [fail] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.$, playwright.$$ [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.selector [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.locator.value [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.locator.values [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.locator({ has }) [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.locator({ hasNot }) [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support locator.and() [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support locator.or() [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › should support playwright.getBy* [pass] +bidi-chromium-library › library/inspector/console-api.spec.ts › expected properties on playwright object [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › should resume when closing inspector [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › should not reset timeouts [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should pause and resume the script [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should pause and resume the script with keyboard shortcut [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should resume from console [fail] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should pause after a navigation [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should show source [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should pause on next pause [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should step [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should step with keyboard shortcut [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should highlight pointer, only in main frame [timeout] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should skip input when resuming [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should populate log [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should hide internal calls [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should show expect.toHaveText [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should highlight waitForEvent [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should populate log with waitForEvent [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should populate log with error [fail] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should populate log with error in waitForEvent [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should pause on page close [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should pause on context close [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should highlight on explore [timeout] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should highlight on explore (csharp) [timeout] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should not prevent key events [pass] +bidi-chromium-library › library/inspector/pause.spec.ts › pause › should highlight locators with custom testId [timeout] +bidi-chromium-library › library/launcher.spec.ts › should have an errors object [pass] +bidi-chromium-library › library/launcher.spec.ts › should have a devices object [pass] +bidi-chromium-library › library/launcher.spec.ts › should kill browser process on timeout after close [pass] +bidi-chromium-library › library/launcher.spec.ts › should throw a friendly error if its headed and there is no xserver on linux running [unknown] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer locators [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer getByRole [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer ignore-case locators [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer ordered locators [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer locators with regex [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer hasText [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer hasNotText [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer has [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer hasNot [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer has + hasText [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer frameLocator [pass] +bidi-chromium-library › library/locator-generator.spec.ts › generate multiple locators [pass] +bidi-chromium-library › library/locator-generator.spec.ts › reverse engineer internal:has-text locators [pass] +bidi-chromium-library › library/locator-generator.spec.ts › asLocator internal:and [pass] +bidi-chromium-library › library/locator-generator.spec.ts › asLocator internal:or [pass] +bidi-chromium-library › library/locator-generator.spec.ts › asLocator internal:chain [pass] +bidi-chromium-library › library/locator-generator.spec.ts › asLocator xpath [pass] +bidi-chromium-library › library/locator-generator.spec.ts › parseLocator quotes [pass] +bidi-chromium-library › library/locator-generator.spec.ts › parseLocator css [pass] +bidi-chromium-library › library/locator-generator.spec.ts › parse locators strictly [pass] +bidi-chromium-library › library/logger.spec.ts › should log @smoke [pass] +bidi-chromium-library › library/logger.spec.ts › should log context-level [pass] +bidi-chromium-library › library/modernizr.spec.ts › Safari Desktop [unknown] +bidi-chromium-library › library/modernizr.spec.ts › Mobile Safari [unknown] +bidi-chromium-library › library/page-clock.frozen.spec.ts › clock should be frozen [unknown] +bidi-chromium-library › library/page-clock.frozen.spec.ts › clock should be realtime [unknown] +bidi-chromium-library › library/page-clock.spec.ts › runFor › triggers immediately without specified delay [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › does not trigger without sufficient delay [pass] +bidi-chromium-library › library/page-clock.spec.ts › runFor › triggers after sufficient delay [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › triggers simultaneous timers [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › triggers multiple simultaneous timers [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › waits after setTimeout was called [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › triggers event when some throw [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › creates updated Date while ticking [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › passes 8 seconds [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › passes 1 minute [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › passes 2 hours, 34 minutes and 10 seconds [fail] +bidi-chromium-library › library/page-clock.spec.ts › runFor › throws for invalid format [pass] +bidi-chromium-library › library/page-clock.spec.ts › runFor › returns the current now value [pass] +bidi-chromium-library › library/page-clock.spec.ts › fastForward › ignores timers which wouldn't be run [pass] +bidi-chromium-library › library/page-clock.spec.ts › fastForward › pushes back execution time for skipped timers [fail] +bidi-chromium-library › library/page-clock.spec.ts › fastForward › supports string time arguments [fail] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › sets initial timestamp [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › should throw for invalid date [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › replaces global setTimeout [fail] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › global fake setTimeout should return id [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › replaces global clearTimeout [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › replaces global setInterval [fail] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › replaces global clearInterval [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › replaces global performance.now [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › fakes Date constructor [pass] +bidi-chromium-library › library/page-clock.spec.ts › stubTimers › replaces global performance.timeOrigin [pass] +bidi-chromium-library › library/page-clock.spec.ts › popup › should tick after popup [fail] +bidi-chromium-library › library/page-clock.spec.ts › popup › should tick before popup [fail] +bidi-chromium-library › library/page-clock.spec.ts › popup › should run time before popup [pass] +bidi-chromium-library › library/page-clock.spec.ts › popup › should not run time before popup on pause [fail] +bidi-chromium-library › library/page-clock.spec.ts › setFixedTime › does not fake methods [pass] +bidi-chromium-library › library/page-clock.spec.ts › setFixedTime › allows setting time multiple times [pass] +bidi-chromium-library › library/page-clock.spec.ts › setFixedTime › fixed time is not affected by clock manipulation [pass] +bidi-chromium-library › library/page-clock.spec.ts › setFixedTime › allows installing fake timers after settings time [fail] +bidi-chromium-library › library/page-clock.spec.ts › while running › should progress time [pass] +bidi-chromium-library › library/page-clock.spec.ts › while running › should runFor [pass] +bidi-chromium-library › library/page-clock.spec.ts › while running › should fastForward [pass] +bidi-chromium-library › library/page-clock.spec.ts › while running › should fastForwardTo [pass] +bidi-chromium-library › library/page-clock.spec.ts › while running › should pause [pass] +bidi-chromium-library › library/page-clock.spec.ts › while running › should pause and fastForward [pass] +bidi-chromium-library › library/page-clock.spec.ts › while running › should set system time on pause [pass] +bidi-chromium-library › library/page-clock.spec.ts › while on pause › fastForward should not run nested immediate [fail] +bidi-chromium-library › library/page-clock.spec.ts › while on pause › runFor should not run nested immediate [fail] +bidi-chromium-library › library/page-clock.spec.ts › while on pause › runFor should not run nested immediate from microtask [fail] +bidi-chromium-library › library/page-clock.spec.ts › Date.now › check Date.now is an integer [pass] +bidi-chromium-library › library/page-clock.spec.ts › Date.now › check Date.now is an integer (2) [pass] +bidi-chromium-library › library/page-event-crash.spec.ts › should emit crash event when page crashes [timeout] +bidi-chromium-library › library/page-event-crash.spec.ts › should throw on any action after page crashes [timeout] +bidi-chromium-library › library/page-event-crash.spec.ts › should cancel waitForEvent when page crashes [timeout] +bidi-chromium-library › library/page-event-crash.spec.ts › should cancel navigation when page crashes [timeout] +bidi-chromium-library › library/page-event-crash.spec.ts › should be able to close context when page crashes [timeout] +bidi-chromium-library › library/pdf.spec.ts › should be able to save file [unknown] +bidi-chromium-library › library/pdf.spec.ts › should be able to generate outline [unknown] +bidi-chromium-library › library/permissions.spec.ts › permissions › should be prompt by default [pass] +bidi-chromium-library › library/permissions.spec.ts › permissions › should deny permission when not listed [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should fail when bad permission is given [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should grant geolocation permission when origin is listed [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should prompt for geolocation permission when origin is not listed [pass] +bidi-chromium-library › library/permissions.spec.ts › permissions › should grant notifications permission when listed [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should accumulate when adding [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should clear permissions [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should grant permission when listed for all domains [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should grant permission when creating context [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should reset permissions [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should trigger permission onchange [fail] +bidi-chromium-library › library/permissions.spec.ts › permissions › should isolate permissions between browser contexts [fail] +bidi-chromium-library › library/permissions.spec.ts › should support clipboard read [fail] +bidi-chromium-library › library/permissions.spec.ts › storage access [unknown] +bidi-chromium-library › library/popup.spec.ts › should inherit user agent from browser context @smoke [fail] +bidi-chromium-library › library/popup.spec.ts › should respect routes from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should inherit extra headers from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should inherit offline from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should inherit http credentials from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should inherit touch support from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should inherit viewport size from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should use viewport size from window features [timeout] +bidi-chromium-library › library/popup.spec.ts › should respect routes from browser context when using window.open [fail] +bidi-chromium-library › library/popup.spec.ts › BrowserContext.addInitScript should apply to an in-process popup [fail] +bidi-chromium-library › library/popup.spec.ts › BrowserContext.addInitScript should apply to a cross-process popup [fail] +bidi-chromium-library › library/popup.spec.ts › should expose function from browser context [fail] +bidi-chromium-library › library/popup.spec.ts › should not dispatch binding on a closed page [fail] +bidi-chromium-library › library/popup.spec.ts › should not throttle rAF in the opener page [pass] +bidi-chromium-library › library/popup.spec.ts › should not throw when click closes popup [pass] +bidi-chromium-library › library/proxy-pattern.spec.ts › socks proxy patter matcher [pass] +bidi-chromium-library › library/proxy.spec.ts › should throw for bad server value [pass] +bidi-chromium-library › library/proxy.spec.ts › should use proxy @smoke [pass] +bidi-chromium-library › library/proxy.spec.ts › should use proxy for second page [pass] +bidi-chromium-library › library/proxy.spec.ts › should work with IP:PORT notion [pass] +bidi-chromium-library › library/proxy.spec.ts › should proxy local network requests › by default › localhost [pass] +bidi-chromium-library › library/proxy.spec.ts › should proxy local network requests › by default › loopback address [pass] +bidi-chromium-library › library/proxy.spec.ts › should proxy local network requests › by default › link-local [pass] +bidi-chromium-library › library/proxy.spec.ts › should proxy local network requests › with other bypasses › localhost [pass] +bidi-chromium-library › library/proxy.spec.ts › should proxy local network requests › with other bypasses › loopback address [pass] +bidi-chromium-library › library/proxy.spec.ts › should proxy local network requests › with other bypasses › link-local [pass] +bidi-chromium-library › library/proxy.spec.ts › should authenticate [fail] +bidi-chromium-library › library/proxy.spec.ts › should work with authenticate followed by redirect [fail] +bidi-chromium-library › library/proxy.spec.ts › should exclude patterns [pass] +bidi-chromium-library › library/proxy.spec.ts › should use socks proxy [pass] +bidi-chromium-library › library/proxy.spec.ts › should use socks proxy in second page [pass] +bidi-chromium-library › library/proxy.spec.ts › does launch without a port [pass] +bidi-chromium-library › library/proxy.spec.ts › should use proxy with emulated user agent [unknown] +bidi-chromium-library › library/proxy.spec.ts › should use SOCKS proxy for websocket requests [pass] +bidi-chromium-library › library/resource-timing.spec.ts › should work @smoke [pass] +bidi-chromium-library › library/resource-timing.spec.ts › should work for subresource [fail] +bidi-chromium-library › library/resource-timing.spec.ts › should work for SSL [fail] +bidi-chromium-library › library/resource-timing.spec.ts › should work for redirect [fail] +bidi-chromium-library › library/resource-timing.spec.ts › should work when serving from memory cache [fail] +bidi-chromium-library › library/role-utils.spec.ts › wpt accname #0 [pass] +bidi-chromium-library › library/role-utils.spec.ts › wpt accname #1 [pass] +bidi-chromium-library › library/role-utils.spec.ts › wpt accname #2 [pass] +bidi-chromium-library › library/role-utils.spec.ts › wpt accname #3 [pass] +bidi-chromium-library › library/role-utils.spec.ts › wpt accname non-manual [pass] +bidi-chromium-library › library/role-utils.spec.ts › axe-core implicit-role [pass] +bidi-chromium-library › library/role-utils.spec.ts › axe-core accessible-text [pass] +bidi-chromium-library › library/role-utils.spec.ts › accessible name with slots [pass] +bidi-chromium-library › library/role-utils.spec.ts › accessible name nested treeitem [pass] +bidi-chromium-library › library/role-utils.spec.ts › svg title [pass] +bidi-chromium-library › library/role-utils.spec.ts › native controls [pass] +bidi-chromium-library › library/role-utils.spec.ts › native controls labelled-by [pass] +bidi-chromium-library › library/role-utils.spec.ts › display:contents should be visible when contents are visible [pass] +bidi-chromium-library › library/role-utils.spec.ts › label/labelled-by aria-hidden with descendants [pass] +bidi-chromium-library › library/role-utils.spec.ts › own aria-label concatenated with aria-labelledby [pass] +bidi-chromium-library › library/role-utils.spec.ts › control embedded in a label [pass] +bidi-chromium-library › library/role-utils.spec.ts › control embedded in a target element [pass] +bidi-chromium-library › library/role-utils.spec.ts › svg role=presentation [pass] +bidi-chromium-library › library/role-utils.spec.ts › should work with form and tricky input names [pass] +bidi-chromium-library › library/role-utils.spec.ts › should ignore stylesheet from hidden aria-labelledby subtree [pass] +bidi-chromium-library › library/role-utils.spec.ts › should not include hidden pseudo into accessible name [pass] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should run in parallel in multiple pages [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with a mobile viewport [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with a mobile viewport and clip [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with a mobile viewport and fullPage [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with device scale factor [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with device scale factor and clip [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with device scale factor and scale:css [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with device scale factor, clip and scale:css [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should throw if screenshot size is too large with device scale factor [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should work with large size [fail] +bidi-chromium-library › library/screenshot.spec.ts › page screenshot › should handle vh units [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › element screenshot should work with a mobile viewport [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › element screenshot should work with device scale factor [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should take screenshots when default viewport is null [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should take fullPage screenshots when default viewport is null [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should restore default viewport after fullPage screenshot [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should restore viewport after page screenshot and exception [pass] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should restore viewport after page screenshot and timeout [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should take element screenshot when default viewport is null and restore back [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should restore viewport after element screenshot and exception [pass] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › element screenshots should handle vh units [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should work if the main resource hangs [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should capture full element when larger than viewport with device scale factor [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › should capture full element when larger than viewport with device scale factor and scale:css [fail] +bidi-chromium-library › library/screenshot.spec.ts › element screenshot › page screenshot should capture css transform with device pixels [fail] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prefer button over inner span [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prefer role=button over inner span [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not prefer zero-sized button over inner span [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate text and normalize whitespace [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not escape spaces inside named attr selectors [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate text for [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should trim text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should try to improve role name [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should try to improve text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should try to improve text by shortening [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should try to improve label text by shortening [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not improve guid text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not escape text with >> [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should escape text with quote [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should escape text with slash [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not use text for select [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use ordinal for identical nodes [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prefer data-testid [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use data-testid in strict errors [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should handle first non-unique data-testid [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should handle second non-unique data-testid [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use readable id [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not use generated id [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use internal:has-text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use internal:has-text with regexp [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use internal:has-text with regexp with a quote [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should chain text after parent [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use parent text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should separate selectors by >> [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should trim long text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use nested ordinals [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should properly join child selectors under nested ordinals [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not use input[value] [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prioritise attributes correctly › role [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prioritise attributes correctly › placeholder [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prioritise attributes correctly › name [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prioritise attributes correctly › type [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should find text in shadow dom [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should match in shadow dom [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should match in deep shadow dom [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should work in dynamic iframes without navigation [fail] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should use the name attributes for elements that can have it [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should work with tricky attributes [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should work without CSS.escape [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should ignore empty aria-label for candidate consideration [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should accept valid aria-label for candidate consideration [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should ignore empty role for candidate consideration [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should not accept invalid role for candidate consideration [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should ignore empty data-test-id for candidate consideration [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should accept valid data-test-id for candidate consideration [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate label selector [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should prefer role other input[type] [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate title selector [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate exact text when necessary [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate exact title when necessary [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate exact placeholder when necessary [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate exact role when necessary [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate exact label when necessary [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate relative selector [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate multiple: noText in role [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate multiple: noText in text [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate multiple: noId [pass] +bidi-chromium-library › library/selector-generator.spec.ts › selector generator › should generate multiple: noId noText [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should work [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should work when registered on global [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should work with path [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should work in main and isolated world [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should handle errors [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should not rely on engines working from the root [pass] +bidi-chromium-library › library/selectors-register.spec.ts › should throw a nice error if the selector returns a bad value [pass] +bidi-chromium-library › library/shared-worker.spec.ts › should survive shared worker restart [timeout] +bidi-chromium-library › library/signals.spec.ts › should close the browser when the node process closes [timeout] +bidi-chromium-library › library/signals.spec.ts › should remove temp dir on process.exit [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should report browser close signal 2 [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should close the browser on SIGINT [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should close the browser on SIGTERM [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should close the browser on SIGHUP [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should kill the browser on double SIGINT and remove temp dir [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should kill the browser on SIGINT + SIGTERM [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should kill the browser on SIGTERM + SIGINT [timeout] +bidi-chromium-library › library/signals.spec.ts › signals › should not prevent default SIGTERM handling after browser close [timeout] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo check [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo click [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo dblclick [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo dispatchEvent [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo fill [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo focus [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo goto [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo hover [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo press [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo reload [timeout] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo selectOption [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo setInputFiles [timeout] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo type [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Page SlowMo uncheck [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo check [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo click [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo dblclick [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo dispatchEvent [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo fill [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo focus [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo goto [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo hover [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo press [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo selectOption [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo setInputFiles [timeout] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo type [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › Frame SlowMo uncheck [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo check [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo click [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo dblclick [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo dispatchEvent [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo fill [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo focus [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo hover [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo press [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo selectOption [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo setInputFiles [fail] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo type [pass] +bidi-chromium-library › library/slowmo.spec.ts › slowMo › ElementHandle SlowMo uncheck [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should collect snapshot [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should preserve BASE and other content on reset [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should capture resources [fail] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should collect multiple [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should respect inline CSSOM change [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should respect CSSOM change through CSSGroupingRule [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should respect node removal [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should respect attr removal [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should have a custom doctype [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should replace meta charset attr that specifies charset [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should replace meta content attr that specifies charset [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should respect subresource CSSOM change [fail] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should capture frame [fail] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should capture iframe [fail] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should capture iframe with srcdoc [fail] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should capture snapshot target [timeout] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should collect on attribute change [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › empty adopted style sheets should not prevent node refs [pass] +bidi-chromium-library › library/snapshotter.spec.ts › snapshots › should not navigate on anchor clicks [pass] +bidi-chromium-library › library/tap.spec.ts › should send all of the correct events @smoke [fail] +bidi-chromium-library › library/tap.spec.ts › trial run should not tap [fail] +bidi-chromium-library › library/tap.spec.ts › should not send mouse events touchstart is canceled [fail] +bidi-chromium-library › library/tap.spec.ts › should not send mouse events when touchend is canceled [fail] +bidi-chromium-library › library/tap.spec.ts › should not wait for a navigation caused by a tap [fail] +bidi-chromium-library › library/tap.spec.ts › should work with modifiers [fail] +bidi-chromium-library › library/tap.spec.ts › should send well formed touch points [fail] +bidi-chromium-library › library/tap.spec.ts › should wait until an element is visible to tap it [fail] +bidi-chromium-library › library/tap.spec.ts › locators › should send all of the correct events [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should show empty trace viewer [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open two trace viewers [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open trace viewer on specific host [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open simple trace viewer [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should complain about newer version of trace in old viewer [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should contain action info [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should render network bars [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should render console [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should open console errors on click [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should show params and return value [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should show null as a param [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should have correct snapshot size [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should have correct stack trace [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should have network requests [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should filter network requests by resource type [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should show font preview [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should filter network requests by url [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should have network request overrides [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should have network request overrides 2 [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should show snapshot URL [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should popup snapshot [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should capture iframe with sandbox attribute [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should capture data-url svg iframe [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should contain adopted style sheets [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should work with adopted style sheets and replace/replaceSync [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should work with adopted style sheets and all: unset [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should work with nesting CSS selectors [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should restore scroll positions [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should restore control values [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should work with meta CSP [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should handle multiple headers [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should handle src=blob [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should handle file URIs [unknown] +bidi-chromium-library › library/trace-viewer.spec.ts › should preserve currentSrc [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should register custom elements [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should highlight target elements [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should highlight target element in shadow dom [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should highlight expect failure [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should show action source [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should follow redirects [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should include metainfo [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open two trace files [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open two trace files of the same test [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should include requestUrl in route.fulfill [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should not crash with broken locator [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should include requestUrl in route.continue [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should include requestUrl in route.abort [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should serve overridden request [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should display waitForLoadState even if did not wait for it [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should display language-specific locators [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should pick locator [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should update highlight when typing [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open trace-1.31 [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open trace-1.37 [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should prefer later resource request with the same method [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should ignore 304 responses [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should pick locator in iframe [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should highlight locator in iframe while typing [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should preserve noscript when javascript is disabled [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should remove noscript by default [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should remove noscript when javaScriptEnabled is set to true [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should open snapshot in new browser context [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should show similar actions from library-only trace [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should show correct request start time [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should allow hiding route actions [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should show baseURL in metadata pane [pass] +bidi-chromium-library › library/trace-viewer.spec.ts › should serve css without content-type [timeout] +bidi-chromium-library › library/trace-viewer.spec.ts › should allow showing screenshots instead of snapshots [fail] +bidi-chromium-library › library/trace-viewer.spec.ts › should handle case where neither snapshots nor screenshots exist [pass] +bidi-chromium-library › library/tracing.spec.ts › should collect trace with resources, but no js [timeout] +bidi-chromium-library › library/tracing.spec.ts › should use the correct apiName for event driven callbacks [fail] +bidi-chromium-library › library/tracing.spec.ts › should not collect snapshots by default [pass] +bidi-chromium-library › library/tracing.spec.ts › should not include buffers in the trace [fail] +bidi-chromium-library › library/tracing.spec.ts › should exclude internal pages [pass] +bidi-chromium-library › library/tracing.spec.ts › should include context API requests [pass] +bidi-chromium-library › library/tracing.spec.ts › should collect two traces [pass] +bidi-chromium-library › library/tracing.spec.ts › should respect tracesDir and name [fail] +bidi-chromium-library › library/tracing.spec.ts › should not include trace resources from the previous chunks [fail] +bidi-chromium-library › library/tracing.spec.ts › should overwrite existing file [fail] +bidi-chromium-library › library/tracing.spec.ts › should collect sources [pass] +bidi-chromium-library › library/tracing.spec.ts › should record network failures [fail] +bidi-chromium-library › library/tracing.spec.ts › should not crash when browser closes mid-trace [pass] +bidi-chromium-library › library/tracing.spec.ts › should survive browser.close with auto-created traces dir [pass] +bidi-chromium-library › library/tracing.spec.ts › should not stall on dialogs [pass] +bidi-chromium-library › library/tracing.spec.ts › should produce screencast frames fit [fail] +bidi-chromium-library › library/tracing.spec.ts › should produce screencast frames crop [fail] +bidi-chromium-library › library/tracing.spec.ts › should produce screencast frames scale [fail] +bidi-chromium-library › library/tracing.spec.ts › should include interrupted actions [pass] +bidi-chromium-library › library/tracing.spec.ts › should throw when starting with different options [pass] +bidi-chromium-library › library/tracing.spec.ts › should throw when stopping without start [pass] +bidi-chromium-library › library/tracing.spec.ts › should not throw when stopping without start but not exporting [pass] +bidi-chromium-library › library/tracing.spec.ts › should work with multiple chunks [pass] +bidi-chromium-library › library/tracing.spec.ts › should export trace concurrently to second navigation [fail] +bidi-chromium-library › library/tracing.spec.ts › should not hang for clicks that open dialogs [pass] +bidi-chromium-library › library/tracing.spec.ts › should ignore iframes in head [pass] +bidi-chromium-library › library/tracing.spec.ts › should hide internal stack frames [pass] +bidi-chromium-library › library/tracing.spec.ts › should hide internal stack frames in expect [pass] +bidi-chromium-library › library/tracing.spec.ts › should record global request trace [pass] +bidi-chromium-library › library/tracing.spec.ts › should store global request traces separately [pass] +bidi-chromium-library › library/tracing.spec.ts › should store postData for global request [pass] +bidi-chromium-library › library/tracing.spec.ts › should not flush console events [pass] +bidi-chromium-library › library/tracing.spec.ts › should flush console events on tracing stop [pass] +bidi-chromium-library › library/tracing.spec.ts › should not emit after w/o before [pass] +bidi-chromium-library › library/unroute-behavior.spec.ts › context.unroute should not wait for pending handlers to complete [timeout] +bidi-chromium-library › library/unroute-behavior.spec.ts › context.unrouteAll removes all handlers [pass] +bidi-chromium-library › library/unroute-behavior.spec.ts › context.unrouteAll should wait for pending handlers to complete [timeout] +bidi-chromium-library › library/unroute-behavior.spec.ts › context.unrouteAll should not wait for pending handlers to complete if behavior is ignoreErrors [timeout] +bidi-chromium-library › library/unroute-behavior.spec.ts › page.close should not wait for active route handlers on the owning context [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › context.close should not wait for active route handlers on the owned pages [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › page.unroute should not wait for pending handlers to complete [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › page.unrouteAll removes all routes [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › page.unrouteAll should wait for pending handlers to complete [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › page.unrouteAll should not wait for pending handlers to complete if behavior is ignoreErrors [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › page.close does not wait for active route handlers [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › route.continue should not throw if page has been closed [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › route.fallback should not throw if page has been closed [fail] +bidi-chromium-library › library/unroute-behavior.spec.ts › route.fulfill should not throw if page has been closed [fail] +bidi-chromium-library › library/video.spec.ts › screencast › videoSize should require videosPath [pass] +bidi-chromium-library › library/video.spec.ts › screencast › should work with old options [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should throw without recordVideo.dir [pass] +bidi-chromium-library › library/video.spec.ts › screencast › should capture static page [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should continue recording main page after popup closes [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should expose video path [timeout] +bidi-chromium-library › library/video.spec.ts › screencast › saveAs should throw when no video frames [pass] +bidi-chromium-library › library/video.spec.ts › screencast › should delete video [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should expose video path blank page [timeout] +bidi-chromium-library › library/video.spec.ts › screencast › should work with weird screen resolution [timeout] +bidi-chromium-library › library/video.spec.ts › screencast › should work with relative path for recordVideo.dir [timeout] +bidi-chromium-library › library/video.spec.ts › screencast › should expose video path blank popup [timeout] +bidi-chromium-library › library/video.spec.ts › screencast › should capture navigation [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should capture css transformation [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should work for popups [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should scale frames down to the requested size [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should use viewport scaled down to fit into 800x800 as default size [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should be 800x450 by default [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should be 800x600 with null viewport [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should capture static page in persistent context @smoke [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should emulate an iphone [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should throw on browser close [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should throw if browser dies [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should wait for video to finish if page was closed [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should not create video for internal pages [unknown] +bidi-chromium-library › library/video.spec.ts › screencast › should capture full viewport [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should capture full viewport on hidpi [fail] +bidi-chromium-library › library/video.spec.ts › screencast › should work with video+trace [fail] +bidi-chromium-library › library/video.spec.ts › should saveAs video [fail] +bidi-chromium-library › library/web-socket.spec.ts › should work @smoke [pass] +bidi-chromium-library › library/web-socket.spec.ts › should emit close events [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should emit frame events [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should filter out the close events when the server closes with a message [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should pass self as argument to close event [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should emit binary frame events [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should emit error [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should not have stray error events [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should reject waitForEvent on socket close [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should reject waitForEvent on page close [timeout] +bidi-chromium-library › library/web-socket.spec.ts › should turn off when offline [unknown] \ No newline at end of file diff --git a/tests/bidi/expectations/bidi-chromium-page.txt b/tests/bidi/expectations/bidi-chromium-page.txt new file mode 100644 index 0000000000..d1f28632f7 --- /dev/null +++ b/tests/bidi/expectations/bidi-chromium-page.txt @@ -0,0 +1,1966 @@ +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should work [pass] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should handle nested frames [fail] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should get frame box [pass] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should handle scroll offset and click [pass] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should return null for invisible elements [fail] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should force a layout [pass] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should work with SVG nodes [pass] +bidi-chromium-page › page/elementhandle-bounding-box.spec.ts › should work when inline box child is outside of viewport [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should work @smoke [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should work with Node removed [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should work for Shadow DOM v1 [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should work for TextNodes [fail] +bidi-chromium-page › page/elementhandle-click.spec.ts › should throw for detached nodes [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should throw for hidden nodes with force [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should throw for recursively hidden nodes with force [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should throw for
elements with force [pass] +bidi-chromium-page › page/elementhandle-click.spec.ts › should double click the button [pass] +bidi-chromium-page › page/elementhandle-content-frame.spec.ts › should work [pass] +bidi-chromium-page › page/elementhandle-content-frame.spec.ts › should work for cross-process iframes [pass] +bidi-chromium-page › page/elementhandle-content-frame.spec.ts › should work for cross-frame evaluations [fail] +bidi-chromium-page › page/elementhandle-content-frame.spec.ts › should return null for non-iframes [pass] +bidi-chromium-page › page/elementhandle-content-frame.spec.ts › should return null for document.documentElement [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › should have a nice preview [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › should have a nice preview for non-ascii attributes/children [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › getAttribute should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › inputValue should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › innerHTML should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › innerText should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › innerText should throw [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › textContent should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › textContent should work on ShadowRoot [fail] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › isVisible and isHidden should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › isVisible should not throw when the DOM element is not connected [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › isEnabled and isDisabled should work [pass] +bidi-chromium-page › page/elementhandle-convenience.spec.ts › isEnabled and isDisabled should work with [fail] +bidi-chromium-page › page/page-fill.spec.ts › should throw if passed a non-string value [pass] +bidi-chromium-page › page/page-fill.spec.ts › should retry on disabled element [pass] +bidi-chromium-page › page/page-fill.spec.ts › should retry on readonly element [pass] +bidi-chromium-page › page/page-fill.spec.ts › should retry on invisible element [pass] +bidi-chromium-page › page/page-fill.spec.ts › should be able to fill the body [pass] +bidi-chromium-page › page/page-fill.spec.ts › should fill fixed position input [pass] +bidi-chromium-page › page/page-fill.spec.ts › should be able to fill when focus is in the wrong frame [pass] +bidi-chromium-page › page/page-fill.spec.ts › should be able to fill the input[type=number] [pass] +bidi-chromium-page › page/page-fill.spec.ts › should be able to fill exponent into the input[type=number] [pass] +bidi-chromium-page › page/page-fill.spec.ts › should be able to fill input[type=number] with empty string [pass] +bidi-chromium-page › page/page-fill.spec.ts › should not be able to fill text into the input[type=number] [pass] +bidi-chromium-page › page/page-fill.spec.ts › should be able to clear using fill() [pass] +bidi-chromium-page › page/page-fill.spec.ts › should not throw when fill causes navigation [pass] +bidi-chromium-page › page/page-fill.spec.ts › fill back to back [pass] +bidi-chromium-page › page/page-focus.spec.ts › should work @smoke [pass] +bidi-chromium-page › page/page-focus.spec.ts › should emit focus event [fail] +bidi-chromium-page › page/page-focus.spec.ts › should emit blur event [fail] +bidi-chromium-page › page/page-focus.spec.ts › should traverse focus [fail] +bidi-chromium-page › page/page-focus.spec.ts › should traverse focus in all directions [pass] +bidi-chromium-page › page/page-focus.spec.ts › should traverse only form elements [unknown] +bidi-chromium-page › page/page-focus.spec.ts › clicking checkbox should activate it [unknown] +bidi-chromium-page › page/page-focus.spec.ts › keeps focus on element when attempting to focus a non-focusable element [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work @smoke [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with file URL [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with file URL with subframes [pass] +bidi-chromium-page › page/page-goto.spec.ts › should use http for no protocol [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work cross-process [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with cross-process that fails before committing [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with Cross-Origin-Opener-Policy [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with Cross-Origin-Opener-Policy and interception [fail] +bidi-chromium-page › page/page-goto.spec.ts › should work with Cross-Origin-Opener-Policy after redirect [pass] +bidi-chromium-page › page/page-goto.spec.ts › should capture iframe navigation request [pass] +bidi-chromium-page › page/page-goto.spec.ts › should capture cross-process iframe navigation request [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with anchor navigation [timeout] +bidi-chromium-page › page/page-goto.spec.ts › should work with redirects [pass] +bidi-chromium-page › page/page-goto.spec.ts › should navigate to about:blank [pass] +bidi-chromium-page › page/page-goto.spec.ts › should return response when page changes its URL after load [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with subframes return 204 [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with subframes return 204 with domcontentloaded [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when server returns 204 [fail] +bidi-chromium-page › page/page-goto.spec.ts › should navigate to empty page with domcontentloaded [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work when page calls history API in beforeunload [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when navigating to bad url [fail] +bidi-chromium-page › page/page-goto.spec.ts › should fail when navigating to bad SSL [fail] +bidi-chromium-page › page/page-goto.spec.ts › should fail when navigating to bad SSL after redirects [fail] +bidi-chromium-page › page/page-goto.spec.ts › should not crash when navigating to bad SSL after a cross origin navigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › should not throw if networkidle0 is passed as an option [pass] +bidi-chromium-page › page/page-goto.spec.ts › should throw if networkidle2 is passed as an option [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when main resources failed to load [fail] +bidi-chromium-page › page/page-goto.spec.ts › should fail when exceeding maximum navigation timeout [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when exceeding default maximum navigation timeout [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when exceeding browser context navigation timeout [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when exceeding default maximum timeout [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when exceeding browser context timeout [pass] +bidi-chromium-page › page/page-goto.spec.ts › should prioritize default navigation timeout over default timeout [pass] +bidi-chromium-page › page/page-goto.spec.ts › should disable timeout when its set to 0 [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when replaced by another navigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › js redirect overrides url bar navigation [fail] +bidi-chromium-page › page/page-goto.spec.ts › should succeed on url bar navigation when there is pending navigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work when navigating to valid url [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work when navigating to data url [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work when navigating to 404 [pass] +bidi-chromium-page › page/page-goto.spec.ts › should return last response in redirect chain [pass] +bidi-chromium-page › page/page-goto.spec.ts › should not leak listeners during navigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › should not leak listeners during bad navigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › should not leak listeners during 20 waitForNavigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › should navigate to dataURL and not fire dataURL requests [pass] +bidi-chromium-page › page/page-goto.spec.ts › should navigate to URL with hash and fire requests without hash [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with self requesting page [pass] +bidi-chromium-page › page/page-goto.spec.ts › should fail when navigating and show the url at the error message [pass] +bidi-chromium-page › page/page-goto.spec.ts › should be able to navigate to a page controlled by service worker [pass] +bidi-chromium-page › page/page-goto.spec.ts › should send referer [fail] +bidi-chromium-page › page/page-goto.spec.ts › should send referer of cross-origin URL [fail] +bidi-chromium-page › page/page-goto.spec.ts › should reject referer option when setExtraHTTPHeaders provides referer [pass] +bidi-chromium-page › page/page-goto.spec.ts › should override referrer-policy [fail] +bidi-chromium-page › page/page-goto.spec.ts › should fail when canceled by another navigation [pass] +bidi-chromium-page › page/page-goto.spec.ts › should work with lazy loading iframes [pass] +bidi-chromium-page › page/page-goto.spec.ts › should report raw buffer for main resource [fail] +bidi-chromium-page › page/page-goto.spec.ts › should not throw unhandled rejections on invalid url [pass] +bidi-chromium-page › page/page-goto.spec.ts › should not crash when RTCPeerConnection is used [pass] +bidi-chromium-page › page/page-goto.spec.ts › should properly wait for load [pass] +bidi-chromium-page › page/page-goto.spec.ts › should not resolve goto upon window.stop() [pass] +bidi-chromium-page › page/page-goto.spec.ts › should return from goto if new navigation is started [pass] +bidi-chromium-page › page/page-goto.spec.ts › should return when navigation is committed if commit is specified [fail] +bidi-chromium-page › page/page-goto.spec.ts › should wait for load when iframe attaches and detaches [pass] +bidi-chromium-page › page/page-goto.spec.ts › should return url with basic auth info [pass] +bidi-chromium-page › page/page-history.spec.ts › page.goBack should work @smoke [fail] +bidi-chromium-page › page/page-history.spec.ts › page.goBack should work with HistoryAPI [fail] +bidi-chromium-page › page/page-history.spec.ts › page.goBack should work for file urls [fail] +bidi-chromium-page › page/page-history.spec.ts › goBack/goForward should work with bfcache-able pages [fail] +bidi-chromium-page › page/page-history.spec.ts › page.reload should work [pass] +bidi-chromium-page › page/page-history.spec.ts › page.reload should work with data url [timeout] +bidi-chromium-page › page/page-history.spec.ts › page.reload during renderer-initiated navigation [pass] +bidi-chromium-page › page/page-history.spec.ts › page.reload should not resolve with same-document navigation [fail] +bidi-chromium-page › page/page-history.spec.ts › page.reload should work with same origin redirect [pass] +bidi-chromium-page › page/page-history.spec.ts › page.reload should work with cross-origin redirect [pass] +bidi-chromium-page › page/page-history.spec.ts › page.reload should work on a page with a hash [pass] +bidi-chromium-page › page/page-history.spec.ts › page.reload should work on a page with a hash at the end [pass] +bidi-chromium-page › page/page-history.spec.ts › page.goBack during renderer-initiated navigation [timeout] +bidi-chromium-page › page/page-history.spec.ts › page.goForward during renderer-initiated navigation [fail] +bidi-chromium-page › page/page-history.spec.ts › regression test for issue 20791 [pass] +bidi-chromium-page › page/page-history.spec.ts › should reload proper page [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type into a textarea @smoke [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should move with the arrow keys [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should send a character with ElementHandle.press [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should send a character with insertText [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › insertText should only emit input event [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should report shiftKey [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should report multiple modifiers [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should send proper codes while typing [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should send proper codes while typing with shift [timeout] +bidi-chromium-page › page/page-keyboard.spec.ts › should not type canceled events [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should press plus [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should press shift plus [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should support plus-separated modifiers [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should support multiple plus-separated modifiers [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should shift raw codes [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should specify repeat property [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type all kinds of characters [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should specify location [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should press Enter [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should throw on unknown keys [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type emoji [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type emoji into an iframe [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should handle selectAll [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › pressing Meta should not result in any text insertion on any platform [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should be able to prevent selectAll [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should support MacOS shortcuts [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should press the meta key [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should work with keyboard events with empty.html [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should work after a cross origin navigation [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should expose keyIdentifier in webkit [unknown] +bidi-chromium-page › page/page-keyboard.spec.ts › should scroll with PageDown [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should move around the selection in a contenteditable [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should move to the start of the document [fail] +bidi-chromium-page › page/page-keyboard.spec.ts › should dispatch a click event on a button when Space gets pressed [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should dispatch a click event on a button when Enter gets pressed [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should support simple copy-pasting [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should support simple cut-pasting [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should support undo-redo [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type repeatedly in contenteditable in shadow dom [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type repeatedly in contenteditable in shadow dom with nested elements [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type repeatedly in input in shadow dom [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › type to non-focusable element should maintain old focus [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should dispatch insertText after context menu was opened [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should type after context menu was opened [pass] +bidi-chromium-page › page/page-keyboard.spec.ts › should have correct Keydown/Keyup order when pressing Escape key [pass] +bidi-chromium-page › page/page-leaks.spec.ts › click should not leak [pass] +bidi-chromium-page › page/page-leaks.spec.ts › fill should not leak [pass] +bidi-chromium-page › page/page-leaks.spec.ts › expect should not leak [pass] +bidi-chromium-page › page/page-leaks.spec.ts › waitFor should not leak [pass] +bidi-chromium-page › page/page-listeners.spec.ts › should not throw with ignoreErrors [pass] +bidi-chromium-page › page/page-listeners.spec.ts › should wait [pass] +bidi-chromium-page › page/page-listeners.spec.ts › wait should throw [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should click the document @smoke [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should dblclick the div [pass] +bidi-chromium-page › page/page-mouse.spec.ts › down and up should generate click [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should pointerdown the div with a custom button [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should report correct buttons property [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should select the text with mouse [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should trigger hover state [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should trigger hover state on disabled button [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should trigger hover state with removed window.Node [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should set modifier keys on click [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should tween mouse movement [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should always round down [fail] +bidi-chromium-page › page/page-mouse.spec.ts › should not crash on mouse drag with any button [pass] +bidi-chromium-page › page/page-mouse.spec.ts › should dispatch mouse move after context menu was opened [pass] +bidi-chromium-page › page/page-navigation.spec.ts › should work with _blank target [pass] +bidi-chromium-page › page/page-navigation.spec.ts › should work with cross-process _blank target [pass] +bidi-chromium-page › page/page-navigation.spec.ts › should work with _blank target in form [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should navigate to empty page with networkidle [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle to succeed navigation [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle to succeed navigation with request from previous navigation [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle in waitForNavigation [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle in setContent [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle in setContent with request from previous navigation [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle when navigating iframe [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle in setContent from the child frame [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle from the child frame [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle from the popup [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should wait for networkidle when iframe attaches and detaches [pass] +bidi-chromium-page › page/page-network-idle.spec.ts › should work after repeated navigations in the same page [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should work for main frame navigation request [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should work for subframe navigation request [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should work for fetch requests @smoke [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should work for a redirect [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should not work for a redirect and interception [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should return headers [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should get the same headers as the server [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should not return allHeaders() until they are available [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should get the same headers as the server CORS [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should not get preflight CORS requests when intercepting [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should return postData [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should work with binary post data [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should work with binary post data and interception [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should override post data content type [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should get |undefined| with postData() when there is no post data [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should parse the json post data [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should parse the data if content-type is application/x-www-form-urlencoded [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should parse the data if content-type is application/x-www-form-urlencoded; charset=UTF-8 [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should get |undefined| with postDataJSON() when there is no post data [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should return multipart/form-data [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should return event source [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should return navigation bit [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should return navigation bit when navigating to image [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should report raw headers [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should report raw response headers in redirects [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should report all cookies in one header [pass] +bidi-chromium-page › page/page-network-request.spec.ts › should not allow to access frame on popup main request [pass] +bidi-chromium-page › page/page-network-request.spec.ts › page.reload return 304 status code [fail] +bidi-chromium-page › page/page-network-request.spec.ts › should handle mixed-content blocked requests [unknown] +bidi-chromium-page › page/page-network-response.spec.ts › should work @smoke [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return multiple header value [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return text [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return uncompressed text [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should throw when requesting body of redirected response [pass] +bidi-chromium-page › page/page-network-response.spec.ts › should wait until response completes [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should reject response.finished if page closes [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should reject response.finished if context closes [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return json [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return body [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return body with compression [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return status text [pass] +bidi-chromium-page › page/page-network-response.spec.ts › should report all headers [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should report multiple set-cookie headers [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should behave the same way for headers and allHeaders [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should provide a Response with a file URL [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return set-cookie header after route.fulfill [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return headers after route.fulfill [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should report if request was fromServiceWorker [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should return body for prefetch script [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should bypass disk cache when page interception is enabled [fail] +bidi-chromium-page › page/page-network-response.spec.ts › should bypass disk cache when context interception is enabled [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should set bodySize and headersSize [pass] +bidi-chromium-page › page/page-network-sizes.spec.ts › should set bodySize to 0 if there was no body [pass] +bidi-chromium-page › page/page-network-sizes.spec.ts › should set bodySize, headersSize, and transferSize [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should set bodySize to 0 when there was no response body [pass] +bidi-chromium-page › page/page-network-sizes.spec.ts › should have the correct responseBodySize [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should have the correct responseBodySize for chunked request [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should have the correct responseBodySize with gzip compression [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should handle redirects [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should throw for failed requests [pass] +bidi-chromium-page › page/page-network-sizes.spec.ts › should work with 200 status code [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should work with 401 status code [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should work with 404 status code [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should work with 500 status code [fail] +bidi-chromium-page › page/page-network-sizes.spec.ts › should have correct responseBodySize for 404 with content [pass] +bidi-chromium-page › page/page-network-sizes.spec.ts › should return sizes without hanging [pass] +bidi-chromium-page › page/page-object-count.spec.ts › should count objects [unknown] +bidi-chromium-page › page/page-request-continue.spec.ts › should work [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should amend HTTP headers [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should delete header with undefined value [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should amend method [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should override request url [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should not allow changing protocol when overriding url [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should not throw when continuing while page is closing [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should not throw when continuing after page is closed [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should not throw if request was cancelled by the page [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should override method along with url [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should amend method on main request [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should amend post data [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should compute content-length from post data [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should amend method and post data [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should amend utf8 post data [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should amend longer post data [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should amend binary post data [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › post data › should use content-type from original request [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should work with Cross-Origin-Opener-Policy [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should delete the origin header [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should continue preload link requests [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › continue should propagate headers to redirects [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › redirected requests should report overridden headers [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › continue should delete headers on redirects [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › should intercept css variable with background url [fail] +bidi-chromium-page › page/page-request-continue.spec.ts › continue should not change multipart/form-data body [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should work [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should fall back [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should fall back async [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should not chain fulfill [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should not chain abort [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should fall back after exception [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should chain once [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should amend HTTP headers [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should delete header with undefined value [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should amend method [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › should override request url [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › post data › should amend post data [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › post data › should amend binary post data [fail] +bidi-chromium-page › page/page-request-fallback.spec.ts › post data › should amend json post data [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should work [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should work with buffer as body [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should work with status code 422 [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with unuassigned status codes [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should not throw if request was cancelled by the page [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should allow mocking binary responses [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should allow mocking svg with charset [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should work with file path [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should stringify intercepted request response headers [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should not modify the headers sent to the server [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should include the origin header [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with global fetch result [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with fetch result [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with fetch result and overrides [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fetch original request and fulfill [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with multiple set-cookie [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with fetch response that has multiple set-cookie [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › headerValue should return set-cookie from intercepted response [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with har response [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill preload link requests [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill json [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should fulfill with gzip and readback [fail] +bidi-chromium-page › page/page-request-fulfill.spec.ts › should not go to the network for fulfilled requests body [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should fulfill intercepted response [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should fulfill response with empty body [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should override with defaults when intercepted response not provided [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should fulfill with any response [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should support fulfill after intercept [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should give access to the intercepted response [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should give access to the intercepted response body [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should intercept multipart/form-data request body [unknown] +bidi-chromium-page › page/page-request-intercept.spec.ts › should fulfill intercepted response using alias [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should support timeout option in route.fetch [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should not follow redirects when maxRedirects is set to 0 in route.fetch [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should intercept with url override [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should intercept with post data override [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › should fulfill popup main request using alias [fail] +bidi-chromium-page › page/page-request-intercept.spec.ts › request.postData is not null when fetching FormData with a Blob [fail] +bidi-chromium-page › page/page-route.spec.ts › should intercept @smoke [fail] +bidi-chromium-page › page/page-route.spec.ts › should unroute [fail] +bidi-chromium-page › page/page-route.spec.ts › should support ? in glob pattern [fail] +bidi-chromium-page › page/page-route.spec.ts › should work when POST is redirected with 302 [fail] +bidi-chromium-page › page/page-route.spec.ts › should work when header manipulation headers with redirect [fail] +bidi-chromium-page › page/page-route.spec.ts › should be able to remove headers [fail] +bidi-chromium-page › page/page-route.spec.ts › should contain referer header [fail] +bidi-chromium-page › page/page-route.spec.ts › should properly return navigation response when URL has cookies [fail] +bidi-chromium-page › page/page-route.spec.ts › should override cookie header [pass] +bidi-chromium-page › page/page-route.spec.ts › should show custom HTTP headers [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with redirect inside sync XHR [fail] +bidi-chromium-page › page/page-route.spec.ts › should pause intercepted XHR until continue [fail] +bidi-chromium-page › page/page-route.spec.ts › should pause intercepted fetch request until continue [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with custom referer headers [fail] +bidi-chromium-page › page/page-route.spec.ts › should be abortable [fail] +bidi-chromium-page › page/page-route.spec.ts › should be abortable with custom error codes [fail] +bidi-chromium-page › page/page-route.spec.ts › should not throw if request was cancelled by the page [fail] +bidi-chromium-page › page/page-route.spec.ts › should send referer [fail] +bidi-chromium-page › page/page-route.spec.ts › should fail navigation when aborting main resource [fail] +bidi-chromium-page › page/page-route.spec.ts › should not work with redirects [fail] +bidi-chromium-page › page/page-route.spec.ts › should chain fallback w/ dynamic URL [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with redirects for subresources [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with equal requests [fail] +bidi-chromium-page › page/page-route.spec.ts › should navigate to dataURL and not fire dataURL requests [fail] +bidi-chromium-page › page/page-route.spec.ts › should be able to fetch dataURL and not fire dataURL requests [fail] +bidi-chromium-page › page/page-route.spec.ts › should navigate to URL with hash and and fire requests without hash [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with encoded server [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with badly encoded server [fail] +bidi-chromium-page › page/page-route.spec.ts › should work with encoded server - 2 [fail] +bidi-chromium-page › page/page-route.spec.ts › should not throw "Invalid Interception Id" if the request was cancelled [fail] +bidi-chromium-page › page/page-route.spec.ts › should intercept main resource during cross-process navigation [fail] +bidi-chromium-page › page/page-route.spec.ts › should fulfill with redirect status [fail] +bidi-chromium-page › page/page-route.spec.ts › should not fulfill with redirect status [unknown] +bidi-chromium-page › page/page-route.spec.ts › should support cors with GET [fail] +bidi-chromium-page › page/page-route.spec.ts › should add Access-Control-Allow-Origin by default when fulfill [fail] +bidi-chromium-page › page/page-route.spec.ts › should allow null origin for about:blank [fail] +bidi-chromium-page › page/page-route.spec.ts › should respect cors overrides [fail] +bidi-chromium-page › page/page-route.spec.ts › should not auto-intercept non-preflight OPTIONS [fail] +bidi-chromium-page › page/page-route.spec.ts › should support cors with POST [fail] +bidi-chromium-page › page/page-route.spec.ts › should support cors with credentials [fail] +bidi-chromium-page › page/page-route.spec.ts › should reject cors with disallowed credentials [fail] +bidi-chromium-page › page/page-route.spec.ts › should support cors for different methods [fail] +bidi-chromium-page › page/page-route.spec.ts › should support the times parameter with route matching [fail] +bidi-chromium-page › page/page-route.spec.ts › should work if handler with times parameter was removed from another handler [fail] +bidi-chromium-page › page/page-route.spec.ts › should support async handler w/ times [fail] +bidi-chromium-page › page/page-route.spec.ts › should contain raw request header [fail] +bidi-chromium-page › page/page-route.spec.ts › should contain raw response header [fail] +bidi-chromium-page › page/page-route.spec.ts › should contain raw response header after fulfill [fail] +bidi-chromium-page › page/page-route.spec.ts › route.fulfill should throw if called twice [fail] +bidi-chromium-page › page/page-route.spec.ts › route.continue should throw if called twice [fail] +bidi-chromium-page › page/page-route.spec.ts › route.fallback should throw if called twice [fail] +bidi-chromium-page › page/page-route.spec.ts › route.abort should throw if called twice [fail] +bidi-chromium-page › page/page-route.spec.ts › should intercept when postData is more than 1MB [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work @smoke [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should not capture blinking caret by default [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should capture blinking caret if explicitly asked for [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should capture blinking caret in shadow dom [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should clip rect [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should clip rect with fullPage [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should clip elements to the viewport [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should throw on clip outside the viewport [pass] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should run in parallel [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should take fullPage screenshots [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should take fullPage screenshots and mask elements outside of it [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should restore viewport after fullPage screenshot [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should allow transparency [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should render white background on jpeg file [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work with odd clip size on Retina displays [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work for canvas [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should capture canvas changes [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work for webgl [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work for translateZ [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work while navigating [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work with iframe in shadow [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › path option should work [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › path option should create subdirectories [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › path option should detect jpeg [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › path option should throw for unsupported mime type [pass] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › quality option should throw for png [pass] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › zero quality option should throw for png [pass] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should prefer type over extension [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should not issue resize event [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should work with Array deleted [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › should take fullPage screenshots during navigation [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should work [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should work with locator [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should work with elementhandle [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should mask multiple elements [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should mask inside iframe [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should mask in parallel [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should remove mask after screenshot [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should work when subframe has stalled navigation [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should work when subframe used document.open after a weird url [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should work when mask color is not pink #F0F [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should hide elements based on attr [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot › mask option › should remove elements based on attr [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should not capture infinite css animation [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should not capture pseudo element css animation [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should not capture css animations in shadow DOM [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should stop animations that happen right before screenshot [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should resume infinite animations [fail] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should not capture infinite web animations [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should fire transitionend for finite transitions [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should capture screenshots after layoutchanges in transitionend event [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should not change animation with playbackRate equal to 0 [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should trigger particular events for css transitions [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should trigger particular events for INfinite css animation [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should trigger particular events for finite css animation [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot animations › should wait for fonts to load [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › should throw if screenshot size is too large [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › page screenshot should capture css transform [unknown] +bidi-chromium-page › page/page-screenshot.spec.ts › should capture css box-shadow [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select single option @smoke [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select single option by value [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should fall back to selecting by label [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select single option by label [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select single option by handle [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select single option by index [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select single option by multiple attributes [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should not select single option when some attributes do not match [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select only first option [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should not throw when select causes navigation [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select multiple options [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should select multiple options with attributes [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should respect event bubbling [unknown] +bidi-chromium-page › page/page-select-option.spec.ts › should throw when element is not a