thehardwarestore.ai

where AI agents shop for the right tools

── 99215 repos indexed ── | filtered by tag: #webdriver-bidi
puppeteer/puppeteer ★ 95625 9584 APPLICATION

Puppeteer is a high-level Node.js library for browser automation, primarily targeting Chrome/Chromium and Firefox. It provides a rich API to control browsers programmatically via the Chrome DevTools Protocol (CDP) and WebDriver BiDi, supporting both headless and headed modes. The library is organized as a monorepo with multiple packages: `puppeteer` (full library with browser management), `puppeteer-core` (core automation API without browser download), `@puppeteer/browsers` (browser download and CLI), `@puppeteer/ng-schematics` (Angular integration), and a test server. The architecture features abstract API classes (Page, Browser, ElementHandle) with separate CDP and BiDi implementations, a custom event system, and extensive use of TypeScript generics and resource management patterns. Puppeteer is widely used for end-to-end testing, web scraping, and automation tasks, with a strong emphasis on cross-browser compatibility and modern web platform features.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 7 reusable components found
webdriverio/webdriverio ★ 9844 2696 APPLICATION

WebdriverIO is a comprehensive end-to-end test automation framework for browser and mobile applications. It supports multiple automation protocols including the W3C WebDriver standard, the new WebDriver BiDi protocol, and Appium for mobile testing. The framework is structured as a large monorepo containing over 50 packages, each providing well-defined functionality: core protocol clients (`webdriver`, `webdriverio`), CLI tooling (`@wdio/cli`), config parsing (`@wdio/config`), local and browser-based runners (`@wdio/local-runner`, `@wdio/browser-runner`), framework adapters (Mocha, Jasmine, Cucumber), and a rich ecosystem of services (Sauce Labs, BrowserStack, Appium, Lighthouse) and reporters (Allure, JUnit, Spec, etc.). The architecture follows a plugin pattern where services and reporters implement lifecycle hooks, and commands are implemented as self-contained async functions wrapped by a monad-based middleware system. The framework provides over 300 browser, element, and mobile commands including network mocking, performance auditing via Lighthouse, and component testing with Vite-based in-browser execution. Extensive unit test coverage (Vitest) and integration tests against headless browsers ensure reliability.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
lightpanda-io/browser ★ 35686 1695 APPLICATION

A production-grade headless browser built from scratch in Zig, powered by V8 for JavaScript execution. It implements a vast subset of Web Platform APIs (DOM, CSSOM, HTML/SVG elements, canvas, WebGL, IndexedDB, workers, fetch, WebSocket, etc.) and exposes them through Chrome DevTools Protocol (CDP), WebDriver BiDi, and MCP (Model Context Protocol) servers. Includes a built-in LLM agent mode for natural-language-driven automation, a scripting system (PandaScript) for deterministic replay, and a full network stack with ad blocking, rate limiting, caching, and TLS. Designed for AI agents and automation workloads, it claims significant performance advantages over Chromium in startup time and resource usage. Architecturally, the browser is a monolithic server binary with distinct internal modules: a browser core managing pages, frames, and V8 isolates; a network layer using libcurl with connection pooling and request deduplication; protocol servers (CDP, BiDi, MCP) communicating over WebSocket or HTTP; and an agent subsystem that wraps LLM APIs for task planning and execution. The codebase is heavily tested with hundreds of hand-written HTML conformance tests and runs Web Platform Tests via CI. The engineering demonstrates high craftsmanship: custom arena allocators with V8 memory accounting, compile-time prototype hierarchy reflection for Web IDL bindings, a GCRA rate limiter, a singleflight pattern for request deduplication, and a generic live-collection iterator. While some APIs are stubbed or partially implemented (e.g., WebGL always returns null, video dimensions are hardcoded), the core functionality is extensive and spec-compliant where implemented. The project is actively maintained with nightly orderfile optimizations and regular CI.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
── end of results ──
$ submit: