Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
This report summarizes scanner evidence for microsoft/playwright, a TypeScript project with 98,923 GitHub stars. SynthScan examined 735,004 lines of code across 2477 source files, recording 1238 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 2.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1019 finding(s).
Are imports declared and package/API names verified? 142 finding(s).
Are wrappers, guards, and repeated structures necessary? 875 finding(s).
Which changes need focused human review? 1238 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1238 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | browser_patches/firefox/juggler/TargetRegistry.js | 1181 | function fromProtocolReducedMotion(reducedMotion) { | CODE |
| LOW | browser_patches/firefox/juggler/content/PageAgent.js | 56 | function scrollNodeIntoViewIfNeeded(node, rect) { | CODE |
| LOW | tests/config/serviceWorkerCoverage.ts | 21 | export async function mergeServiceWorkerCoverage(page: PageLike) { | CODE |
| LOW | tests/config/utils.ts | 91 | export function suppressCertificateWarning() { | CODE |
| LOW | tests/config/proxy.ts | 145 | export async function setupSocksForwardingServer({ | CODE |
| LOW | tests/playwright-test/reporter-blob.spec.ts | 1662 | function readAllFromStreamAsString(stream: NodeJS.ReadableStream): Promise<string> { | CODE |
| LOW | tests/playwright-test/reporter-blob.spec.ts | 1810 | function patchPathSeparatorsRecursive(obj: any) { | CODE |
| LOW | tests/playwright-test/playwright-test-fixtures.ts | 136 | function startPlaywrightChildProcess(childProcess: CommonFixtures['childProcess'], baseDir: string, args: string[], env: | CODE |
| LOW | tests/playwright-test/reporter-html.spec.ts | 2344 | function calculateTotalTestDuration(testNames: string[]) { | CODE |
| LOW | tests/playwright-test/loader.spec.ts | 1097 | export async function utilityModuleThatImportsNodeModule() { | CODE |
| LOW | tests/library/resource-timing.spec.ts | 135 | function verifyConnectionTimingConsistency(timing) { | CODE |
| LOW | …sts/library/browsercontext-cookies-third-party.spec.ts | 569 | async function testThirdPartyCookiesAreBlocked(page: Page, context: BrowserContext, server: TestServer, allowsThirdParty | CODE |
| LOW | tests/mcp/cli-fixtures.ts | 268 | export async function installSaveFilePickerMock(page: import('playwright-core').Page): Promise<() => Promise<Buffer>> { | CODE |
| LOW | tests/installation/playwright-test-plugin.spec.ts | 21 | function patchPackageJsonForPreReleaseIfNeeded(tmpWorkspace: string) { | CODE |
| LOW | tests/assets/input/handle-locator.html | 66 | function setupAnnoyingInterstitial(event, times, capture) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 1212 | function getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 1218 | function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 1224 | function handleControlledInputBlur(inst, node) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 3191 | function accumulateDirectDispatchesSingle(event) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 3197 | function accumulateTwoPhaseDispatches(events) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 3201 | function accumulateTwoPhaseDispatchesSkipTarget(events) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 3205 | function accumulateEnterLeaveDispatches(leave, enter, from, to) { | CODE |
| LOW⚡ | tests/assets/reading-list/react-dom_15.7.0.js | 3209 | function accumulateDirectDispatches(events) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 246 | function isFallbackCompositionStart(topLevelType, nativeEvent) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 351 | function getNativeBeforeInputChars(topLevelType, nativeEvent) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 405 | function getFallbackBeforeInputChars(topLevelType, nativeEvent) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1024 | function createAndAccumulateChangeEvent(inst, nativeEvent, target) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1050 | function manualDispatchChangeEvent(nativeEvent) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1096 | function getTargetInstForChangeEvent(topLevelType, targetInst) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1129 | function startWatchingForValueChange(target, targetInst) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1139 | function stopWatchingForValueChange() { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1162 | function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1185 | function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 2995 | function executeDispatchesInOrderStopAtTrueImpl(event) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 3022 | function executeDispatchesInOrderStopAtTrue(event) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 3135 | function accumulateDirectionalDispatches(inst, phase, event) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 3153 | function accumulateTwoPhaseDispatchesSingle(event) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 3162 | function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 3679 | function getDeclarationErrorAddendum(owner) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 5477 | function getDeclarationErrorAddendum(internalInstance) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 5516 | function checkAndWarnForMutatedStyle(style1, style2, component) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 6478 | function getRenderedHostOrTextFromComponent(component) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 6551 | function getClosestInstanceFromNode(node) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 7330 | function updateOptionsIfPendingUpdateAndMounted() { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 7343 | function getDeclarationErrorAddendum(owner) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 8460 | function pauseCurrentLifeCycleTimer() { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 8474 | function resumeCurrentLifeCycleTimer() { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 8701 | function ReactDefaultBatchingStrategyTransaction() { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 9011 | function TopLevelCallbackBookKeeping(topLevelType, nativeEvent) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 9610 | function getReactRootElementInContainer(container) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 9664 | function batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 9726 | function nodeIsRenderedByOtherInstance(container) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 9753 | function getHostRootInstanceInContainer(container) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 9759 | function getTopLevelWrapperInContainer(container) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 11100 | function getMeasurementsSummaryMap(measurements) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 11300 | function ReactReconcileTransaction(useCreateElement) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 11657 | function ReactServerRenderingTransaction(renderToStaticMarkup) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 12030 | function createRendererWithWarning() { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 12041 | function findAllInRenderedTreeInternal(inst, test) { | CODE |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 12450 | function getInternalInstanceReadyForUpdate(publicInstance, callerName) { | CODE |
| 738 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 35 | expect(text).toContain(' attachment #1: attachment (text/plain) ─────────────────────────────────────────────────── | CODE |
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 56 | expect(text).toContain(' attachment #1: screenshot (image/png) ──────────────────────────────────────────────────── | CODE |
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 77 | expect(text).toContain(' attachment #1: trace (application/zip) ─────────────────────────────────────────────────── | CODE |
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 175 | expect(result.output).toMatch(/^.*attachment #1: name \(text\/plain\).*\n.*\n.*──────/gm); | CODE |
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 190 | expect(result.output).toMatch(/^.*attachment #1: Full name \(text\/plain\).*\n.*──────/gm); | CODE |
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 205 | expect(result.output).toMatch(/^.*attachment #1: name \(text\/plain\).*\n.*\n.*──────/gm); | CODE |
| MEDIUM | tests/playwright-test/reporter-attachment.spec.ts | 318 | expect(text).toContain(' attachment #1: attachment (text/plain) ─────────────────────────────────────────────────── | CODE |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 78 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 88 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 93 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 107 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 116 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 120 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 124 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 130 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 136 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 141 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 144 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 148 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 151 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 156 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 162 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 166 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 169 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 174 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 179 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 187 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 195 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 201 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 211 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 216 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 452 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 457 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 461 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 466 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 470 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 475 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 494 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 498 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 505 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/webview/expectations/webkit-webview-page.txt | 509 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 9 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 15 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 351 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 355 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 539 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 554 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 651 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 657 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 674 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 680 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 730 | # ============================================================================ | COMMENT |
| MEDIUM | tests/webview/expectations/webkit-webview-page.txt | 735 | # ============================================================================ | COMMENT |
| MEDIUM | tests/library/inspector/cli-codegen-1.spec.ts | 897 | # --------------------- | COMMENT |
| MEDIUM | tests/library/inspector/cli-codegen-1.spec.ts | 904 | # --------------------- | COMMENT |
| MEDIUM | tests/library/inspector/cli-codegen-1.spec.ts | 958 | # --------------------- | COMMENT |
| MEDIUM | tests/library/inspector/cli-codegen-1.spec.ts | 966 | # --------------------- | COMMENT |
| MEDIUM | tests/library/inspector/cli-codegen-python.spec.ts | 88 | # --------------------- | COMMENT |
| MEDIUM | tests/library/inspector/cli-codegen-python.spec.ts | 113 | # --------------------- | COMMENT |
| MEDIUM | …sts/library/inspector/cli-codegen-python-async.spec.ts | 93 | # --------------------- | COMMENT |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | packages/playwright-core/src/server/dom.ts | 101 | const sdkLanguage = this.frame._page.browserContext._browser.sdkLanguage(); | CODE |
| CRITICAL | packages/playwright-core/src/server/frameSelectors.ts | 129 | const locator = asLocator(this.frame._page.browserContext._browser.sdkLanguage(), selector); | CODE |
| CRITICAL | packages/playwright-core/src/server/frameSelectors.ts | 133 | const locator = asLocator(this.frame._page.browserContext._browser.sdkLanguage(), selector); | CODE |
| CRITICAL | packages/playwright-core/src/server/network.ts | 449 | const buffer = this._request._context.fetchRequest.fetchResponses.get(overrides.fetchResponseUid) || APIRequestC | CODE |
| CRITICAL | packages/playwright-core/src/server/videoRecorder.ts | 50 | const ffmpegPath = registry.findExecutable('ffmpeg')!.executablePathOrDie(this._screencast.page.browserContext._brow | CODE |
| CRITICAL | …ywright-core/src/server/dispatchers/frameDispatcher.ts | 294 | progress.log(`${renderFullTitleForCall(progress.metadata, this._frame._page.browserContext._browser.sdkLanguage())}$ | CODE |
| CRITICAL | packages/playwright-core/src/server/chromium/crPage.ts | 949 | this._crPage._browserContext._browser._crPages.delete(this._crPage._targetId); | CODE |
| CRITICAL | packages/playwright-core/src/client/browser.ts | 123 | this._browserType._playwright.selectors._contextsForSelectors.add(context); | CODE |
| CRITICAL | packages/isomorphic/cssTokenizer.ts | 696 | const json = this.constructor.prototype.constructor.prototype.toJSON.call(this); | CODE |
| CRITICAL | packages/isomorphic/cssTokenizer.ts | 716 | const json = this.constructor.prototype.constructor.prototype.toJSON.call(this); | CODE |
| CRITICAL | packages/isomorphic/cssTokenizer.ts | 775 | const json = this.constructor.prototype.constructor.prototype.toJSON.call(this); | CODE |
| CRITICAL | packages/isomorphic/cssTokenizer.ts | 850 | const json = this.constructor.prototype.constructor.prototype.toJSON.call(this); | CODE |
| CRITICAL | packages/isomorphic/cssTokenizer.ts | 873 | const json = this.constructor.prototype.constructor.prototype.toJSON.call(this); | CODE |
| CRITICAL | packages/injected/src/recorder/recorder.ts | 1216 | this._recorder.injectedScript.utils.builtins.setTimeout(() => element.classList.remove('succeeded'), 2000); | CODE |
| CRITICAL | packages/injected/src/recorder/pollingRecorder.ts | 57 | this._recorder.injectedScript.utils.builtins.clearTimeout(this._pollRecorderModeTimer); | CODE |
| CRITICAL | packages/injected/src/recorder/pollingRecorder.ts | 60 | this._pollRecorderModeTimer = this._recorder.injectedScript.utils.builtins.setTimeout(() => this._pollRecorderMode | CODE |
| CRITICAL | packages/injected/src/recorder/pollingRecorder.ts | 76 | this._pollRecorderModeTimer = this._recorder.injectedScript.utils.builtins.setTimeout(() => this._pollRecorderMode() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/page/elementhandle-click.spec.ts | 45 | <div id='inner' style="max-width: 50px">Lorem ipsum dolor sit amet consectetur adipiscing elit proin, integer cura | CODE |
| LOW | tests/page/elementhandle-click.spec.ts | 45 | <div id='inner' style="max-width: 50px">Lorem ipsum dolor sit amet consectetur adipiscing elit proin, integer cura | CODE |
| LOW | tests/page/selectors-get-by.spec.ts | 191 | input.setAttribute('placeholder', 'hello my\nwo"rld'); | CODE |
| LOW | tests/page/selectors-get-by.spec.ts | 205 | input.setAttribute('placeholder', 'hello my\nworld'); | CODE |
| LOW | tests/page/selectors-get-by.spec.ts | 225 | input.setAttribute('placeholder', 'foo >> bar'); | CODE |
| LOW | tests/playwright-test/reporter-html.spec.ts | 2078 | test('@finally @oddly @questioningly @sleepily @warmly @healthily @smoke @flaky this is a very long test tit | CODE |
| LOW | tests/playwright-test/reporter-html.spec.ts | 2078 | test('@finally @oddly @questioningly @sleepily @warmly @healthily @smoke @flaky this is a very long test tit | CODE |
| LOW | tests/library/browsercontext-add-cookies.spec.ts | 35 | value: 'John Doe', | CODE |
| LOW | tests/library/defaultbrowsercontext-1.spec.ts | 38 | value: 'John Doe', | CODE |
| LOW | tests/library/defaultbrowsercontext-1.spec.ts | 54 | value: 'John Doe', | CODE |
| LOW | tests/library/defaultbrowsercontext-1.spec.ts | 60 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-cookies.spec.ts | 33 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-cookies.spec.ts | 57 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-cookies.spec.ts | 85 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-cookies.spec.ts | 99 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-cookies.spec.ts | 166 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-pages.spec.ts | 164 | await page.setContent('<div id="container">lorem ipsum dolor sit amet</div>'); | CODE |
| LOW | tests/library/browsercontext-pages.spec.ts | 164 | await page.setContent('<div id="container">lorem ipsum dolor sit amet</div>'); | CODE |
| LOW | …sts/library/browsercontext-cookies-third-party.spec.ts | 597 | 'value': 'John Doe' | CODE |
| LOW | tests/library/headful.spec.ts | 152 | 'value': 'John Doe' | CODE |
| LOW | tests/library/headful.spec.ts | 310 | Lorem ipsum dolor sit amet consectetur adipiscing elit proin, integer curabitur imperdiet rhoncus cursus tincidunt | CODE |
| LOW | tests/library/headful.spec.ts | 310 | Lorem ipsum dolor sit amet consectetur adipiscing elit proin, integer curabitur imperdiet rhoncus cursus tincidunt | CODE |
| LOW | tests/library/browsercontext-fetch.spec.ts | 157 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-fetch.spec.ts | 299 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-fetch.spec.ts | 324 | value: 'John Doe', | CODE |
| LOW | tests/library/browsercontext-device.spec.ts | 68 | Lorem ipsum dolor sit amet consectetur adipiscing elit proin, integer curabitur imperdiet rhoncus cursus tinci | CODE |
| LOW | tests/library/browsercontext-device.spec.ts | 68 | Lorem ipsum dolor sit amet consectetur adipiscing elit proin, integer curabitur imperdiet rhoncus cursus tinci | CODE |
| LOW | tests/library/global-fetch-cookie.spec.ts | 620 | value: { id: 'foo', name: 'John Doe' } | CODE |
| LOW⚡ | tests/library/inspector/cli-codegen-1.spec.ts | 425 | page.fill('div', 'John Doe') | CODE |
| LOW⚡ | tests/library/inspector/cli-codegen-1.spec.ts | 428 | await page.locator('#content').fill('John Doe');`); | CODE |
| LOW⚡ | tests/library/inspector/cli-codegen-1.spec.ts | 429 | expect(message.text()).toBe('John Doe'); | CODE |
| LOW⚡ | tests/library/inspector/cli-codegen-1.spec.ts | 443 | page.fill('section[aria-label=First] h1', 'John Doe') | CODE |
| LOW⚡ | tests/library/inspector/cli-codegen-1.spec.ts | 448 | await page.getByRole('region', { name: 'First' }).getByRole('heading').fill('John Doe');`); | CODE |
| LOW⚡ | tests/library/inspector/cli-codegen-1.spec.ts | 449 | expect(message.text()).toBe('John Doe'); | CODE |
| LOW | tests/mcp/form.spec.ts | 67 | value: 'John Doe' | CODE |
| LOW | tests/mcp/form.spec.ts | 96 | code: `await page.getByRole('textbox', { name: 'Name' }).fill('John Doe'); | CODE |
| LOW | tests/mcp/network.spec.ts | 28 | server.setContent('/json', JSON.stringify({ name: 'John Doe' }), 'application/json'); | CODE |
| LOW | tests/mcp/network.spec.ts | 176 | res.end(JSON.stringify({ name: 'John Doe' })); | CODE |
| LOW | tests/mcp/network.spec.ts | 261 | res.end(JSON.stringify({ name: 'John Doe' })); | CODE |
| LOW | tests/mcp/network.spec.ts | 304 | expect(responseBody!.result).toBe('{"name":"John Doe"}'); | CODE |
| LOW | tests/mcp/cli-json.spec.ts | 227 | res.end(JSON.stringify({ name: 'John Doe' })); | CODE |
| LOW | tests/mcp/cli-json.spec.ts | 238 | expect(JSON.parse((await cli('--json', 'response-body', num)).output)).toEqual({ result: '{"name":"John Doe"}' }); | CODE |
| LOW | tests/mcp/verify.spec.ts | 336 | <input type="text" aria-label="Name" value="John Doe" /> | CODE |
| LOW | tests/mcp/verify.spec.ts | 352 | value: 'John Doe', | CODE |
| LOW | tests/mcp/verify.spec.ts | 356 | code: expect.stringContaining(`await expect(page.getByRole('textbox', { name: 'Name' })).toHaveValue('John Doe');`), | CODE |
| LOW | tests/mcp/verify.spec.ts | 377 | <input type="text" name="name" value="John Doe" /> | CODE |
| LOW | tests/mcp/verify.spec.ts | 396 | error: 'Expected value "Jane Smith", but got "John Doe"', | CODE |
| LOW | tests/mcp/secrets.spec.ts | 144 | value: 'John Doe' | CODE |
| LOW | tests/mcp/secrets.spec.ts | 155 | code: `await page.getByRole('textbox', { name: 'Email' }).fill('John Doe'); | CODE |
| LOW | tests/mcp/cli-devtools.spec.ts | 113 | res.end(JSON.stringify({ name: 'John Doe' })); | CODE |
| LOW | tests/mcp/cli-devtools.spec.ts | 144 | res.end(JSON.stringify({ name: 'John Doe' })); | CODE |
| LOW | tests/mcp/cli-devtools.spec.ts | 157 | expect((await cli('response-body', num)).output).toContain('{"name":"John Doe"}'); | CODE |
| LOW | tests/mcp/cli-devtools.spec.ts | 167 | res.end(JSON.stringify({ name: 'John Doe' })); | CODE |
| LOW⚡ | tests/mcp/cli-devtools.spec.ts | 192 | expect(read('res-b.json')).toBe('{"name":"John Doe"}'); | CODE |
| LOW⚡ | tests/mcp/cli-devtools.spec.ts | 199 | server.setContent('/api', JSON.stringify({ name: 'John Doe' }), 'application/json'); | CODE |
| LOW⚡ | tests/mcp/cli-devtools.spec.ts | 208 | expect(output.trim()).toBe('{"name":"John Doe"}'); | CODE |
| LOW | tests/electron/package.json | 6 | "author": "Jane Doe", | CODE |
| LOW | tests/assets/evals/fill-form.html | 143 | <input type="text" id="address" name="address" placeholder="123 Main Street" required> | CODE |
| LOW | tests/assets/reading-list/vue_2.6.14.js | 6812 | key === 'placeholder' && value !== '' && !el.__ieph | CODE |
| LOW | tests/assets/reading-list/react-dom_17.0.2.js | 2856 | placeholder: 'placeholder', | CODE |
| 61 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | browser_patches/firefox/juggler/TargetRegistry.js | 601 | const browserContext = this.browserContextForId(browserContextId); | COMMENT |
| LOW | …patches/firefox/juggler/pipe/nsRemoteDebuggingPipe.cpp | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public | COMMENT |
| LOW | …hes/firefox/juggler/screencast/nsScreencastService.cpp | 1 | /* This Source Code Form is subject to the terms of the Mozilla Public | COMMENT |
| LOW | browser_patches/firefox/preferences/playwright.cfg | 41 | pref("fission.webContentIsolationStrategy", 0); | COMMENT |
| LOW | browser_patches/firefox/preferences/playwright.cfg | 201 | pref("browser.startup.homepage", "about:blank"); | COMMENT |
| LOW | browser_patches/webkit/embedder/Playwright/win/stdafx.h | 21 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | COMMENT |
| LOW | browser_patches/webkit/embedder/Playwright/win/stdafx.h | 41 | #define __STDC_LIMIT_MACROS | COMMENT |
| LOW | browser_patches/webkit/embedder/Playwright/win/stdafx.h | 61 | COMMENT | |
| LOW | …webkit/embedder/Playwright/win/WebKitBrowserWindow.cpp | 21 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | COMMENT |
| LOW | …ser_patches/webkit/embedder/Playwright/win/WinMain.cpp | 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | COMMENT |
| LOW | …wser_patches/webkit/embedder/Playwright/win/resource.h | 1 | //{{NO_DEPENDENCIES}} | COMMENT |
| LOW | …wser_patches/webkit/embedder/Playwright/win/resource.h | 21 | #define _APS_NEXT_COMMAND_VALUE 32771 | COMMENT |
| LOW | …webkit/embedder/Playwright/win/PlaywrightLibResource.h | 1 | //{{NO_DEPENDENCIES}} | COMMENT |
| LOW | …webkit/embedder/Playwright/win/PlaywrightLibResource.h | 21 | #define IDM_HISTORY_LINK2 152 | COMMENT |
| LOW | …webkit/embedder/Playwright/win/PlaywrightLibResource.h | 41 | #define IDC_CHECK1 1003 | COMMENT |
| LOW | …webkit/embedder/Playwright/win/PlaywrightLibResource.h | 61 | #define IDC_TOTAL_LIVE_COUNT 1025 | COMMENT |
| LOW | …webkit/embedder/Playwright/win/PlaywrightLibResource.h | 81 | #define IDC_Message 1044 | COMMENT |
| LOW | …webkit/embedder/Playwright/win/PlaywrightLibResource.h | 101 | #define IDM_RELOAD 32779 | COMMENT |
| LOW | …es/webkit/embedder/Playwright/win/PlaywrightResource.h | 1 | //{{NO_DEPENDENCIES}} | COMMENT |
| LOW | …bkit/embedder/Playwright/mac/BrowserWindowController.m | 21 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | COMMENT |
| LOW | …r_patches/webkit/embedder/Playwright/mac/AppDelegate.m | 21 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 1 | # WebView (iOS Simulator) expected failures. | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 81 | # the border box, while Playwright — like Chromium, Firefox and recent desktop | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 101 | # execution contexts, which the stock RDP DOM agent does not expose); | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 121 | page/elementhandle-screenshot.spec.ts › element screenshot › EH-092 should not issue resize event [fail] | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 141 | # ============================================================================ | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 161 | COMMENT | |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 181 | # Intercepting/fulfilling the MAIN navigation request is flaky on iOS 26: the | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 461 | # ============================================================================ | COMMENT |
| LOW | tests/webview/expectations/webkit-webview-page.txt | 541 | # Tests whose name contains 'iframe', 'popup', or 'filechooser'. Stock WebKit | COMMENT |
| LOW | tests/library/events/subclass.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/remove-all-listeners.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/add-listeners.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/check-listener-leaks.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/remove-listeners.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/method-names.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/special-event-names.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/listeners-side-effects.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/num-args.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/max-listeners.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/symbols.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/once.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/utils.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/prepend.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/listener-count.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/listeners.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/events-list.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/library/events/modify-in-emit.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | …/library/events/set-max-listeners-side-effects.spec.ts | 1 | // Copyright Joyent, Inc. and other Node contributors. | COMMENT |
| LOW | tests/assets/offscreenbuttons.html | 21 | right: 0; | COMMENT |
| LOW | tests/assets/prefetch.js | 1 | // Scripts will be pre-fetched | COMMENT |
| LOW | tests/assets/webfont/generate_font.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1161 | COMMENT | |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 1181 | } | COMMENT |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 12761 | COMMENT | |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 12921 | // We use attributes for everything SVG so let's avoid some duplication and run | COMMENT |
| LOW | tests/assets/reading-list/react-dom_15.7.0.js | 16621 | var _assign = _dereq_(160); | COMMENT |
| LOW | tests/assets/reading-list/react_18.1.0.js | 461 | } | COMMENT |
| LOW | tests/assets/reading-list/react_18.1.0.js | 1881 | for (; s >= 1 && c >= 0; s--, c--) { | COMMENT |
| LOW | tests/assets/reading-list/vue_2.6.14.js | 1921 | var copies = callbacks.slice(0); | COMMENT |
| 89 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/playwright-dev/api.md | 5 | ## Step 1: Define API in Documentation | COMMENT |
| LOW | .claude/skills/playwright-dev/api.md | 69 | ## Step 2: Implement Client API | COMMENT |
| LOW | .claude/skills/playwright-dev/api.md | 98 | ## Step 3: Define Protocol Channel | COMMENT |
| LOW | .claude/skills/playwright-dev/api.md | 160 | ## Step 4: Implement Dispatcher | COMMENT |
| LOW | .claude/skills/playwright-dev/api.md | 203 | ## Step 5: Implement Server Logic | COMMENT |
| LOW | .claude/skills/playwright-dev/api.md | 225 | ## Step 6: Write Tests | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 5 | ### Step 1: Create the Tool File | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 91 | ### Step 2: Add ToolCapability (if needed) | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 116 | ### Step 3: Register the Tool | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 129 | ### Step 4: Write Tests | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 195 | ### Step 1: Implement the MCP Tool | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 199 | ### Step 2: Add the Command Declaration | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 276 | ### Step 3: Update SKILL File | COMMENT |
| LOW | .claude/skills/playwright-dev/tools.md | 283 | ### Step 4: Write CLI Tests | COMMENT |
| LOW | …rowser-dependencies/inside_docker/list_dependencies.js | 98 | // Step 1: pick libraries that are easy to pick. | COMMENT |
| LOW⚡ | …rowser-dependencies/inside_docker/list_dependencies.js | 195 | // Step 1: try to filter out debug, test and dev packages. | COMMENT |
| LOW⚡ | …rowser-dependencies/inside_docker/list_dependencies.js | 199 | // Step 2: use library name to filter packages with the same name. | COMMENT |
| LOW | docs/src/test-components-js.md | 53 | ### Step 1: Point your coding agent at the skill | COMMENT |
| LOW | docs/src/test-components-js.md | 76 | ### Step 2: Configure Playwright | COMMENT |
| LOW | docs/src/test-components-js.md | 106 | ### Step 3: Write a story | COMMENT |
| LOW | docs/src/test-components-js.md | 118 | ### Step 4: Write a test | COMMENT |
| LOW | docs/src/test-components-js.md | 134 | ### Step 5: Run | COMMENT |
| LOW⚡ | …todomvc/tests/todo-creation/prevent-empty-todo.spec.ts | 8 | // Step 1: Navigate to the TodoMVC application | COMMENT |
| LOW⚡ | …todomvc/tests/todo-creation/prevent-empty-todo.spec.ts | 12 | // Step 2: Click into the input field without typing anything and press Enter | COMMENT |
| LOW⚡ | …omvc/tests/adding-todos/should-add-single-todo.spec.ts | 7 | // Step 1: Navigate to the TodoMVC application | COMMENT |
| LOW⚡ | …omvc/tests/adding-todos/should-add-single-todo.spec.ts | 11 | // Step 2: Type 'Buy groceries' into the input field | COMMENT |
| LOW⚡ | …omvc/tests/adding-todos/should-add-single-todo.spec.ts | 16 | // Step 3: Press Enter to submit the todo | COMMENT |
| LOW⚡ | …ools/skills/playwright-cli/references/storage-state.md | 238 | # Step 1: Login and save state | COMMENT |
| LOW⚡ | …ools/skills/playwright-cli/references/storage-state.md | 248 | # Step 2: Later, restore state and skip login | COMMENT |
| LOW⚡ | packages/playwright-core/src/server/frames.ts | 1484 | // Step 1: perform locator handlers checkpoint with a specified timeout. | COMMENT |
| LOW⚡ | packages/playwright-core/src/server/frames.ts | 1489 | // Step 2: perform one-shot expect check without a timeout. | COMMENT |
| LOW | packages/playwright-core/src/server/frames.ts | 1502 | // Step 3: auto-retry expect with increasing timeouts. Bounded by the total remaining time. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/assets/reading-list/react-dom_15.7.0.js | 12729 | // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` | COMMENT |
| MEDIUM | tests/assets/reading-list/react-dom_15.7.0.js | 16330 | // children. Definitely want to avoid this. | COMMENT |
| LOW | tests/assets/reading-list/vue_3.1.5.js | 6033 | // #1689 For inside suspense + suspense resolved case, just call it | COMMENT |
| MEDIUM⚡ | tests/assets/modernizr/modernizr.js | 2 | See http://github.com/Modernizr/Modernizr/issues/1182 for more information.`),window.yepnope.apply(window,[].slice.call | CODE |
| MEDIUM⚡ | tests/assets/modernizr/modernizr.js | 2 | See http://github.com/Modernizr/Modernizr/issues/1182 for more information.`),window.yepnope.apply(window,[].slice.call | CODE |
| MEDIUM⚡ | tests/assets/modernizr/modernizr.js | 6 | * Build https://modernizr.com/download?-adownload-ambientlight-aping-apng-appearance-applicationcache-areaping-arrow-as | COMMENT |
| MEDIUM | tests/assets/modernizr/modernizr.js | 2544 | "href": "https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-seamless" | CODE |
| MEDIUM | tests/assets/modernizr/modernizr.js | 2544 | "href": "https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-seamless" | CODE |
| MEDIUM | tests/assets/react/material-ui@5.2.2.production.min.js | 6 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("react-dom")):"fu | CODE |
| MEDIUM | tests/assets/stress/static/js/main.cc4a7955.js | 2 | !function(){"use strict";var e={463:function(e,n,t){var r=t(791),l=t(296);function a(e){for(var n="https://reactjs.org/d | CODE |
| MEDIUM | tests/assets/stress/static/js/main.cc4a7955.js | 2 | !function(){"use strict";var e={463:function(e,n,t){var r=t(791),l=t(296);function a(e){for(var n="https://reactjs.org/d | CODE |
| MEDIUM | packages/playwright/src/runner/taskRunner.ts | 113 | // because of the same deadline. Essentially, we're not performing any cleanup. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/assets/reading-list/react_15.7.0.js | 859 | // We need to check if it exists. | COMMENT |
| LOW | …rowser-dependencies/inside_docker/list_dependencies.js | 98 | // Step 1: pick libraries that are easy to pick. | COMMENT |
| LOW⚡ | …rowser-dependencies/inside_docker/list_dependencies.js | 195 | // Step 1: try to filter out debug, test and dev packages. | COMMENT |
| LOW⚡ | …rowser-dependencies/inside_docker/list_dependencies.js | 199 | // Step 2: use library name to filter packages with the same name. | COMMENT |
| LOW⚡ | …todomvc/tests/todo-creation/prevent-empty-todo.spec.ts | 8 | // Step 1: Navigate to the TodoMVC application | COMMENT |
| LOW⚡ | …todomvc/tests/todo-creation/prevent-empty-todo.spec.ts | 12 | // Step 2: Click into the input field without typing anything and press Enter | COMMENT |
| LOW⚡ | …omvc/tests/adding-todos/should-add-single-todo.spec.ts | 7 | // Step 1: Navigate to the TodoMVC application | COMMENT |
| LOW⚡ | …omvc/tests/adding-todos/should-add-single-todo.spec.ts | 11 | // Step 2: Type 'Buy groceries' into the input field | COMMENT |
| LOW⚡ | …omvc/tests/adding-todos/should-add-single-todo.spec.ts | 16 | // Step 3: Press Enter to submit the todo | COMMENT |
| LOW⚡ | packages/playwright-core/src/server/frames.ts | 1484 | // Step 1: perform locator handlers checkpoint with a specified timeout. | COMMENT |
| LOW⚡ | packages/playwright-core/src/server/frames.ts | 1489 | // Step 2: perform one-shot expect check without a timeout. | COMMENT |
| LOW | packages/playwright-core/src/server/frames.ts | 1502 | // Step 3: auto-retry expect with increasing timeouts. Bounded by the total remaining time. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/playwright-test/reporter-list.spec.ts | 595 | print(text[index++]); | CODE |
| HIGH | tests/playwright-test/reporter-list.spec.ts | 617 | print(text[index++]); | CODE |
| HIGH | packages/playwright/src/plugins/gitCommitInfoPlugin.ts | 40 | print(s, ...args); | CODE |
| HIGH | packages/playwright/src/plugins/gitCommitInfoPlugin.ts | 205 | print(`timeout of ${GIT_OPERATIONS_TIMEOUT_MS}ms exceeded while running "git ${args.join(' ')}"`); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/assets/reading-list/vue_3.1.5.js | 7506 | // #2078 make sure to merge refs during the clone instead of overwriting it | COMMENT |
| LOW | …ges/playwright-core/bin/reinstall_msedge_beta_linux.sh | 24 | # 1. make sure to remove old beta if any. | COMMENT |
| LOW | …ges/playwright-core/bin/reinstall_chrome_beta_linux.sh | 23 | # 1. make sure to remove old beta if any. | COMMENT |
| LOW | …s/playwright-core/bin/reinstall_msedge_stable_linux.sh | 24 | # 1. make sure to remove old stable if any. | COMMENT |
| LOW | …ages/playwright-core/bin/reinstall_msedge_dev_linux.sh | 24 | # 1. make sure to remove old dev if any. | COMMENT |
| LOW | …s/playwright-core/bin/reinstall_chrome_stable_linux.sh | 23 | # 1. make sure to remove old stable if any. | COMMENT |
| LOW | packages/playwright/src/worker/fixtureRunner.ts | 98 | // Don't forget to decrement all usages when fixture goes. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ude/skills/playwright-dev/bisect-published-versions.md | 12 | # Skip `npm init playwright@latest` — it's interactive and the scaffold | COMMENT |
| MEDIUM | docs/src/release-notes-js.md | 1043 | # Generate agent files for each agentic loop | COMMENT |
| MEDIUM | …src/tools/skills/playwright-component-testing/SKILL.md | 14 | - Tests are plain Playwright tests. The built-in **`mount(storyId, props?)` fixture** (from `@playwright/test`) drives t | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/assets/reading-list/vue_2.6.14.js | 4754 | function getData (data, vm) { | CODE |
| LOW | tests/assets/reading-list/react-dom_17.0.2.js | 6086 | function getData() { | CODE |
| LOW | tests/assets/reading-list/react-dom_16.14.0.js | 8409 | function getData() { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/libwebp-wasm/build.sh | 10 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/libwebp-wasm/build.sh | 21 | # Set EMSDK_DIR to reuse an existing emsdk. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/playwright/src/transform/tsconfig-loader.ts | 98 | // TODO: implement tsc-compatible resolution and start throwing on invalid "extends"/"references". | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/doclint/linting-code-snippets/python/main.py | 8 | except Exception as e: | CODE |