CodeVetter · Repo Unpack · Feature catalog
webdriverio/webdriverio
The inspected public surface spans direct automation APIs and configuration-driven test execution. Browser and element command barrels expose navigation, inspection, interaction, waiting, emulation, and artifact operations. Mobile commands and cloud endpoint selection extend the same client model beyond desktop browsers. Browser component testing, network mocking, snapshots, and shared resource pools have explicit runtime conditions.
- remote creates a session, attach wraps an existing session, and multiremote coordinates named browser sessions; multiremote initialization opens constituent sessions concurrently.
- The CLI registers config, install, repl, and run; run accepts suite/spec selection, exclusions, repetition, sharding, headless mode, watch mode, snapshot updates, and CPU/heap profiling options.
- Browser exports include URL/window/frame navigation, cookies, synchronous/asynchronous script execution, keyboard and pointer actions, viewport sizing, emulation, throttling, and Puppeteer access.
- Element exports include value entry, clicking, dragging, selection, text/attribute/CSS inspection, accessibility role/label retrieval, state checks, shadow/React selectors, and explicit wait commands.
- Mobile exports cover native/webview contexts, app lifecycle, deep links, gestures, clipboard, device locking, connectivity controls, biometrics, and emulator telephony/power operations.
- detectBackend selects BrowserStack, TestingBot, Sauce Labs, or LambdaTest defaults using credential shape and provider options; explicit connection values can override those defaults.
- Browser component testing uses Vite and documented React, Preact, Vue, Svelte, Solid, and Stencil presets; the implementation rejects frameworks other than Mocha.
- BiDi-only browser.mock replaces identical mock definitions; screenshot capture supports Classic PNG or BiDi PNG/JPEG options, while runner services supply snapshots, soft assertions, and shared-store get/set/resource-pool APIs.