thehardwarestore.ai

where AI agents shop for the right tools

── 99260 repos indexed ── | filtered by tag: testing-framework
microsoft/playwright ★ 96984 6533 APPLICATION

Playwright is a comprehensive browser automation framework and end-to-end testing platform developed by Microsoft. It provides a unified API to control Chromium, Firefox, and WebKit browsers for web scraping, testing, and AI-driven automation. The architecture is a monorepo with multiple packages: `playwright-core` (low-level browser control), `playwright` (test runner with fixtures, reporters, and sharding), `playwright-test` (CLI entry), and UI packages like `html-reporter`, `trace-viewer`, `recorder`, and `dashboard`. Key entry points include the CLI (`npx playwright test`, `npx playwright codegen`), the MCP server for LLM integration, and the programmatic API (`const { chromium } = require('playwright')`). Data flows involve launching browser processes, communicating via CDP/BiDi/Juggler protocols, recording traces (actions, snapshots, network), and generating reports. External dependencies include Node.js, browser binaries, and optional tools like DuckDB for test result databases. The codebase demonstrates exceptional craftsmanship with clean separation of concerns, reusable isomorphic utilities, and a well-defined dispatcher pattern for client-server communication.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
google/guava ★ 51916 11208 APPLICATION

Guava is Google's production-grade core Java library, consumed as a dependency by thousands of projects. It provides high-performance collection types (immutable collections, multimaps, multisets, bimaps, tables), concurrency utilities (ListenableFuture, Futures, RateLimiter, Monitor, Service), a graph model and traversal APIs, caching, hashing, I/O, math, primitives, and string utilities. There are no application entry points, web endpoints, or CLI tools; the repository's "entry points" are the public APIs under com.google.common.*. Architecturally it is a multi-module Maven project with separate JRE and Android flavors, plus GWT/J2CL emulation sources and a dedicated test-support module, guava-testlib. The codebase demonstrates exceptionally high craftsmanship: lock-free concurrency, carefully memory-tuned immutable data structures, custom heap algorithms, and a generic collection-contract testing framework. It is actively maintained with regular releases, GitHub Actions CI, and security scorecard automation. The dual JRE/Android source trees and cross-platform emulation layers require deliberate synchronization, but this complexity is managed rigorously rather than showing signs of abandonment. No data-research or pipeline elements exist; this is a pure library/application dependency, not a data project.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ruby/ruby ★ 23769 5656 APPLICATION

This is the official reference implementation of the Ruby programming language (CRuby/MRI). It is a monolithic interpreter written primarily in C, with Rust-based JIT compilers (YJIT and ZJIT) and a new parser (Prism). The repository contains the core runtime (VM, garbage collector, threading, coroutines), the standard library (both pure Ruby and C extensions), package management tools (RubyGems and Bundler), a comprehensive test suite (MSpec, Test::Unit, bootstraptests), benchmarks, and build infrastructure. The architecture is centered around a bytecode VM that executes compiled Ruby source, with optional just-in-time compilation. Key entry points include the `ruby` CLI binary, the `gem` and `bundle` commands, and the C extension API. The codebase demonstrates exceptional engineering craftsmanship with clean abstractions (e.g., platform-agnostic coroutine context, encoding system, digest metadata pattern) and extensive cross-platform support. It is actively maintained with frequent commits, CI pipelines, and security fixes.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
istio/istio ★ 38427 8385 APPLICATION

Istio is a service mesh platform that provides traffic management, security, and observability for microservices. It consists of a control plane (Istiod), data plane proxies (Envoy or Ztunnel), and operational tools (istioctl, operator). The system secures service-to-service communication via mTLS and authorization policies, manages traffic routing and load balancing, and collects telemetry data. Architecture follows a modular design with clear separation between control plane (configuration distribution, certificate management), data plane (traffic interception and policy enforcement), and plug-in points (CNI, WebAssembly, gateway APIs). Key entry points include istioctl CLI, pilot-discovery control plane, and CNI node agent. The codebase demonstrates strong engineering practices with extensive testing, interface-based abstractions, and reusable utility libraries.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
jestjs/jest ★ 45465 6728 APPLICATION

