chore(bidi): use firefox browser type with moz-firefox- channel (#37696)
infra / docs & lint (push) Waiting to run
Details
infra / Lint snippets (push) Waiting to run
Details
Check client side changes / Check (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, macos-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, ubuntu-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, windows-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (20, ubuntu-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (22, ubuntu-latest) (push) Waiting to run
Details
MCP / ${{ matrix.os }} (macos-15) (push) Waiting to run
Details
MCP / ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
MCP / ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests others / Stress - ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests others / Stress - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
tests others / Stress - ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests others / WebView2 (push) Waiting to run
Details
tests others / time library - ${{ matrix.clock }} (frozen) (push) Waiting to run
Details
tests others / time library - ${{ matrix.clock }} (realtime) (push) Waiting to run
Details
tests others / time test runner - ${{ matrix.clock }} (frozen) (push) Waiting to run
Details
tests others / time test runner - ${{ matrix.clock }} (realtime) (push) Waiting to run
Details
tests others / Electron - ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests others / Electron - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
tests others / Electron - ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 18, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 20, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 22, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 24, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (firefox, 18, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (webkit, 18, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (chromium tip-of-tree) (ubuntu-22.04) (push) Waiting to run
Details
tests 1 / Test Runner (18, macos-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, macos-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, windows-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, windows-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (20, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (20, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (22, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (22, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (24, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (24, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Web Components (push) Waiting to run
Details
tests 1 / VSCode Extension (push) Waiting to run
Details
tests 1 / Installation Test ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests 1 / Installation Test ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
tests 1 / Installation Test ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-15-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-15-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-15-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-15-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-26-xlarge) (push) Waiting to run
Details
tests 2 / Windows (chromium) (push) Waiting to run
Details
tests 2 / Windows (firefox) (push) Waiting to run
Details
tests 2 / Windows (webkit) (push) Waiting to run
Details
tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (20, ubuntu-latest) (push) Waiting to run
Details
tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (22, ubuntu-latest) (push) Waiting to run
Details
tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (24, ubuntu-latest) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, windows-latest) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, windows-latest) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, windows-latest) (push) Waiting to run
Details
tests 2 / Transport (driver) (push) Waiting to run
Details
tests 2 / Transport (service) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium, chromium-tip-of-tree, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (firefox, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (webkit, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, windows-latest) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, macos-13) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, windows-latest) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, macos-13) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, windows-latest) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree headless-shell-${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Firefox Beta ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests 2 / Firefox Beta ${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Firefox Beta ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests 2 / build-playwright-driver (push) Waiting to run
Details
tests 2 / Test channel=chromium (macos-latest) (push) Waiting to run
Details
tests 2 / Test channel=chromium (ubuntu-latest) (push) Waiting to run
Details
tests 2 / Test channel=chromium (windows-latest) (push) Waiting to run
Details
tests Video / Video Linux (chromium, ubuntu-22.04) (push) Waiting to run
Details
tests Video / Video Linux (chromium, ubuntu-24.04) (push) Waiting to run
Details
tests Video / Video Linux (firefox, ubuntu-22.04) (push) Waiting to run
Details
tests Video / Video Linux (firefox, ubuntu-24.04) (push) Waiting to run
Details
tests Video / Video Linux (webkit, ubuntu-22.04) (push) Waiting to run
Details
tests Video / Video Linux (webkit, ubuntu-24.04) (push) Waiting to run
Details
Internal Tests / trigger (push) Waiting to run
Details
infra / docs & lint (push) Waiting to run
Details
infra / Lint snippets (push) Waiting to run
Details
Check client side changes / Check (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, macos-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, ubuntu-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (18, windows-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (20, ubuntu-latest) (push) Waiting to run
Details
components / ${{ matrix.os }} - Node.js ${{ matrix.node-version }} (22, ubuntu-latest) (push) Waiting to run
Details
MCP / ${{ matrix.os }} (macos-15) (push) Waiting to run
Details
MCP / ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
MCP / ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests others / Stress - ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests others / Stress - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
tests others / Stress - ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests others / WebView2 (push) Waiting to run
Details
tests others / time library - ${{ matrix.clock }} (frozen) (push) Waiting to run
Details
tests others / time library - ${{ matrix.clock }} (realtime) (push) Waiting to run
Details
tests others / time test runner - ${{ matrix.clock }} (frozen) (push) Waiting to run
Details
tests others / time test runner - ${{ matrix.clock }} (realtime) (push) Waiting to run
Details
tests others / Electron - ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests others / Electron - ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
tests others / Electron - ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 18, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 20, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 22, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (chromium, 24, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (firefox, 18, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) (webkit, 18, ubuntu-22.04) (push) Waiting to run
Details
tests 1 / ${{ matrix.os }} (chromium tip-of-tree) (ubuntu-22.04) (push) Waiting to run
Details
tests 1 / Test Runner (18, macos-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, macos-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, windows-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (18, windows-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (20, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (20, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (22, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (22, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Test Runner (24, ubuntu-latest, 1, 2) (push) Waiting to run
Details
tests 1 / Test Runner (24, ubuntu-latest, 2, 2) (push) Waiting to run
Details
tests 1 / Web Components (push) Waiting to run
Details
tests 1 / VSCode Extension (push) Waiting to run
Details
tests 1 / Installation Test ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests 1 / Installation Test ${{ matrix.os }} (ubuntu-latest) (push) Waiting to run
Details
tests 1 / Installation Test ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-15-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (chromium, macos-15-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-15-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (firefox, macos-15-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-large) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-15-xlarge) (push) Waiting to run
Details
tests 2 / ${{ matrix.os }} (${{ matrix.browser }}) (webkit, macos-26-xlarge) (push) Waiting to run
Details
tests 2 / Windows (chromium) (push) Waiting to run
Details
tests 2 / Windows (firefox) (push) Waiting to run
Details
tests 2 / Windows (webkit) (push) Waiting to run
Details
tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (20, ubuntu-latest) (push) Waiting to run
Details
tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (22, ubuntu-latest) (push) Waiting to run
Details
tests 2 / Installation Test ${{ matrix.os }} (${{ matrix.node_version }}) (24, ubuntu-latest) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (chromium, windows-latest) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (firefox, windows-latest) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, macos-14-xlarge) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / headed ${{ matrix.browser }} (${{ matrix.os }}) (webkit, windows-latest) (push) Waiting to run
Details
tests 2 / Transport (driver) (push) Waiting to run
Details
tests 2 / Transport (service) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium, chromium-tip-of-tree, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (chromium, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (firefox, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Tracing ${{ matrix.browser }} ${{ matrix.channel }} (webkit, ubuntu-24.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (chrome-beta, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-beta, windows-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, macos-latest) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Test ${{ matrix.channel }} on ${{ matrix.runs-on }} (msedge-dev, windows-latest) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, macos-13) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (, windows-latest) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, macos-13) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree ${{ matrix.os }}${{ matrix.headed }} (--headed, windows-latest) (push) Waiting to run
Details
tests 2 / Chromium tip-of-tree headless-shell-${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Firefox Beta ${{ matrix.os }} (macos-latest) (push) Waiting to run
Details
tests 2 / Firefox Beta ${{ matrix.os }} (ubuntu-22.04) (push) Waiting to run
Details
tests 2 / Firefox Beta ${{ matrix.os }} (windows-latest) (push) Waiting to run
Details
tests 2 / build-playwright-driver (push) Waiting to run
Details
tests 2 / Test channel=chromium (macos-latest) (push) Waiting to run
Details
tests 2 / Test channel=chromium (ubuntu-latest) (push) Waiting to run
Details
tests 2 / Test channel=chromium (windows-latest) (push) Waiting to run
Details
tests Video / Video Linux (chromium, ubuntu-22.04) (push) Waiting to run
Details
tests Video / Video Linux (chromium, ubuntu-24.04) (push) Waiting to run
Details
tests Video / Video Linux (firefox, ubuntu-22.04) (push) Waiting to run
Details
tests Video / Video Linux (firefox, ubuntu-24.04) (push) Waiting to run
Details
tests Video / Video Linux (webkit, ubuntu-22.04) (push) Waiting to run
Details
tests Video / Video Linux (webkit, ubuntu-24.04) (push) Waiting to run
Details
Internal Tests / trigger (push) Waiting to run
Details
This commit is contained in:
parent
6fa48c17db
commit
c85932f0b3
|
@ -16291,7 +16291,6 @@ export type AndroidKey =
|
|||
export const _electron: Electron;
|
||||
export const _android: Android;
|
||||
export const _bidiChromium: BrowserType;
|
||||
export const _bidiFirefox: BrowserType;
|
||||
|
||||
// This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
|
||||
export {};
|
||||
|
|
|
@ -32,9 +32,9 @@ import type { WebSocketEventEmitter } from './utilsBundle';
|
|||
import type { Browser } from './server/browser';
|
||||
|
||||
export class BrowserServerLauncherImpl implements BrowserServerLauncher {
|
||||
private _browserName: 'chromium' | 'firefox' | 'webkit' | '_bidiFirefox' | '_bidiChromium';
|
||||
private _browserName: 'chromium' | 'firefox' | 'webkit' | '_bidiChromium';
|
||||
|
||||
constructor(browserName: 'chromium' | 'firefox' | 'webkit' | '_bidiFirefox' | '_bidiChromium') {
|
||||
constructor(browserName: 'chromium' | 'firefox' | 'webkit' | '_bidiChromium') {
|
||||
this._browserName = browserName;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,6 @@ export class Playwright extends ChannelOwner<channels.PlaywrightChannel> {
|
|||
readonly _android: Android;
|
||||
readonly _electron: Electron;
|
||||
readonly _bidiChromium: BrowserType;
|
||||
readonly _bidiFirefox: BrowserType;
|
||||
readonly chromium: BrowserType;
|
||||
readonly firefox: BrowserType;
|
||||
readonly webkit: BrowserType;
|
||||
|
@ -60,8 +59,6 @@ export class Playwright extends ChannelOwner<channels.PlaywrightChannel> {
|
|||
this._electron._playwright = this;
|
||||
this._bidiChromium = BrowserType.from(initializer._bidiChromium);
|
||||
this._bidiChromium._playwright = this;
|
||||
this._bidiFirefox = BrowserType.from(initializer._bidiFirefox);
|
||||
this._bidiFirefox._playwright = this;
|
||||
this.devices = this._connection.localUtils()?.devices ?? {};
|
||||
this.selectors = new Selectors(this._connection._platform);
|
||||
this.errors = { TimeoutError };
|
||||
|
@ -72,7 +69,7 @@ export class Playwright extends ChannelOwner<channels.PlaywrightChannel> {
|
|||
}
|
||||
|
||||
private _browserTypes(): BrowserType[] {
|
||||
return [this.chromium, this.firefox, this.webkit, this._bidiChromium, this._bidiFirefox];
|
||||
return [this.chromium, this.firefox, this.webkit, this._bidiChromium];
|
||||
}
|
||||
|
||||
_preLaunchedBrowser(): Browser {
|
||||
|
|
|
@ -43,7 +43,6 @@ export function createInProcessPlaywright(): PlaywrightAPI {
|
|||
playwrightAPI.webkit._serverLauncher = new BrowserServerLauncherImpl('webkit');
|
||||
playwrightAPI._android._serverLauncher = new AndroidServerLauncherImpl();
|
||||
playwrightAPI._bidiChromium._serverLauncher = new BrowserServerLauncherImpl('_bidiChromium');
|
||||
playwrightAPI._bidiFirefox._serverLauncher = new BrowserServerLauncherImpl('_bidiFirefox');
|
||||
|
||||
// Switch to async dispatch after we got Playwright object.
|
||||
dispatcherConnection.onmessage = message => setImmediate(() => clientConnection.dispatch(message));
|
||||
|
|
|
@ -378,7 +378,6 @@ scheme.PlaywrightInitializer = tObject({
|
|||
firefox: tChannel(['BrowserType']),
|
||||
webkit: tChannel(['BrowserType']),
|
||||
_bidiChromium: tChannel(['BrowserType']),
|
||||
_bidiFirefox: tChannel(['BrowserType']),
|
||||
android: tChannel(['Android']),
|
||||
electron: tChannel(['Electron']),
|
||||
utils: tOptional(tChannel(['LocalUtils'])),
|
||||
|
|
|
@ -34,7 +34,7 @@ import type { RecentLogsCollector } from '../utils/debugLogger';
|
|||
|
||||
export class BidiFirefox extends BrowserType {
|
||||
constructor(parent: SdkObject) {
|
||||
super(parent, '_bidiFirefox');
|
||||
super(parent, 'firefox');
|
||||
}
|
||||
|
||||
override executablePath(): string {
|
||||
|
|
|
@ -92,7 +92,7 @@ export abstract class BrowserType extends SdkObject {
|
|||
}
|
||||
}
|
||||
|
||||
async _innerLaunchWithRetries(progress: Progress, options: types.LaunchOptions, persistent: types.BrowserContextOptions | undefined, protocolLogger: types.ProtocolLogger, userDataDir?: string): Promise<Browser> {
|
||||
private async _innerLaunchWithRetries(progress: Progress, options: types.LaunchOptions, persistent: types.BrowserContextOptions | undefined, protocolLogger: types.ProtocolLogger, userDataDir?: string): Promise<Browser> {
|
||||
try {
|
||||
return await this._innerLaunch(progress, options, persistent, protocolLogger, userDataDir);
|
||||
} catch (error) {
|
||||
|
@ -106,7 +106,7 @@ export abstract class BrowserType extends SdkObject {
|
|||
}
|
||||
}
|
||||
|
||||
async _innerLaunch(progress: Progress, options: types.LaunchOptions, persistent: types.BrowserContextOptions | undefined, protocolLogger: types.ProtocolLogger, maybeUserDataDir?: string): Promise<Browser> {
|
||||
private async _innerLaunch(progress: Progress, options: types.LaunchOptions, persistent: types.BrowserContextOptions | undefined, protocolLogger: types.ProtocolLogger, maybeUserDataDir?: string): Promise<Browser> {
|
||||
options.proxy = options.proxy ? normalizeProxySettings(options.proxy) : undefined;
|
||||
const browserLogsCollector = new RecentLogsCollector();
|
||||
const { browserProcess, userDataDir, artifactsDir, transport } = await this._launchProcess(progress, options, !!persistent, browserLogsCollector, maybeUserDataDir);
|
||||
|
@ -317,7 +317,7 @@ export abstract class BrowserType extends SdkObject {
|
|||
}
|
||||
}
|
||||
|
||||
_rewriteStartupLog(error: Error): Error {
|
||||
private _rewriteStartupLog(error: Error): Error {
|
||||
if (!isProtocolError(error))
|
||||
return error;
|
||||
return this.doRewriteStartupLog(error);
|
||||
|
|
|
@ -54,14 +54,12 @@ export class PlaywrightDispatcher extends Dispatcher<Playwright, channels.Playwr
|
|||
const firefox = new BrowserTypeDispatcher(scope, playwright.firefox, denyLaunch);
|
||||
const webkit = new BrowserTypeDispatcher(scope, playwright.webkit, denyLaunch);
|
||||
const _bidiChromium = new BrowserTypeDispatcher(scope, playwright._bidiChromium, denyLaunch);
|
||||
const _bidiFirefox = new BrowserTypeDispatcher(scope, playwright._bidiFirefox, denyLaunch);
|
||||
const android = new AndroidDispatcher(scope, playwright.android);
|
||||
const initializer: channels.PlaywrightInitializer = {
|
||||
chromium,
|
||||
firefox,
|
||||
webkit,
|
||||
_bidiChromium,
|
||||
_bidiFirefox,
|
||||
android,
|
||||
electron: new ElectronDispatcher(scope, playwright.electron, denyLaunch),
|
||||
utils: playwright.options.isServer ? undefined : new LocalUtilsDispatcher(scope, playwright),
|
||||
|
|
|
@ -24,16 +24,34 @@ import { wrapInASCIIBox } from '../utils/ascii';
|
|||
import { BrowserType, kNoXServerRunningError } from '../browserType';
|
||||
import { ManualPromise } from '../../utils/isomorphic/manualPromise';
|
||||
|
||||
import type { BrowserOptions } from '../browser';
|
||||
import type { Browser, BrowserOptions } from '../browser';
|
||||
import type { SdkObject } from '../instrumentation';
|
||||
import type { ProtocolError } from '../protocolError';
|
||||
import type { ConnectionTransport } from '../transport';
|
||||
import type * as types from '../types';
|
||||
import type { RecentLogsCollector } from '../utils/debugLogger';
|
||||
import type { BrowserContext } from '../browserContext';
|
||||
import type * as channels from '@protocol/channels';
|
||||
import type { Progress } from '@protocol/progress';
|
||||
|
||||
export class Firefox extends BrowserType {
|
||||
constructor(parent: SdkObject) {
|
||||
private _bidiFirefox: BrowserType;
|
||||
|
||||
constructor(parent: SdkObject, bidiFirefox: BrowserType) {
|
||||
super(parent, 'firefox');
|
||||
this._bidiFirefox = bidiFirefox;
|
||||
}
|
||||
|
||||
override launch(progress: Progress, options: types.LaunchOptions, protocolLogger?: types.ProtocolLogger): Promise<Browser> {
|
||||
if (options.channel?.startsWith('moz-'))
|
||||
return this._bidiFirefox.launch(progress, options, protocolLogger);
|
||||
return super.launch(progress, options, protocolLogger);
|
||||
}
|
||||
|
||||
override async launchPersistentContext(progress: Progress, userDataDir: string, options: channels.BrowserTypeLaunchPersistentContextOptions & { cdpPort?: number, internalIgnoreHTTPSErrors?: boolean, socksProxyPort?: number }): Promise<BrowserContext> {
|
||||
if (options.channel?.startsWith('moz-'))
|
||||
return this._bidiFirefox.launchPersistentContext(progress, userDataDir, options);
|
||||
return super.launchPersistentContext(progress, userDataDir, options);
|
||||
}
|
||||
|
||||
override connectToTransport(transport: ConnectionTransport, options: BrowserOptions): Promise<FFBrowser> {
|
||||
|
|
|
@ -43,7 +43,6 @@ export class Playwright extends SdkObject {
|
|||
readonly firefox: BrowserType;
|
||||
readonly webkit: BrowserType;
|
||||
readonly _bidiChromium: BrowserType;
|
||||
readonly _bidiFirefox: BrowserType;
|
||||
readonly options: PlaywrightOptions;
|
||||
readonly debugController: DebugController;
|
||||
private _allPages = new Set<Page>();
|
||||
|
@ -61,8 +60,7 @@ export class Playwright extends SdkObject {
|
|||
}, null);
|
||||
this.chromium = new Chromium(this);
|
||||
this._bidiChromium = new BidiChromium(this);
|
||||
this._bidiFirefox = new BidiFirefox(this);
|
||||
this.firefox = new Firefox(this);
|
||||
this.firefox = new Firefox(this, new BidiFirefox(this));
|
||||
this.webkit = new WebKit(this);
|
||||
this.electron = new Electron(this);
|
||||
this.android = new Android(this, new AdbBackend());
|
||||
|
|
|
@ -404,8 +404,6 @@ const DOWNLOAD_PATHS: Record<BrowserName | InternalTool, DownloadPaths> = {
|
|||
'win64': 'builds/android/%s/android.zip',
|
||||
},
|
||||
// TODO(bidi): implement downloads.
|
||||
'_bidiFirefox': {
|
||||
} as DownloadPaths,
|
||||
'_bidiChromium': {
|
||||
} as DownloadPaths,
|
||||
};
|
||||
|
@ -502,7 +500,7 @@ function readDescriptors(browsersJSON: BrowsersJSON): BrowsersJSONDescriptor[] {
|
|||
});
|
||||
}
|
||||
|
||||
export type BrowserName = 'chromium' | 'firefox' | 'webkit' | '_bidiFirefox' | '_bidiChromium';
|
||||
export type BrowserName = 'chromium' | 'firefox' | 'webkit' | '_bidiChromium';
|
||||
type InternalTool = 'ffmpeg' | 'winldd' | 'firefox-beta' | 'chromium-tip-of-tree' | 'chromium-headless-shell' | 'chromium-tip-of-tree-headless-shell' | 'android';
|
||||
type BidiChannel = 'moz-firefox' | 'moz-firefox-beta' | 'moz-firefox-nightly' | 'bidi-chrome-canary' | 'bidi-chrome-stable' | 'bidi-chromium';
|
||||
type ChromiumChannel = 'chrome' | 'chrome-beta' | 'chrome-dev' | 'chrome-canary' | 'msedge' | 'msedge-beta' | 'msedge-dev' | 'msedge-canary';
|
||||
|
@ -958,13 +956,13 @@ export class Registry {
|
|||
return executablePath;
|
||||
}
|
||||
if (shouldThrow)
|
||||
throw new Error(`Cannot find Firefox installation for channel '${name}' at the standard system paths.`);
|
||||
throw new Error(`Cannot find Firefox installation for channel '${name}' at the standard system paths. ${`Tried paths:\n ${prefixes.map(p => path.join(p, suffix)).join('\n ')}`}`);
|
||||
return undefined;
|
||||
};
|
||||
return {
|
||||
type: 'channel',
|
||||
name,
|
||||
browserName: '_bidiFirefox',
|
||||
browserName: 'firefox',
|
||||
directory: undefined,
|
||||
executablePath: (sdkLanguage: string) => executablePath(sdkLanguage, false),
|
||||
executablePathOrDie: (sdkLanguage: string) => executablePath(sdkLanguage, true)!,
|
||||
|
|
|
@ -16291,7 +16291,6 @@ export type AndroidKey =
|
|||
export const _electron: Electron;
|
||||
export const _android: Android;
|
||||
export const _bidiChromium: BrowserType;
|
||||
export const _bidiFirefox: BrowserType;
|
||||
|
||||
// This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
|
||||
export {};
|
||||
|
|
|
@ -100,8 +100,8 @@ const playwrightFixtures: Fixtures<TestFixtures, WorkerFixtures> = ({
|
|||
playwright._defaultLaunchOptions = undefined;
|
||||
}, { scope: 'worker', auto: true, box: true }],
|
||||
|
||||
browser: [async ({ playwright, browserName, _browserOptions, connectOptions }, use, testInfo) => {
|
||||
if (!['chromium', 'firefox', 'webkit', '_bidiChromium', '_bidiFirefox'].includes(browserName))
|
||||
browser: [async ({ playwright, browserName, _browserOptions, connectOptions }, use) => {
|
||||
if (!['chromium', 'firefox', 'webkit', '_bidiChromium'].includes(browserName))
|
||||
throw new Error(`Unexpected browserName "${browserName}", must be one of "chromium", "firefox" or "webkit"`);
|
||||
|
||||
if (connectOptions) {
|
||||
|
|
|
@ -627,7 +627,6 @@ export type PlaywrightInitializer = {
|
|||
firefox: BrowserTypeChannel,
|
||||
webkit: BrowserTypeChannel,
|
||||
_bidiChromium: BrowserTypeChannel,
|
||||
_bidiFirefox: BrowserTypeChannel,
|
||||
android: AndroidChannel,
|
||||
electron: ElectronChannel,
|
||||
utils?: LocalUtilsChannel,
|
||||
|
|
|
@ -795,7 +795,6 @@ Playwright:
|
|||
firefox: BrowserType
|
||||
webkit: BrowserType
|
||||
_bidiChromium: BrowserType
|
||||
_bidiFirefox: BrowserType
|
||||
android: Android
|
||||
electron: Electron
|
||||
utils: LocalUtils?
|
||||
|
|
|
@ -71,18 +71,18 @@ const config: Config<PlaywrightWorkerOptions & PlaywrightTestOptions & TestModeW
|
|||
projects: [],
|
||||
};
|
||||
|
||||
type BrowserName = '_bidiChromium' | '_bidiFirefox';
|
||||
type BrowserName = '_bidiChromium' | 'firefox';
|
||||
|
||||
const getExecutablePath = (browserName: BrowserName) => {
|
||||
if (browserName === '_bidiChromium')
|
||||
return process.env.BIDI_CRPATH;
|
||||
if (browserName === '_bidiFirefox')
|
||||
if (browserName === 'firefox')
|
||||
return process.env.BIDI_FFPATH;
|
||||
};
|
||||
|
||||
const browserToChannels = {
|
||||
'_bidiChromium': ['bidi-chromium', 'bidi-chrome-canary', 'bidi-chrome-stable'],
|
||||
'_bidiFirefox': ['moz-firefox', 'moz-firefox-beta', 'moz-firefox-nightly'],
|
||||
'firefox': ['moz-firefox', 'moz-firefox-beta', 'moz-firefox-nightly'],
|
||||
};
|
||||
|
||||
for (const [key, channels] of Object.entries(browserToChannels)) {
|
||||
|
|
|
@ -66,15 +66,15 @@ const test = baseTest.extend<BrowserTestTestFixtures, BrowserTestWorkerFixtures>
|
|||
await run(playwright[browserName]);
|
||||
}, { scope: 'worker' }],
|
||||
|
||||
allowsThirdParty: [async ({ browserName }, run) => {
|
||||
if (browserName === 'firefox' || browserName as any === '_bidiFirefox')
|
||||
allowsThirdParty: [async ({ browserName, channel }, run) => {
|
||||
if (browserName === 'firefox' || channel?.startsWith('moz-firefox'))
|
||||
await run(true);
|
||||
else
|
||||
await run(false);
|
||||
}, { scope: 'worker' }],
|
||||
|
||||
defaultSameSiteCookieValue: [async ({ browserName, platform, channel }, run) => {
|
||||
if (browserName === 'chromium' || browserName as any === '_bidiChromium' || browserName as any === '_bidiFirefox')
|
||||
if (browserName === 'chromium' || browserName as any === '_bidiChromium' || channel?.startsWith('moz-firefox'))
|
||||
await run('Lax');
|
||||
else if (browserName === 'webkit' && (platform === 'linux' || channel === 'webkit-wsl'))
|
||||
await run('Lax');
|
||||
|
|
|
@ -53,7 +53,7 @@ export async function verifyViewport(page: Page, width: number, height: number)
|
|||
expect(await page.evaluate('window.innerHeight')).toBe(height);
|
||||
}
|
||||
|
||||
export function expectedSSLError(browserName: string, platform: string, channel: string): RegExp {
|
||||
export function expectedSSLError(browserName: string, platform: string, channel: string | undefined): RegExp {
|
||||
if (browserName === 'chromium')
|
||||
return /net::(ERR_CERT_AUTHORITY_INVALID|ERR_CERT_INVALID)/;
|
||||
if (browserName === 'webkit') {
|
||||
|
@ -64,7 +64,7 @@ export function expectedSSLError(browserName: string, platform: string, channel:
|
|||
else
|
||||
return /Unacceptable TLS certificate|Operation was cancelled/;
|
||||
}
|
||||
if (browserName === '_bidiFirefox')
|
||||
if (channel?.startsWith('moz-firefox'))
|
||||
return /MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT/;
|
||||
return /SSL_ERROR_UNKNOWN/;
|
||||
}
|
||||
|
|
|
@ -104,8 +104,8 @@ it('should fire events in proper order', async ({ context, server }) => {
|
|||
]);
|
||||
});
|
||||
|
||||
it('should not fire events for favicon or favicon redirects', async ({ context, page, server, browserName, headless }) => {
|
||||
it.skip(headless && browserName !== 'firefox' && browserName as any !== '_bidiFirefox', 'headless browsers, except firefox, do not request favicons');
|
||||
it('should not fire events for favicon or favicon redirects', async ({ context, page, server, browserName, headless, channel }) => {
|
||||
it.skip(headless && browserName !== 'firefox' && !channel?.startsWith('moz-firefox'), 'headless browsers, except firefox, do not request favicons');
|
||||
it.skip(!headless && browserName === 'webkit', 'headed webkit does not have a favicon feature');
|
||||
const favicon = `/no-cache/favicon.ico`;
|
||||
const hashedFaviconUrl = `/favicon-hashed.ico`;
|
||||
|
|
|
@ -45,13 +45,13 @@ it('should work @smoke', async ({ browser, browserName }) => {
|
|||
}
|
||||
});
|
||||
|
||||
it('should throw for invalid timezone IDs when creating pages', async ({ browser, browserName }) => {
|
||||
it('should throw for invalid timezone IDs when creating pages', async ({ browser, browserName, channel }) => {
|
||||
for (const timezoneId of ['Foo/Bar', 'Baz/Qux']) {
|
||||
if (browserName as any === '_bidiChromium' || browserName as any === '_bidiFirefox') {
|
||||
if (browserName as any === '_bidiChromium' || channel?.startsWith('moz-firefox')) {
|
||||
const error = await browser.newContext({ timezoneId }).catch(e => e);
|
||||
if (browserName as any === '_bidiChromium')
|
||||
expect(error.message).toContain(`Invalid timezone "${timezoneId}"`);
|
||||
else if (browserName as any === '_bidiFirefox')
|
||||
else if (channel?.startsWith('moz-firefox'))
|
||||
expect(error.message).toContain(`Expected "timezone" to be a valid timezone ID (e.g., "Europe/Berlin") or a valid timezone offset (e.g., "+01:00"), got ${timezoneId}`);
|
||||
} else {
|
||||
let error = null;
|
||||
|
|
|
@ -46,7 +46,6 @@ it('should scope context handles', async ({ browserType, server, expectScopeStat
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [
|
||||
{ _guid: 'browser', objects: [] }
|
||||
] },
|
||||
|
@ -69,7 +68,6 @@ it('should scope context handles', async ({ browserType, server, expectScopeStat
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [
|
||||
{ _guid: 'browser', objects: [
|
||||
{ _guid: 'browser-context', objects: [
|
||||
|
@ -106,7 +104,6 @@ it('should scope CDPSession handles', async ({ browserType, browserName, expectS
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [
|
||||
{ _guid: 'browser', objects: [] }
|
||||
] },
|
||||
|
@ -125,7 +122,6 @@ it('should scope CDPSession handles', async ({ browserType, browserName, expectS
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [
|
||||
{ _guid: 'browser', objects: [
|
||||
{ _guid: 'cdp-session', objects: [] },
|
||||
|
@ -152,7 +148,6 @@ it('should scope browser handles', async ({ browserType, expectScopeState }) =>
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'electron', objects: [] },
|
||||
{ _guid: 'localUtils', objects: [] },
|
||||
{ _guid: 'Playwright', objects: [] },
|
||||
|
@ -169,7 +164,6 @@ it('should scope browser handles', async ({ browserType, expectScopeState }) =>
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [
|
||||
{
|
||||
_guid: 'browser', objects: [
|
||||
|
@ -206,7 +200,6 @@ it('should not generate dispatchers for subresources w/o listeners', async ({ pa
|
|||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [] },
|
||||
{ _guid: 'browser-type', objects: [
|
||||
{
|
||||
_guid: 'browser', objects: [
|
||||
|
@ -289,10 +282,6 @@ it('exposeFunction should not leak', async ({ page, expectScopeState, server })
|
|||
'_guid': 'browser-type',
|
||||
'objects': [],
|
||||
},
|
||||
{
|
||||
'_guid': 'browser-type',
|
||||
'objects': [],
|
||||
},
|
||||
{
|
||||
'_guid': 'browser-type',
|
||||
'objects': [
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
|
||||
import { contextTest as it } from '../config/browserTest';
|
||||
|
||||
it('should load svg favicon with prefer-color-scheme', async ({ page, server, browserName, headless, asset }) => {
|
||||
it.skip(headless && browserName !== 'firefox' && browserName as any !== '_bidiFirefox', 'headless browsers, except firefox, do not request favicons');
|
||||
it('should load svg favicon with prefer-color-scheme', async ({ page, server, browserName, headless, asset, channel }) => {
|
||||
it.skip(headless && browserName !== 'firefox' && !channel?.startsWith('moz-firefox'), 'headless browsers, except firefox, do not request favicons');
|
||||
it.skip(!headless && browserName === 'webkit', 'headed webkit does not have a favicon feature');
|
||||
|
||||
// Browsers aggressively cache favicons, so force bust with the
|
||||
|
|
|
@ -698,8 +698,8 @@ it('should contain http2 for http2 requests', async ({ contextFactory }, testInf
|
|||
server.close();
|
||||
});
|
||||
|
||||
it('should filter favicon and favicon redirects', async ({ server, browserName, headless, asset, contextFactory }, testInfo) => {
|
||||
it.skip(headless && browserName !== 'firefox' && browserName as any !== '_bidiFirefox', 'headless browsers, except firefox, do not request favicons');
|
||||
it('should filter favicon and favicon redirects', async ({ server, browserName, headless, asset, contextFactory, channel }, testInfo) => {
|
||||
it.skip(headless && browserName !== 'firefox' && !channel?.startsWith('moz-firefox'), 'headless browsers, except firefox, do not request favicons');
|
||||
it.skip(!headless && browserName === 'webkit', 'headed webkit does not have a favicon feature');
|
||||
|
||||
const { page, getLog } = await pageWithHar(contextFactory, testInfo);
|
||||
|
|
|
@ -140,7 +140,7 @@ test('should not throw UnhandledPromiseRejection when page closes', async ({ pag
|
|||
]).catch(e => {});
|
||||
});
|
||||
|
||||
test('interrupt request.response() and request.allHeaders() on page.close', async ({ page, server, browserName }) => {
|
||||
test('interrupt request.response() and request.allHeaders() on page.close', async ({ page, server, browserName, channel }) => {
|
||||
test.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/27227' });
|
||||
server.setRoute('/one-style.css', (req, res) => {
|
||||
res.setHeader('Content-Type', 'text/css');
|
||||
|
@ -153,7 +153,7 @@ test('interrupt request.response() and request.allHeaders() on page.close', asyn
|
|||
await page.close();
|
||||
expect((await respPromise).message).toContain(kTargetClosedErrorMessage);
|
||||
// All headers are the same as "provisional" headers in Firefox.
|
||||
if (browserName === 'firefox' || browserName as any === '_bidiFirefox')
|
||||
if (browserName === 'firefox' || channel?.startsWith('moz-firefox'))
|
||||
expect((await headersPromise)['user-agent']).toBeTruthy();
|
||||
else
|
||||
expect((await headersPromise).message).toContain(kTargetClosedErrorMessage);
|
||||
|
|
|
@ -108,7 +108,7 @@ it('page.frame should respect url', async function({ page, server }) {
|
|||
expect(page.frame({ url: /empty/ }).url()).toBe(server.EMPTY_PAGE);
|
||||
});
|
||||
|
||||
it('should have sane user agent', async ({ page, browserName, isElectron, isAndroid }) => {
|
||||
it('should have sane user agent', async ({ page, browserName, isElectron, isAndroid, channel }) => {
|
||||
it.skip(isAndroid);
|
||||
it.skip(isElectron);
|
||||
|
||||
|
@ -125,7 +125,7 @@ it('should have sane user agent', async ({ page, browserName, isElectron, isAndr
|
|||
// Second part in parenthesis is platform - ignore it.
|
||||
|
||||
// Third part for Firefox is the last one and encodes engine and browser versions.
|
||||
if (browserName === 'firefox' || browserName as any === '_bidiFirefox') {
|
||||
if (browserName === 'firefox' || channel?.startsWith('moz-firefox')) {
|
||||
const [engine, browser] = part3.split(' ');
|
||||
expect(engine.startsWith('Gecko')).toBe(true);
|
||||
expect(browser.startsWith('Firefox')).toBe(true);
|
||||
|
|
|
@ -191,7 +191,7 @@ it('should use object previews for arrays and objects', async ({ page, browserNa
|
|||
expect(text).toEqual('Array JSHandle@object JSHandle@object');
|
||||
});
|
||||
|
||||
it('should use object previews for errors', async ({ page, browserName }) => {
|
||||
it('should use object previews for errors', async ({ page, browserName, channel }) => {
|
||||
let text: string;
|
||||
page.on('console', message => {
|
||||
text = message.text();
|
||||
|
@ -201,7 +201,7 @@ it('should use object previews for errors', async ({ page, browserName }) => {
|
|||
expect(text).toContain('.evaluate');
|
||||
if (browserName as any === '_bidiChromium')
|
||||
expect(text).toEqual('error');
|
||||
if (browserName === 'webkit' || browserName as any === '_bidiFirefox')
|
||||
if (browserName === 'webkit' || channel?.startsWith('moz-firefox'))
|
||||
expect(text).toEqual('Error: Exception');
|
||||
if (browserName === 'firefox')
|
||||
expect(text).toEqual('Error');
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
import { test as it, expect } from './pageTest';
|
||||
|
||||
it('should fire', async ({ page, server, browserName }) => {
|
||||
it('should fire', async ({ page, server, browserName, channel }) => {
|
||||
const url = server.PREFIX + '/error.html';
|
||||
const [error] = await Promise.all([
|
||||
page.waitForEvent('pageerror'),
|
||||
|
@ -25,7 +25,7 @@ it('should fire', async ({ page, server, browserName }) => {
|
|||
]);
|
||||
expect(error.name).toBe('Error');
|
||||
expect(error.message).toBe('Fancy error!');
|
||||
if (browserName === 'chromium' || browserName === '_bidiChromium' || browserName === '_bidiFirefox') {
|
||||
if (browserName === 'chromium' || browserName === '_bidiChromium' || channel?.startsWith('moz-firefox')) {
|
||||
expect(error.stack).toBe(`Error: Fancy error!
|
||||
at c (myscript.js:14:11)
|
||||
at b (myscript.js:10:5)
|
||||
|
|
|
@ -292,12 +292,12 @@ it('should work when page calls history API in beforeunload', async ({ page, ser
|
|||
expect(response.status()).toBe(200);
|
||||
});
|
||||
|
||||
it('should fail when navigating to bad url', async ({ mode, page, browserName }) => {
|
||||
it('should fail when navigating to bad url', async ({ page, browserName, channel }) => {
|
||||
let error = null;
|
||||
await page.goto('asdfasdf').catch(e => error = e);
|
||||
if (browserName === 'chromium' || browserName === 'webkit')
|
||||
expect(error.message).toContain('Cannot navigate to invalid URL');
|
||||
else if (browserName === '_bidiFirefox')
|
||||
else if (channel?.startsWith('moz-firefox'))
|
||||
expect(error.message).toContain('NS_ERROR_MALFORMED_URI');
|
||||
else
|
||||
expect(error.message).toContain('Invalid url');
|
||||
|
|
|
@ -344,17 +344,17 @@ it('should send referer', async ({ page, server }) => {
|
|||
expect(request.headers['referer']).toBe('http://google.com/');
|
||||
});
|
||||
|
||||
it('should fail navigation when aborting main resource', async ({ page, server, browserName, isMac, macVersion }) => {
|
||||
it('should fail navigation when aborting main resource', async ({ page, server, browserName, isMac, macVersion, channel }) => {
|
||||
await page.route('**/*', route => route.abort());
|
||||
let error = null;
|
||||
await page.goto(server.EMPTY_PAGE).catch(e => error = e);
|
||||
expect(error).toBeTruthy();
|
||||
if (browserName === 'webkit')
|
||||
expect(error.message).toContain(isMac && macVersion < 11 ? 'Request intercepted' : 'Blocked by Web Inspector');
|
||||
else if (channel?.startsWith('moz-firefox'))
|
||||
expect(error.message).toContain('NS_ERROR_ABORT');
|
||||
else if (browserName === 'firefox')
|
||||
expect(error.message).toContain('NS_ERROR_FAILURE');
|
||||
else if (browserName === '_bidiFirefox')
|
||||
expect(error.message).toContain('NS_ERROR_ABORT');
|
||||
else
|
||||
expect(error.message).toContain('net::ERR_FAILED');
|
||||
});
|
||||
|
@ -609,7 +609,7 @@ it('should not fulfill with redirect status', async ({ page, server, browserName
|
|||
}
|
||||
});
|
||||
|
||||
it('should support cors with GET', async ({ page, server, browserName }) => {
|
||||
it('should support cors with GET', async ({ page, server, browserName, channel }) => {
|
||||
await page.goto(server.EMPTY_PAGE);
|
||||
await page.route('**/cars*', async (route, request) => {
|
||||
const headers = { 'access-control-allow-origin': request.url().endsWith('allow') ? '*' : 'none' };
|
||||
|
@ -638,7 +638,7 @@ it('should support cors with GET', async ({ page, server, browserName }) => {
|
|||
expect(error.message).toContain('Failed');
|
||||
if (browserName === 'webkit')
|
||||
expect(error.message).toContain('TypeError');
|
||||
if (browserName === 'firefox' || browserName === '_bidiFirefox')
|
||||
if (browserName === 'firefox' || channel?.startsWith('moz-firefox'))
|
||||
expect(error.message).toContain('NetworkError');
|
||||
}
|
||||
});
|
||||
|
|
|
@ -25,11 +25,11 @@ export type PageTestFixtures = {
|
|||
|
||||
export type PageWorkerFixtures = {
|
||||
headless: boolean;
|
||||
channel: string;
|
||||
channel: string | undefined;
|
||||
screenshot: ScreenshotMode | { mode: ScreenshotMode } & Pick<PageScreenshotOptions, 'fullPage' | 'omitBackground'>;
|
||||
trace: 'off' | 'on' | 'retain-on-failure' | 'on-first-retry' | 'retain-on-first-failure' | 'on-all-retries' | /** deprecated */ 'retry-with-trace';
|
||||
video: VideoMode | { mode: VideoMode, size: ViewportSize };
|
||||
browserName: 'chromium' | 'firefox' | 'webkit' | '_bidiFirefox' | '_bidiChromium';
|
||||
browserName: 'chromium' | 'firefox' | 'webkit' | '_bidiChromium';
|
||||
browserVersion: string;
|
||||
browserMajorVersion: number;
|
||||
electronMajorVersion: number;
|
||||
|
|
|
@ -398,7 +398,6 @@ export type AndroidKey =
|
|||
export const _electron: Electron;
|
||||
export const _android: Android;
|
||||
export const _bidiChromium: BrowserType;
|
||||
export const _bidiFirefox: BrowserType;
|
||||
|
||||
// This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
|
||||
export {};
|
||||
|
|
Loading…
Reference in New Issue