AI Slop Code Risk Monitor

webdriverio/webdriverio

SlopCodeMonitor badge for webdriverio/webdriverio Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Next-gen browser and mobile automation test framework for Node.js

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for webdriverio/webdriverio, a TypeScript project with 9,869 GitHub stars. SynthScan examined 389,116 lines of code across 2679 source files, recording 306 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 1.3 (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.

1.3
Adjusted Signal
1.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
9.9K
Stars
TypeScript
Language
389.1K
Lines of Code
2.7K
Files
306
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 3.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 261 finding(s).

Hallucinated Dependency & Supply Chain Risk 2.5/100 · LOW

Are imports declared and package/API names verified? 43 finding(s).

Agent Over-Engineering Ratio 1.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 135 finding(s).

PR Review Velocity Impact 5.6/100 · LOW

Which changes need focused human review? 306 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 9HIGH 12MEDIUM 2LOW 283

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 306 distinct pattern matches across 9 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.

Hyper-Verbose Identifiers133 hits · 133 pts
SeverityFileLineSnippetContext
LOWinfra/docs/src/packagesDocs.ts34export function generateReportersAndServicesDocs (sidebars: any, options: PackagesDocsOptions = {}) {CODE
LOWinfra/docs/src/copyContributingDocs.ts17export function rewriteRepoRootMarkdownLinks (markdown: string) {CODE
LOWinfra/docs/src/downloadDocsTranslations.ts61export function applyElectronMockingLinkFix(content: string) {CODE
LOWinfra/docs/src/desktopDocs.ts76export async function generateDesktopServiceDocs (config: DesktopDocsConfig, rootDir = getRootDir()) {CODE
LOWinfra/repo-tools/src/docs-list.ts31export function firstHeadingOrFrontmatterTitle (contents: string, fallback: string): string {CODE
LOWwebsite/src/components/CreateProjectAnimation.tsx29export function CreateMacOSProjectAnimation() {CODE
LOWpackages/wdio-logger/src/index.ts276function logsContainInitPackageError(logText: string) {CODE
LOWpackages/wdio-vitest-framework/src/setup.ts170async function resolveAttachmentTransport(resultsDir: string | null | undefined): Promise<AttachmentTransport> {CODE
LOWpackages/wdio-config/tests/node/configparser.test.ts140async function ConfigParserForTestWithAllFiles(configPath: string, args = {}) {CODE
LOWpackages/wdio-config/src/utils.ts80export function isCucumberFeatureWithLineNumber(spec: string | string[]) {CODE
LOWpackages/wdio-config/src/node/ConfigParser.ts654function filterDublicationArrayItems(specList: Spec[]) {CODE
LOWpackages/wdio-cucumber-framework/src/parallel.ts461function collectSupportCodeMessages(supportCodeLibrary: SupportCodeLibrary): SupportCodeMessages {CODE
LOWpackages/wdio-cucumber-framework/src/utils.ts227export function generateSkipTagsFromCapabilities(capabilities: Capabilities.ResolvedTestrunnerCapabilities, tags: stringCODE
LOWpackages/wdio-browser-runner/src/browser/expect.ts233export function shouldLoadAssertionContext (context: unknown): boolean {CODE
LOWpackages/wdio-browser-runner/src/browser/expect.ts265function serializeAsymmetricMatchers(arg: unknown): unknown {CODE
LOW…s/wdio-allure-reporter/tests/__fixtures__/testState.ts35export function testFailedWithMultipleErrors() {CODE
LOW…s/wdio-allure-reporter/tests/__fixtures__/testState.ts50export function testFailedWithMultipleErrorsAndStacksNotContainingMessages() {CODE
LOW…s/wdio-allure-reporter/tests/__fixtures__/testState.ts65export function testFailedWithAssertionErrorFromExpectWebdriverIO() {CODE
LOW…s/wdio-allure-reporter/tests/__fixtures__/testState.ts99export function testFailedWithHtmlEntities() {CODE
LOW…s/wdio-allure-reporter/tests/__fixtures__/testState.ts175export function hookFailedWithHtmlEntities(): WDIOReporter.Hook {CODE
LOWpackages/wdio-allure-reporter/src/reporter.ts126function hasCucumberKeywordInTitle(title?: string): boolean {CODE
LOWpackages/wdio-allure-reporter/src/common/api.ts252export async function addGlobalAttachmentFromPath(name: string, path: string, contentType: ContentType | string = ContenCODE
LOWpackages/wdio-session/src/actions/emulate.ts156async function readGeolocationPermission (browser: WebdriverIO.Browser): Promise<PermissionSetting | undefined> {CODE
LOWpackages/wdio-session/src/actions/emulate.ts185async function writeGeolocationPermission (browser: WebdriverIO.Browser, origin: string, setting: PermissionSetting) {CODE
LOWpackages/wdio-session/src/actions/emulate.ts320async function installClassicGeolocation (browser: WebdriverIO.Browser, latitude: number, longitude: number, accuracy: nCODE
LOWpackages/wdio-runner/src/utils.ts184function isSerializedAsymmetricMatcher(arg: unknown): arg is SerializedAsymmetricMatcher {CODE
LOWpackages/wdio-runner/src/browser.ts588function assertBrowserChannelHandled (message: never): never {CODE
LOWpackages/wdio-cli/src/commands/run.ts277async function tsConfigPathFromConfigFile(wdioConfPath: string, params: Partial<RunCommandArguments>): Promise<string | CODE
LOWpackages/wdio-appium-service/src/cli-utils.ts15function inspectorPluginNotInstalledError(message: string) {CODE
LOWpackages/wdio-appium-service/src/cli-utils.ts74export async function determineAppiumCliCommand(command = 'appium'): Promise<string> {CODE
LOWpackages/wdio-appium-service/src/cli-utils.ts87export async function checkInspectorPluginInstalled(appiumCommandPath: string): Promise<void> {CODE
LOWpackages/wdio-appium-service/src/cli-utils.ts123async function askToInstallInspectorPlugin(): Promise<boolean> {CODE
LOWpackages/wdio-appium-service/src/cli-utils.ts156export async function ensureInspectorPluginInstalled(appiumCommandPath: string): Promise<void> {CODE
LOW…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts155export async function optimizeMultipleSelectors(CODE
LOW…e/src/mobileSelectorPerformanceOptimizer/mspo-store.ts27export function clearContextNamesResolver(resolver: () => ContextNames | undefined): void {CODE
LOW…e/src/mobileSelectorPerformanceOptimizer/aggregator.ts140export async function aggregateSelectorPerformanceData(CODE
LOW…e/src/mobileSelectorPerformanceOptimizer/aggregator.ts578function deduplicateSelectorsForCli(CODE
LOW…e/src/mobileSelectorPerformanceOptimizer/aggregator.ts656function generateGroupedSummaryReport(CODE
LOW…leSelectorPerformanceOptimizer/utils/command-timing.ts6export function findMostRecentUnmatchedUserCommand(CODE
LOW…leSelectorPerformanceOptimizer/utils/command-timing.ts17export function findMatchingInternalCommandTiming(CODE
LOW…orPerformanceOptimizer/utils/xpath-selector-builder.ts13export function buildSelectorFromElementData(CODE
LOW…orPerformanceOptimizer/utils/xpath-selector-builder.ts54function buildUniquePredicateString(CODE
LOW…electorPerformanceOptimizer/utils/xpath-page-source.ts18export function isSelectorUniqueInPageSource(selector: string, pageSource: string): boolean {CODE
LOW…electorPerformanceOptimizer/utils/xpath-page-source.ts52export function countMatchingElementsByPredicate(predicateString: string, pageSource: string): number {CODE
LOW…electorPerformanceOptimizer/utils/xpath-page-source.ts97function matchesPredicateConditions(attrs: string, conditions: PredicateCondition[]): boolean {CODE
LOW…electorPerformanceOptimizer/utils/xpath-page-source.ts111export function countMatchingElementsByClassChain(chainString: string, pageSource: string): number {CODE
LOW…SelectorPerformanceOptimizer/utils/performance-data.ts7export function createOptimizedSelectorData(CODE
LOW…mobileSelectorPerformanceOptimizer/utils/formatting.ts47export function logOptimizationConclusion(CODE
LOW…electorPerformanceOptimizer/utils/selector-location.ts134function findPageObjectFilesFromConfig(pageObjectPaths: string[]): string[] {CODE
LOW…eSelectorPerformanceOptimizer/utils/xpath-detection.ts12export function detectUnmappableXPathFeatures(xpath: string): string[] {CODE
LOW…rformanceOptimizer/utils/xpath-page-source-executor.ts88export function findElementByXPathWithFallback(xpathExpr: string, pageSource: string): XPathExecutionResult | null {CODE
LOW…SelectorPerformanceOptimizer/utils/selector-testing.ts11async function extractMatchingElementsFromPageSource(CODE
LOW…eSelectorPerformanceOptimizer/utils/xpath-converter.ts21export async function convertXPathToOptimizedSelector(CODE
LOWpackages/wdio-lighthouse-service/src/commands.ts41function isCDPSessionOnMessageObject(CODE
LOWpackages/wdio-lighthouse-service/src/utils.ts153export function hasCorePerformanceMetrics (lhr?: LighthouseResultLike): lhr is LighthouseResultLike {CODE
LOWpackages/wdio-utils/src/shim.ts105export function registerElementArrayFactory (factory: ElementArrayFactory) {CODE
LOWpackages/wdio-utils/src/shim.ts251function createElementPromiseProxy (CODE
LOWpackages/wdio-utils/src/initializeServices.ts94export async function initializeLauncherService (CODE
LOWpackages/wdio-utils/src/envDetector.ts274export function capabilitiesEnvironmentDetector(capabilities: WebdriverIO.Capabilities) {CODE
LOWpackages/wdio-utils/src/envDetector.ts295export function sessionEnvironmentDetector({CODE
73 more matches not shown…
Hallucination Indicators9 hits · 90 pts
SeverityFileLineSnippetContext
CRITICALpackages/wdio-ai-service/src/tools.ts337 const native = !context.agent.session.plan.applies.includes('W')CODE
CRITICALpackages/wdio-mocha-framework/tests/adapter.test.ts70 expect(runner.suite.beforeAll.mock.calls.map(([title]: [string]) => title)).toEqual(before)CODE
CRITICALpackages/wdio-mocha-framework/tests/adapter.test.ts71 expect(runner.suite.afterAll.mock.calls.map(([title]: [string]) => title)).toEqual(after)CODE
CRITICAL…ckages/webdriverio/tests/session/bidiMapperLog.test.ts53const cdpCalls = () => browser._bidiHandler.send.mock.calls.map(([{ params }]) => params)CODE
CRITICAL…ckages/webdriverio/tests/session/bidiMapperLog.test.ts77 expect(browser._bidiHandler.send.mock.calls.map(([command]) => command)).toEqual([CODE
CRITICALe2e/session/contexts.test.ts45 expect(two.json.result.data.tabs.map((t: { title: string, current: boolean }) => [t.title, t.current]))CODE
CRITICALe2e/session/export.test.ts61 expect(listed.json.result.data.entries.map((e: { kind: string }) => e.kind)).toContain('open')CODE
CRITICALe2e/session/visual.test.ts76 const tags = listed.json.result.data.tags.map((tag: { tag: string }) => tag.tag)CODE
CRITICALe2e/session/lifecycle.test.ts89 expect(list.json.result.data.sessions.map((s: { name: string }) => s.name).sort()).toEqual(['a', 'b'])CODE
Over-Commented Block89 hits · 84 pts
SeverityFileLineSnippetContext
LOWwebsite/docs/ConfigurationFile.md21 // Server ConfigurationsCOMMENT
LOWwebsite/docs/ConfigurationFile.md41 // values you must put here, in order to connect to these services.COMMENT
LOWwebsite/docs/ConfigurationFile.md61 // of the configuration file being run.COMMENT
LOWwebsite/docs/ConfigurationFile.md81 // ============COMMENT
LOWwebsite/docs/ConfigurationFile.md101 maxInstancesPerCapability: 10,COMMENT
LOWwebsite/docs/ConfigurationFile.md121 // Parameter to ignore some or all default flagsCOMMENT
LOWwebsite/docs/ConfigurationFile.md141 // If outputDir is provided WebdriverIO can capture driver session logsCOMMENT
LOWwebsite/docs/ConfigurationFile.md161 // Set specific log levels per loggerCOMMENT
LOWwebsite/docs/ConfigurationFile.md181 //COMMENT
LOWwebsite/docs/ConfigurationFile.md201 // Delay in seconds between the spec file retry attemptsCOMMENT
LOWwebsite/docs/ConfigurationFile.md221 mochaOpts: {COMMENT
LOWwebsite/docs/ConfigurationFile.md261 // Your TSConfig is automatically detected from the current working directoryCOMMENT
LOWwebsite/static/robots.txt1# robots.txt for https://webdriver.ioCOMMENT
LOWexamples/wdio.conf.js1COMMENT
LOWexamples/wdio.conf.js21 // =================COMMENT
LOWexamples/wdio.conf.js41 // The specs are defined as an array of spec files (optionally using wildcardsCOMMENT
LOWexamples/wdio.conf.js61 // ============COMMENT
LOWexamples/wdio.conf.js101 //COMMENT
LOWexamples/wdio.conf.js121 // bail (default is 0 - don't bail, run all tests).COMMENT
LOWexamples/wdio.conf.js141 // Retried specfiles are inserted at the beginning of the queue and retried immediatelyCOMMENT
LOWexamples/wdio.conf.js161 },COMMENT
LOWexamples/pageobject/wdio.conf.js1import path from 'node:path'COMMENT
LOWexamples/pageobject/wdio.conf.js21 //COMMENT
LOWexamples/pageobject/wdio.conf.js41 // Test ConfigurationsCOMMENT
LOWexamples/pageobject/wdio.conf.js61 //COMMENT
LOWexamples/pageobject/wdio.conf.js81 reporters: ['spec'],COMMENT
LOWexamples/pageobject/wdio.conf.js101 // },COMMENT
LOWexamples/pageobject/wdio.conf.js121 // Hook that gets executed _before_ a hook within the suite starts (e.g. runs before callingCOMMENT
LOWexamples/pageobject/wdio.conf.js141 // },COMMENT
LOWexamples/pageobject/wdio.conf.js161 // Runs before a Cucumber Scenario.COMMENT
LOWexamples/pageobject/wdio.conf.js181 // @param {object} result results object containing scenario resultsCOMMENT
LOWexamples/pageobject/wdio.conf.js201 //COMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts1import url from 'node:url'COMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts21 // worker process. In order to have a group of spec files run in the same workerCOMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts41 rootDir: __dirnameCOMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts61 // If you have trouble getting all important capabilities together, check out theCOMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts81 // ===================COMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts101 // If you only want to run your tests until a specific amount of tests have failed useCOMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts121 // Test runner servicesCOMMENT
LOWexamples/wdio/vite-vue-example/wdio.conf.ts141 // Whether or not retried spec files should be retried immediately or deferred to the end of the queueCOMMENT
LOW…kages/wdio-config/tests/__fixtures__/prefix-test-02.ts1// .keepMeCOMMENT
LOW…kages/wdio-config/tests/__fixtures__/prefix-test-01.ts1// .keepMeCOMMENT
LOWpackages/wdio-ai-service/src/recorder.ts161 /**COMMENT
LOWpackages/wdio-lighthouse-service/README.md221### `getPageWeight` CommandCOMMENT
LOWpackages/webdriver/src/bidi/core.ts61 #id = 0COMMENT
LOWpackages/webdriverio/third_party/fake-timers.js1841COMMENT
LOWpackages/webdriverio/src/utils/interception/index.ts121 #filterOptions: MockFilterOptionsCOMMENT
LOW…ges/webdriverio/src/commands/element/getCSSProperty.ts41 // rgba: 'rgba(0, 136, 204, 1)'COMMENT
LOWpackages/webdriverio/src/commands/mobile/getContext.ts61 * <example>COMMENT
LOWpackages/webdriverio/src/commands/mobile/getContexts.ts61 // Returns ['NATIVE_APP', 'WEBVIEW_com.wdiodemoapp', ...]COMMENT
LOWpackages/webdriverio/src/commands/mobile/getContexts.ts81 // webviewPageId: '58B0AA2DBBBBBE9008C35AE42385BB0D'COMMENT
LOWpackages/webdriverio/src/commands/mobile/getContexts.ts101 // },COMMENT
LOWpackages/webdriverio/src/commands/mobile/getContexts.ts121 // // Indicates whether the web page is currently attached to a web view.COMMENT
LOWpackages/webdriverio/src/commands/mobile/swipe.ts221 })COMMENT
LOWpackages/webdriverio/src/session/context.ts121export type FlatContextTree = Omit<local.BrowsingContextInfo, 'children'> & { children: string[] }COMMENT
LOW…wdio-cucumberjs-json-reporter/tests/__mocks__/mocks.ts401// 'acceptInsecureCerts': false,COMMENT
LOW…wdio-cucumberjs-json-reporter/tests/__mocks__/mocks.ts421// 'platform': 'Mac OS X',COMMENT
LOW…wdio-cucumberjs-json-reporter/tests/__mocks__/mocks.ts441// 'suites': {},COMMENT
LOW…wdio-cucumberjs-json-reporter/tests/__mocks__/mocks.ts461// 'customData': {COMMENT
LOW…wdio-cucumberjs-json-reporter/tests/__mocks__/mocks.ts481// 'mochaOpts': { 'timeout': 10000 },COMMENT
29 more matches not shown…
Cross-Language Confusion (JS/TS)11 hits · 78 pts
SeverityFileLineSnippetContext
HIGHinfra/docs/tests/generateDocs.test.ts40 print('Generate Protocol Docs')CODE
HIGH⚡infra/docs/src/generateDocs.ts52 print('Generate Protocol Docs')CODE
HIGH⚡infra/docs/src/generateDocs.ts54 print('Generate WebdriverIO Docs')CODE
HIGH⚡infra/docs/src/generateDocs.ts56 print('Generate Reporter & Services Docs')CODE
HIGH⚡infra/docs/src/generateDocs.ts60 print('Generate Event Docs')CODE
HIGH⚡infra/docs/src/generateDocs.ts62 print('Generate Desktop Service Docs (Electron + Tauri + Dioxus)')CODE
HIGH⚡infra/docs/src/generateDocs.ts66 print('Copy over Contributing Guidelines')CODE
HIGH⚡infra/docs/src/generateDocs.ts68 print('Copy over Awesome Resources')CODE
HIGH⚡infra/docs/src/generateDocs.ts71 print('English-only docs (skipping translation download)')CODE
HIGH⚡infra/docs/src/generateDocs.ts73 print('Download docs translations')CODE
HIGHinfra/bidiCodegen/src/generate.ts205 print(bidiCode, {CODE
Structural Annotation Overuse26 hits · 50 pts
SeverityFileLineSnippetContext
LOW⚡infra/docs/src/downloadDocsTranslations.ts241 // Step 1: Determine default branch if not specifiedCOMMENT
LOW⚡infra/docs/src/downloadDocsTranslations.ts247 // Step 2: Download the zipballCOMMENT
LOWinfra/docs/src/downloadDocsTranslations.ts271 // Step 3: Extract to temp directory firstCOMMENT
LOWinfra/docs/src/downloadDocsTranslations.ts287 // Step 4: Move contents from temp directory to final locationCOMMENT
LOWwebsite/docs/VisualTesting.md320### Step 1: Add Type DefinitionsCOMMENT
LOWwebsite/docs/VisualTesting.md331### Step 2: Enable Type Safety for Service OptionsCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-app-percy.md12### Step 1: Create new app project on percy dashboardCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-app-percy.md16### Step 2: Set the project token as an environment variableCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-app-percy.md26### Step 3: Install Percy packagesCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-app-percy.md35### Step 4: Install dependenciesCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-app-percy.md43### Step 5: Update test scriptCOMMENT
LOWwebsite/docs/visual-testing/integrate-with-app-percy.md63### Step 6: Run your test scriptCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-percy.md12### Step 1: Create a Percy projectCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-percy.md17### Step 2: Set the project token as an environment variableCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-percy.md27### Step 3: Install Percy dependenciesCOMMENT
LOW⚡website/docs/visual-testing/integrate-with-percy.md37### Step 4: Update your test scriptCOMMENT
LOWwebsite/docs/visual-testing/integrate-with-percy.md93### Step 5: Run PercyCOMMENT
LOWwebsite/docs/mcp/cloud-providers.md131### Step 1: Upload your appCOMMENT
LOWwebsite/docs/mcp/cloud-providers.md156### Step 2: List available appsCOMMENT
LOWwebsite/docs/mcp/cloud-providers.md172### Step 3: Start the sessionCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts51 // Step 1: Test the current XPath selector firstCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts59 // Step 2: Find optimized selectorCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts76 // Step 3: Log the potential optimized selectorCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts81 // Step 4: Test the optimized selectorCOMMENT
LOW…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts109 // Step 5: Compare and concludeCOMMENT
LOW…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts130 // Step 6: Execute with optimized selectorCOMMENT
Fake / Example Data23 hits · 34 pts
SeverityFileLineSnippetContext
LOW⚡__mocks__/fetch.ts399 { name: 'cookie1', value: 'dummy-value-1' },CODE
LOW⚡__mocks__/fetch.ts400 { name: 'cookie2', value: 'dummy-value-2' },CODE
LOW⚡__mocks__/fetch.ts401 { name: 'cookie3', value: 'dummy-value-3' },CODE
LOWpackages/wdio-session/src/actions/exec.ts31 collapse(el.getAttribute('placeholder')) || collapse(el.innerText || el.textContent)CODE
LOWpackages/wdio-snapshot/src/web.ts324 const placeholder = el.getAttribute('placeholder')CODE
LOW⚡…/webdriverio/tests/commands/browser/setCookies.test.ts14 const cookie1 = { name: 'cookie1', value: 'dummy-value-1' }CODE
LOW⚡…/webdriverio/tests/commands/browser/setCookies.test.ts15 const cookie2 = { name: 'cookie2', value: 'dummy-value-2' }CODE
LOW⚡…/webdriverio/tests/commands/browser/setCookies.test.ts16 const cookie3 = { name: 'cookie2', value: 'dummy-value-3' }CODE
LOW⚡…/webdriverio/tests/commands/browser/getCookies.test.ts36 { name: 'cookie1', value: 'dummy-value-1' },CODE
LOW⚡…/webdriverio/tests/commands/browser/getCookies.test.ts37 { name: 'cookie2', value: 'dummy-value-2' },CODE
LOW⚡…/webdriverio/tests/commands/browser/getCookies.test.ts38 { name: 'cookie3', value: 'dummy-value-3' },CODE
LOW…/webdriverio/tests/commands/browser/getCookies.test.ts63 expect(cookies).toEqual([{ name: 'cookie1', value: 'dummy-value-1' }])CODE
LOWpackages/webdriverio/src/scripts/findByRole.ts82 return (el.getAttribute('placeholder') || '').replace(/\s+/g, ' ').trim()CODE
LOWpackages/webdriverio/src/commands/element/isSelected.ts11 <option value="John Doe">John Doe</option>CODE
LOW⚡packages/webdriverio/src/commands/element/getHTML.ts23 <span>Lorem ipsum dolor amet</span>CODE
LOW⚡packages/webdriverio/src/commands/element/getHTML.ts30 // "<div id="test"><span>Lorem ipsum dolor amet</span></div>"COMMENT
LOW⚡packages/webdriverio/src/commands/element/getHTML.ts35 // "<span>Lorem ipsum dolor amet</span>"COMMENT
LOWpackages/webdriverio/src/commands/element/getValue.ts11 <input type="text" value="John Doe" id="username">CODE
LOWpackages/webdriverio/src/commands/element/getValue.ts16 console.log(value); // outputs: "John Doe"CODE
LOW⚡packages/webdriverio/src/commands/element/getText.ts14 Lorem ipsum <strong>dolor</strong> sit amet,<br />CODE
LOW⚡packages/webdriverio/src/commands/element/getText.ts23 // "Lorem ipsum dolor sit amet,consetetur sadipscing elitr"COMMENT
LOW⚡packages/webdriverio/src/commands/element/getText.ts23 // "Lorem ipsum dolor sit amet,consetetur sadipscing elitr"COMMENT
LOWpackages/webdriverio/src/commands/element/getTagName.ts7 <div id="elem">Lorem ipsum</div>CODE
Verbosity Indicators12 hits · 22 pts
SeverityFileLineSnippetContext
LOW⚡infra/docs/src/downloadDocsTranslations.ts241 // Step 1: Determine default branch if not specifiedCOMMENT
LOW⚡infra/docs/src/downloadDocsTranslations.ts247 // Step 2: Download the zipballCOMMENT
LOWinfra/docs/src/downloadDocsTranslations.ts271 // Step 3: Extract to temp directory firstCOMMENT
LOWinfra/docs/src/downloadDocsTranslations.ts287 // Step 4: Move contents from temp directory to final locationCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts51 // Step 1: Test the current XPath selector firstCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts59 // Step 2: Find optimized selectorCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts76 // Step 3: Log the potential optimized selectorCOMMENT
LOW⚡…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts81 // Step 4: Test the optimized selectorCOMMENT
LOW…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts109 // Step 5: Compare and concludeCOMMENT
LOW…ce/src/mobileSelectorPerformanceOptimizer/optimizer.ts130 // Step 6: Execute with optimized selectorCOMMENT
LOWpackages/webdriverio/src/commands/browser/execute.ts108 * a function parameter, therefore we need to check if it starts with "function () {"COMMENT
LOWpackages/webdriverio/src/node/saveScreenshot.ts156 * "unsupported operation - Non-top-level 'context'". Therefor we need to check ifCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…ges/webdriverio/src/commands/element/scrollIntoView.ts253 // element is already positioned as requested, nothing to scroll - but only trustCOMMENT
Decorative Section Separators2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMpackages/webdriverio/src/utils/bidi/elementCommands.ts272// ── Reads ────────────────────────────────────────────────COMMENT
MEDIUMpackages/webdriverio/src/utils/bidi/elementCommands.ts343// ── Select ─────────────────────────────────────────────────COMMENT