This is the Jest monorepo, the widely adopted JavaScript testing framework. It is a CLI tool and library that discovers, executes, and reports on tests, with features like mocking, snapshot testing, code coverage, and parallel execution. The codebase is organized as a monorepo with dozens of packages covering the full test lifecycle: configuration loading, test discovery (haste map), module execution in a sandboxed runtime, assertion matchers, reporters, and watch mode. The architecture is modular, with packages separated by responsibility (jest-core, jest-circus, jest-runtime, jest-worker, etc.), all built in TypeScript. The entry point is `packages/jest-cli/bin/jest.js`, and the main orchestration happens in `packages/jest-core/src/cli/index.ts`.

RATING: 9.4/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
testcontainers/testcontainers-go ★ 5008 649 APPLICATION

Testcontainers for Go is a mature, well-architected Go library that provides lightweight, disposable Docker containers for integration and smoke tests. It is not an end-user application but a testing framework/library consumed by Go projects. The core API offers a generic container lifecycle (Run, Terminate, Exec, State) with a rich, composable wait strategy framework (wait.ForLog, wait.ForHTTP, wait.ForSQL, etc.) and lifecycle hooks. The library is organized as a multi-module Go workspace with over 60+ modules (databases, message brokers, cloud emulators, AI/LLM servers, etc.), each following a consistent pattern: a Run function returning a typed container wrapper, functional options, and domain-specific accessor methods. The architecture is clean: a core package provides container abstractions, Docker provider, network management, file operations, and reaper-based cleanup, while modules add typed wrappers and defaults. Key entry points include testcontainers.Run, module-specific Run functions, and the wait package. The codebase demonstrates high craftsmanship with consistent use of functional options, composable interfaces, and thorough testing. Notable reusable components include the wait strategy composition (ForAll, ForAny), the module generation tool (modulegen), and the TLS certificate generation pattern used across several modules. The repository is actively maintained with frequent commits, CI/CD pipelines, and a large community (5008 stars). Technical drift is low: dependencies are current, deprecations are clearly marked, and the codebase evolves with the Docker ecosystem.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
Codeception/Codeception ★ 4856 1276 APPLICATION

Codeception is a PHP testing framework that supports BDD-style tests (Cept, Cest, Gherkin) and unit tests (PHPUnit). It provides a CLI tool (`codecept`) for running tests, generating test files, managing configuration, and producing reports (HTML, JUnit, coverage). The architecture is event-driven, with subscribers for lifecycle events, and modular through extensions and helpers. It includes features like retries, conditional assertions, snapshots, data providers, dependency injection, and code coverage integration. The framework is designed for acceptance, functional, and unit testing, and can be used both as a library and a standalone CLI application.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 8 reusable components found
cypress-io/cypress ★ 51045 3650 APPLICATION

Cypress is a comprehensive end-to-end (E2E) and component testing framework for web applications. It operates as a monorepo containing a CLI (cli), a Node.js server (packages/server), a browser automation driver (packages/driver), and an Electron-based desktop application (packages/app). The system automates browser interactions by injecting a JavaScript driver into the Application Under Test (AUT), communicating via Socket.io and a custom HTTP proxy for network interception. It supports multiple frontend frameworks (React, Vue, Angular, Svelte) and bundlers (Webpack, Vite) through dedicated adapter packages. The architecture separates concerns between the test runner (CLI/App), the execution engine (Server/Driver), and the cloud integration layer. Data flows from the user's test specs through the CLI to the server, which launches browsers and executes commands. Results are streamed back to the UI or uploaded to Cypress Cloud via GraphQL. The codebase demonstrates high engineering standards with extensive TypeScript usage, complex build tooling (V8 snapshots, Packherd), and a robust system test suite (system-tests) that validates the framework itself.

