# Testing signals — microsoft/playwright

> Canonical page: https://codevetter.com/unpack/playwright/testing-signals

# Testing signals — microsoft/playwright

Scanned commit b630e71fcda7885885c459bcbb88e5bfa7c0a1ac (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; no passing result or coverage percentage is claimed. The repository uses Playwright fixtures for browser behavior and a stable runner for testing its own runner. Inspected specifications exercise success, failure, persistence, authentication redirects, and report rendering. Coverage observations are bounded to the files and ranges read, with explicit platform exclusions and CI trigger limits.
- The library config constructs separate library/page projects for Chromium, Firefox, and WebKit, excludes other-engine filenames, supports executable/mode overrides, and enables three CI retries. — [tests/library/playwright.config.ts#L28-41](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/playwright.config.ts#L28-L41) [tests/library/playwright.config.ts#L58-123](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/playwright.config.ts#L58-L123)
- Runner tests import defineConfig from stable-test-runner; npm run ttest invokes that runner's installed CLI, and PWTEST_COVERAGE conditionally enables reporter/viewer UI coverage. — [tests/playwright-test/playwright.config.ts#L21-40](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/playwright-test/playwright.config.ts#L21-L40) [package.json#L28-32](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/package.json#L28-L32)
- locator-click.spec.ts covers basic/double clicks, removal of the page's Node global, and target removal during pointerup or pointerdown. — [tests/page/locator-click.spec.ts#L18-61](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/page/locator-click.spec.ts#L18-L61)
- Storage-state tests check multi-origin localStorage, replacement without extra surviving pages, malformed origins, and JSON/IndexedDB round trips; selected restore cases are marked fixme for msedge channels. — [tests/library/browsercontext-storage-state.spec.ts#L24-116](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/browsercontext-storage-state.spec.ts#L24-L116) [tests/library/browsercontext-storage-state.spec.ts#L119-168](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/browsercontext-storage-state.spec.ts#L119-L168) [tests/library/browsercontext-storage-state.spec.ts#L169-201](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/browsercontext-storage-state.spec.ts#L169-L201)
- runner.spec.ts checks duplicate-title rejection, forbidOnly errors, continuation after worker exit, and subprocess creation failure; its SIGINT test explicitly skips Windows. — [tests/playwright-test/runner.spec.ts#L21-119](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/playwright-test/runner.spec.ts#L21-L119)
- HTML reporter tests generate and inspect both directly created and intermediate-merged reports, asserting outcome counters and visibility; global-fetch tests assert authorization retention/removal and HTTPS-error option propagation. — [tests/playwright-test/reporter-html.spec.ts#L55-95](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/playwright-test/reporter-html.spec.ts#L55-L95) [tests/library/global-fetch.spec.ts#L93-112](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/global-fetch.spec.ts#L93-L112) [tests/library/global-fetch.spec.ts#L266-278](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/library/global-fetch.spec.ts#L266-L278)
- Primary CI defines browser/Node matrices and sharded runner jobs; the shared run-test action installs dependencies, builds, installs browsers, executes tests under Xvfb on Linux, and conditionally uploads reports. These definitions were inspected, not run. — [.github/workflows/tests_primary.yml#L33-60](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/.github/workflows/tests_primary.yml#L33-L60) [.github/workflows/tests_primary.yml#L63-131](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/.github/workflows/tests_primary.yml#L63-L131) [.github/actions/run-test/action.yml#L33-84](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/.github/actions/run-test/action.yml#L33-L84)
- Test scope is conditional: BiDi excludes inspector/page-leak files and uses zero retries; Android/Electron/WebView configs reuse page suites, extension tests select Chromium, and MCP has a separate cross-platform/browser CI matrix. These definitions do not establish exhaustive executed coverage. — [tests/bidi/playwright.config.ts#L68-110](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/bidi/playwright.config.ts#L68-L110) [tests/extension/playwright.config.ts#L21-33](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/extension/playwright.config.ts#L21-L33) [tests/android/playwright.config.ts#L57-77](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/tests/android/playwright.config.ts#L57-L77) [.github/workflows/tests_mcp.yml#L32-58](https://github.com/microsoft/playwright/blob/b630e71fcda7885885c459bcbb88e5bfa7c0a1ac/.github/workflows/tests_mcp.yml#L32-L58)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
