playwright-or-strict-mode
Playwright .or() chain may cause strict mode violation when multiple alternatives match simultaneously.
Applies to: JavaScript, TypeScript
Why this matters
Playwright's strict mode requires locators to resolve to exactly one element. When you chain .or() and multiple alternatives are present on the page, Playwright throws 'strict mode violation' because the combined locator matches more than one element. Use .first() after .or() to explicitly pick one, or check each locator individually.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, TEST011 includedstablestack explain TEST011TEST011 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: TEST011
More Testing checks
skipped-tests
Test is marked as skipped.
TEST003async-mock-issues
Async function mocked incorrectly.
TEST004duplicate-test-helpers
Test helper function may be duplicated across test files.
TEST005e2e-test-duplication
E2E test contains duplicated code that should use shared helpers
TEST006e2e-console-capture
E2E tests should capture console errors to catch silent JavaScript failures.
TEST007missing-e2e-tests
Web projects should have Playwright E2E tests to catch console errors and broken pages.
TEST008playwright-test-slow-misuse
Detects incorrect test.slow() usage that silently skips tests.
TEST009playwright-wait-for-timeout
waitForTimeout() in tests waits for arbitrary time instead of content/state.