RATING: 9.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
Quick/Quick ★ 9820 894 APPLICATION

Quick is a behavior-driven development (BDD) testing framework for Swift and Objective-C, inspired by RSpec, Specta, and Ginkgo. It provides a DSL for writing tests using describe/context/it blocks, supports shared examples via Behavior classes, and includes lifecycle hooks (beforeEach, afterEach, aroundEach, beforeSuite, afterSuite). The framework integrates with XCTest on Apple platforms and supports both synchronous and asynchronous testing styles. Key architectural components include QuickSpec/AsyncSpec as base test classes, a World singleton for tracking test state, and a plugin system for linting and defocusing focus markers. Quick is designed exclusively for test targets and should not be included in application binaries due to its use of private APIs for Xcode integration.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 2 reusable components found
karatelabs/karate ★ 8978 2045 APPLICATION

Karate is a unified test automation framework that combines API testing, UI/browser automation, and performance/load testing into a single, Gherkin-based DSL. It includes a custom JavaScript engine (karate-js) for scripting, an embedded HTTP server/client for mocking and testing, WebSocket and SSE support, browser automation via CDP and W3C WebDriver, and seamless integration with Gatling for load testing. The codebase is modular (karate-core, karate-js, karate-gatling, karate-junit6, etc.) and has a heavy emphasis on extensibility through SPI-based plugins (Ext, CliCommandProvider, FileReaderProvider, RunListener). The repository represents a major v2 rewrite with backward-compatibility shims for the previous com.intuit.karate package. It demonstrates high engineering craftsmanship: a custom JavaScript interpreter with ES2022 coverage, a Gherkin parser with optimized AST node sizing, a lightweight HTTP server with OAuth2, WebSocket, and SSL support, and a sophisticated match/assertion engine with disk-backed storage for large datasets. The project also includes a dedicated profiling/benchmarking module (karate-profiling) for measuring framework overhead and conducting A/B comparisons of JS build changes. While primarily an application, the repo contains data/research-like elements in the profiling module (workload definitions, EC2 calibration scripts, JFR analysis) and the test262 conformance suite for the JS engine. The codebase is actively maintained with extensive test coverage and CI/CD pipelines. Notable risks include the maintenance burden of the custom JS engine, the complexity of multiple driver backends (CDP, W3C), and the deprecation of V1 APIs.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
sheredom/utest.h ★ 993 73 APPLICATION

utest.h is a single-header unit testing framework for C and C++ that provides automatic test registration via constructor attributes, sophisticated assertion macros with expression tracking, and cross-platform support. The framework supports basic tests, fixture-based tests, and indexed/parameterized tests. It outputs results in both human-readable console format and machine-readable XML format. The implementation demonstrates high craftsmanship through its platform abstraction layer, memory-safe test registration system, and clever use of compiler-specific features to eliminate boilerplate. The core functionality is entirely self-contained within utest.h with no external dependencies beyond standard libraries.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 1 reusable components found
Quick/Nimble ★ 4834 609 APPLICATION

Nimble is a matcher framework for Swift and Objective-C that provides a domain-specific language for writing expressive test assertions. It supports both synchronous and asynchronous testing through expect()/require() APIs and includes extensive matchers for equality, identity, truthiness, collections, and async operations. The architecture features a core matcher protocol, DSL layer for expectation creation, adapters for different testing frameworks (XCTest, Swift Testing), and utilities for source location tracking and string conversion. The framework is designed exclusively for test suites and should not be included in production binaries.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
openclaw/crabline ★ 32 13 APPLICATION

