Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/infra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ env:

jobs:
doc-and-lint:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "docs & lint"
runs-on: ubuntu-24.04
steps:
Expand All @@ -37,6 +38,7 @@ jobs:
run: node utils/check_audit.js
continue-on-error: true
lint-snippets:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "Lint snippets"
runs-on: ubuntu-latest
steps:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tests_bidi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ env:

jobs:
test_bidi:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: BiDi
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
runs-on: ubuntu-24.04
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tests_components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ env:

jobs:
test_components:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: ${{ matrix.os }} - Node.js ${{ matrix.node-version }}
strategy:
fail-fast: false
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tests_docker_changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ on:

jobs:
test_linux_docker:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
uses: ./.github/workflows/tests_docker.yml
permissions:
id-token: write
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tests_extension.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ env:

jobs:
test_extension:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: ${{ matrix.os }}
strategy:
fail-fast: false
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/tests_mcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ env:

jobs:
test_mcp:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: ${{ matrix.os }} - ${{ matrix.project }}
# Used for authentication of flakiness upload
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/tests_others.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ env:

jobs:
test_clock_frozen_time_linux:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: time library - ${{ matrix.clock }}
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
permissions:
Expand All @@ -47,6 +48,7 @@ jobs:
PW_CLOCK: ${{ matrix.clock }}

test_clock_frozen_time_test_runner:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: time test runner - ${{ matrix.clock }}
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
runs-on: ubuntu-22.04
Expand All @@ -71,6 +73,7 @@ jobs:
PW_CLOCK: ${{ matrix.clock }}

test_electron:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: Electron - ${{ matrix.os }}
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/tests_primary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ env:

jobs:
test_linux:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }})
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand Down Expand Up @@ -67,6 +68,7 @@ jobs:
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}

test_test_runner:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: Test Runner
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand Down Expand Up @@ -142,6 +144,7 @@ jobs:
PWTEST_SHARD_WEIGHTS: ${{ matrix.shardWeights }}

test_vscode_extension:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: VSCode Extension
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -178,6 +181,7 @@ jobs:
job_name: vscode-extension

test_package_installations:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "Installation Test ${{ matrix.os }}"
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/tests_secondary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ permissions:

jobs:
test_mac:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: ${{ matrix.os }} (${{ matrix.browser }})
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand All @@ -47,6 +48,7 @@ jobs:
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}

test_win:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "Windows"
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand All @@ -66,6 +68,7 @@ jobs:
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}

test-package-installations-other-node-versions:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "Installation Test ${{ matrix.os }} (${{ matrix.node_version }})"
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -101,6 +104,7 @@ jobs:
flakiness-subscription-id: ${{ secrets.AZURE_FLAKINESS_DASHBOARD_SUBSCRIPTION_ID }}

driver_linux:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "Driver"
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand All @@ -120,6 +124,7 @@ jobs:
PWTEST_MODE: driver

tracing_linux:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: Tracing ${{ matrix.browser }}
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
strategy:
Expand Down Expand Up @@ -148,6 +153,7 @@ jobs:
PWTEST_TRACE: 1

test_chromium_channels:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: Test ${{ matrix.channel }} on ${{ matrix.runs-on }}
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
runs-on: ${{ matrix.runs-on }}
Expand Down Expand Up @@ -181,6 +187,7 @@ jobs:
PWTEST_CHANNEL: ${{ matrix.channel }}

build-playwright-driver:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "build-playwright-driver"
runs-on: ubuntu-24.04
steps:
Expand All @@ -193,6 +200,7 @@ jobs:
- run: utils/build/build-playwright-driver.sh

test_android:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: Android
environment: ${{ github.event_name == 'push' && 'allow-uploading-flakiness-results' || null }}
runs-on: playwright-x64-ubuntu24-64-core
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/tests_webdriver.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: "tests WebDriver"

on:
workflow_dispatch:
pull_request:
paths:
- 'tests/webdriver/**'
- 'tests/page/pageTest.ts'
- 'packages/playwright-core/src/server/webkit/webdriver/**'
- 'packages/playwright-core/src/server/webkit/webkit.ts'
- '.github/workflows/tests_webdriver.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
FORCE_COLOR: 1
ELECTRON_SKIP_BINARY_DOWNLOAD: 1

jobs:
test_webdriver:
name: "WebDriver"
runs-on: macos-15-xlarge
timeout-minutes: 60
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v4
with:
node-version: 20

- name: Runner environment
run: |
sw_vers
uname -a
safaridriver --version || true

- name: Ensure ::1 localhost in /etc/hosts
run: |
grep -qE '^::1[[:space:]]+localhost' /etc/hosts || echo "::1 localhost" | sudo tee -a /etc/hosts

- name: npm ci
run: npm ci

- name: npm run build
run: npm run build

- name: Enable safaridriver
timeout-minutes: 2
run: sudo safaridriver --enable

- name: Run WebDriver tests
run: |
npx playwright test --config tests/webdriver/playwright.config.ts \
tests/page/page-check.spec.ts \
tests/page/page-goto.spec.ts \
tests/page/page-click.spec.ts

- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: webdriver-logs
path: ${{ github.workspace }}/test-results/**
if-no-files-found: ignore
1 change: 1 addition & 0 deletions .github/workflows/tests_webview_simulator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ env:

jobs:
test_webview_simulator:
if: ${{ github.head_ref != 'webdriver-poc' }} # TEMP: skip on webdriver-poc branch
name: "WebView on iOS Simulator (${{ matrix.shard }}/4)"
runs-on: macos-15
timeout-minutes: 60
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"ftest": "playwright test --config=tests/library/playwright.config.ts --project=firefox-*",
"wtest": "playwright test --config=tests/library/playwright.config.ts --project=webkit-*",
"wvtest": "playwright test --config=tests/webview/playwright.config.ts",
"wdtest": "playwright test --config=tests/webdriver/playwright.config.ts",
"atest": "playwright test --config=tests/android/playwright.config.ts",
"etest": "playwright test --config=tests/electron/playwright.config.ts",
"itest": "playwright test --config=tests/installation/playwright.config.ts",
Expand Down
1 change: 1 addition & 0 deletions packages/playwright-core/src/server/webkit/DEPS.list
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ node_modules/ws

[webkit.ts]
./webview/wvBrowser.ts
./webdriver/wdBrowser.ts
Loading
Loading