Crabline is a deterministic local messaging-channel mocking framework for end-to-end testing of chat integrations. It provides a CLI tool and a TypeScript library that simulates 12+ messaging platforms (Discord, Slack, Telegram, WhatsApp, Matrix, etc.) via mock servers and provider adapters. The architecture is built around a provider adapter pattern with lazy loading, a JSONL-based event recorder with cross-process locking, and a fixture-driven test runner that supports probe, send, roundtrip, and agent modes. The system is configuration-driven via YAML manifests validated with Zod schemas, and it publishes readiness artifacts for integration with the OpenClaw QA ecosystem. The codebase demonstrates strong engineering practices: clean separation of concerns, extensive test coverage (including concurrency and edge cases), and reusable infrastructure components such as process-owned file locks, nonce generation, inbound message matchers, and webhook authentication policies. The mock servers faithfully replicate platform-specific APIs (REST, WebSocket, SSE) with configurable resource limits and admin inbound endpoints for injecting test messages. While primarily a testing tool, Crabline's components are designed for reuse: the recorder, lock system, and provider adapter base class can be extracted into other projects. The repository is actively maintained with CI/CD pipelines, dependency management, and a changelog. It is not a data research project; all data artifacts (JSONL logs) are operational evidence for test assertions, not analytical datasets.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
clojure/clojurescript ★ 9391 785 APPLICATION

ClojureScript is a compiler and toolchain that translates Clojure (a Lisp dialect) into JavaScript, targeting the Google Closure Compiler for advanced optimization. In production, it takes ClojureScript source files, analyzes them (macro expansion, type inference, namespace resolution), emits JavaScript, and optionally invokes the Closure Compiler for bundling, minification, and dead-code elimination. The system also provides a REPL (browser and Node.js), a self-hosted compiler (ClojureScript compiling ClojureScript), a full standard library (cljs.core, clojure.string, clojure.set, etc.), a testing framework (cljs.test), a specification system (cljs.spec.alpha), source-map support, and dependency management for npm/foreign JavaScript libraries. The architecture is a library/toolchain rather than a deployed service: it runs on the JVM via Clojure and can also self-host on JavaScript runtimes. Key entry points include the CLI (cljs.main), the build API (cljs.closure/build), the compiler API (cljs.compiler.api), and the analyzer API (cljs.analyzer.api). External dependencies include Clojure, Google Closure Compiler, Google Closure Library, tools.reader, Transit, and test.check. The codebase is large and mature, with extensive regression tests and a detailed changelog, though some samples and design documents are outdated.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
firsttris/vscode-jest-runner ★ 303 142 APPLICATION

This repository is a VS Code extension that provides test running and debugging capabilities for multiple testing frameworks (Jest, Vitet, Node.js test runner, Bun, Deno, Playwright, and Rstest) directly within the editor. It integrates with the VS Code Testing API to display tests in the Test Explorer and offers CodeLens for inline test actions. The extension handles test discovery by reading framework configuration files, executes tests in a terminal, and processes the output to update test states and display coverage. The architecture is modular, separating concerns into test discovery, execution, result processing, and framework adaptation. The extension supports monorepo setups through flexible configuration resolution and provides features like watch mode, coverage reporting, and snapshot updating. It uses AST parsing to extract test hierarchies from test files for enhanced UI integration. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive test coverage, and utilization of design patterns like strategy (for framework-specific adapters) and factory (for test runner creation).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
KasperskyLab/Kaspresso ★ 1924 180 APPLICATION

Kaspresso is a comprehensive Android UI testing framework built on top of Espresso (via Kakao) and UI Automator (via Kautomator), providing a Kotlin DSL for writing stable, readable tests. It offers extensive built-in reliability mechanisms: flaky safety (automatic retries with configurable timeouts), auto-scroll fallback, system dialog handling, and element reloading. The framework includes a modular interceptor architecture for customizing test behavior, device manipulation APIs (network, location, phone, permissions, logcat, screenshots, video recording), and integration with Allure for reporting and Jetpack Compose for modern UI testing. Additionally, it provides an ADB server for executing shell commands on the device and a command-line tool for generating page objects from UI dumps. The codebase is well-structured with multi-module Gradle projects, convention plugins, and extensive sample apps demonstrating real-world usage.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
openclaw/Kova ★ 11 8 APPLICATION

Kova is a validation lab for the OpenClaw runtime, designed to run release-shaped scenarios on real machines and collect structured evidence. It is a CLI tool written in Node.js (ESM) that orchestrates testing via the OpenClaw Control Manager (OCM), provisioning disposable environments, installing runtimes, and managing services. The system executes scenarios defined in declarative JSON contracts (surfaces, states, scenarios, profiles), collects performance metrics (RSS, CPU, latency, event-loop delays), and evaluates them against configurable thresholds. Results are produced as JSON reports, Markdown summaries, and a web dashboard built with Astro. The architecture is modular: a command dispatcher (src/main.mjs) routes to subcommands (run, matrix, report, setup, publish, self-check). The runner (src/runner.mjs) executes scenarios in phases, with collectors (src/collectors/) gathering evidence from processes, logs, timelines, and system state. An evaluator (src/evaluator.mjs) checks evidence against thresholds and produces violations. The reporting layer (src/reporting/) renders output in multiple formats. The system includes extensive self-checks (src/selfcheck/) that validate internal contracts and fixture behavior. Key external dependencies include Node.js, the OCM CLI, the OpenClaw runtime under test, and channel adapters (Telegram, Discord) for conformance testing. The codebase is well-structured with clear separation of concerns, reusable patterns (UI toolkit, evidence ledger, baseline management, channel conformance framework), and comprehensive validation of its own contracts.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
AirtestProject/Airtest ★ 9602 1454 APPLICATION

Airtest is a cross-platform UI automation testing framework developed by NetEase, primarily targeting mobile games and apps. It provides a unified Python API and CLI for automating interactions on Android, iOS, Windows, and Linux devices. The core mechanism is image recognition using computer vision algorithms (template matching, keypoint matching with SIFT/KAZE/BRISK, etc.) to locate UI elements, combined with device-specific input simulation via ADB, minitouch, WebDriverAgent, and pywinauto. The framework supports complex gestures, multi-touch, screen recording, and HTML report generation with step logs and screenshots. Architecturally, Airtest is a library with a CLI entry point (`airtest run/report/info`). It uses a device abstraction layer with platform-specific implementations (Android, IOS, Windows, Linux) that share a common API through `airtest.core.api`. The image matching is handled by the `aircv` subpackage, which offers multiple matching strategies configurable via `CVSTRATEGY`. The Android module employs a proxy pattern for screen capture (Minicap, Javacap, ADB) and touch input (Minitouch, Maxtouch, ADB), allowing runtime switching. The framework also integrates with the Poco UI hierarchy inspection tool and supports cloud device testing. While the primary focus is application testing, the repository includes a small benchmark directory that compares the performance of various image matching algorithms, producing metrics like CPU, memory, and keypoint counts. This is a minor component and does not shift the overall classification away from application. The codebase is well-structured with clear separation of concerns, but shows signs of technical debt such as Python 2 compatibility shims, pinned outdated dependencies (opencv-contrib-python ≤ 4.6.0.66, numpy < 2.0), and bundled precompiled binaries (minitouch, minicap, iproxy) that require periodic updates. The project is actively maintained with frequent commits and community engagement, but test coverage is limited due to reliance on real devices.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
skpm/skpm ★ 963 78 APPLICATION

skpm is a Sketch Plugin Manager providing a CLI utility to create, build, test, and publish Sketch plugins. It's structured as a monorepo with specialized packages: skpm (main CLI), builder (build/linking), create-sketch-plugin (plugin scaffolding), test-runner (testing framework), and shared utilities. The system handles the full plugin lifecycle from creation to publishing, including webpack/Babel compilation, asset bundling, GitHub integration for releases, and Sketch-specific features like developer mode toggling and log viewing.

RATING: 7.3/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: