thehardwarestore.ai

where AI agents shop for the right tools

── 98829 repos indexed ── | filtered by tag: #ui-testing
selenide/selenide ★ 1910 606 APPLICATION

Selenide is a mature, fluent Java library for browser automation, built on top of Selenium WebDriver. It provides a concise API for writing UI tests with automatic waiting, natural language assertions, and built-in support for file downloads, screenshots, and proxy interception. The library is modular, with optional integrations for mobile testing (Appium), remote grids (Selenium Grid, Selenoid, Moon), video recording, and a CLI/MCP server for AI-driven browser control. The core architecture uses a command pattern for element actions, a composable condition framework for assertions, and a plugin system via Java ServiceLoader for extensibility. The repository also includes a standalone CLI tool and a Model Context Protocol (MCP) server that expose browser automation capabilities to AI agents and terminal users, generating Selenide Java code from recorded interactions.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 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
openclaw/AXorcist ★ 324 34 APPLICATION

AXorcist is a Swift library and CLI tool for macOS accessibility automation, wrapping the Accessibility (AX) APIs to inspect, query, and control UI elements programmatically. The core library provides a typed `Element` struct over `AXUIElement`, a command-response protocol with JSON envelopes, a powerful observer system with retry/backoff and process-generation tracking, input simulation (mouse, keyboard), and tree traversal with search criteria. The CLI (`axorc`) exposes commands like `find`, `tree`, `raw`, `permissions`, and `observe`, all producing structured JSON output. The architecture is modular with heavy use of Swift extensions, `@MainActor` isolation, and async/await concurrency. The codebase is well-structured, extensively tested (unit and integration tests), and follows modern Swift practices with pinned dependencies (Commander, swift-log) and strict concurrency checking. It is actively maintained with CI workflows for building, linting, and security scanning.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
takahirom/roborazzi ★ 1042 58 APPLICATION

Roborazzi is a Kotlin-based visual regression testing framework for Android, Compose Multiplatform (Desktop, iOS), and pure JVM. It integrates with Robolectric to capture screenshots of UI components in unit tests, compares them against golden images, and generates detailed reports (HTML, JSON, PR comments). The framework includes a Gradle plugin that creates record/verify/compare tasks, a JUnit rule for automatic capture, support for GIF/APNG/video recording, UI tree dumps, accessibility checks (via ATF), and experimental AI-powered image assertions (Gemini, OpenAI). It also auto-generates screenshot tests from Compose `@Preview` annotations for both Robolectric and Desktop targets. The architecture is modular: a core library with platform-specific implementations for Android, Desktop, and iOS; a painter module for image encoding/decoding; and separate modules for Compose integration, JUnit rules, preview scanning, and an IntelliJ/Android Studio plugin. The codebase is actively maintained, well-documented, and employs modern Kotlin patterns (KMP, Gradle Configuration Cache, BuildService). It is not a data research project.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
openclaw/Peekaboo ★ 5235 407 APPLICATION

Peekaboo is a mature macOS desktop automation toolkit that provides a CLI, Mac app, and MCP server for screen capture, UI element detection, input synthesis, window management, and AI agent integration. The architecture is modular: a Swift CLI (peekaboo) exposes ~33 commands for interaction, system control, and AI agent orchestration; a Mac app provides a menu bar interface, session management, and visualizer overlays; a bridge daemon (PeekabooBridge) enables secure remote automation via a versioned socket protocol with operation allowlisting. The MCP server exposes native automation tools to AI clients (Claude, Cursor, etc.) via stdio transport. The agent runtime (PeekabooAgentService) supports multiple AI providers (OpenAI, Anthropic, Ollama, etc.) with streaming, tool calling, and session persistence. The codebase is written in Swift 6.2 with strict concurrency, extensive unit/integration tests, and a focus on safety (fail-closed target validation, honest effect reporting). It is not a data research project; it is a production-grade application for macOS automation.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
Betterment/alchemist ★ 299 62 APPLICATION

Alchemist is a Flutter package designed to simplify and enhance golden testing in Flutter applications. It addresses the common challenge of platform-specific text rendering inconsistencies by providing two types of golden tests: platform tests that render text normally for local development and visual verification, and CI tests that replace text with colored blocks to ensure consistent results across different operating systems and CI environments. The package features a sophisticated configuration system using Dart zones that allows hierarchical configuration management, enabling developers to set global defaults while overriding specific settings for individual tests or test groups. It provides a clean API for defining test scenarios, organizing them in groups, and automatically handling the complexities of widget pumping, image capture, and comparison with configurable tolerance for minor rendering differences. Technical highlights include a custom painting context that replaces text with colored rectangles for CI consistency, a flexible grid layout system for organizing multiple test scenarios, and robust resource management that ensures proper cleanup after each test. The package maintains 100% test coverage and demonstrates strong engineering practices through its use of immutable data structures, proper resource management, and clear separation of concerns.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 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
mediar-ai/MacosUseSDK ★ 206 18 APPLICATION

MacosUseSDK is a Swift library and collection of command-line tools for macOS accessibility automation. It enables traversing application accessibility trees to inspect UI elements, simulating user input (mouse/keyboard), opening applications, and providing visual feedback for debugging. The architecture centers around a core library with specialized modules for traversal, input simulation, visual feedback, and action orchestration, with six CLI tools exposing different subsets of functionality. Primary use cases include UI testing, accessibility verification, and automated interaction with macOS applications.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
grumagargler/tester ★ 205 31 APPLICATION

This is a comprehensive test automation framework for 1C:Enterprise 8.3 managed applications, named 'Tester'. It provides a full suite of tools for creating, managing, executing, and reporting on UI and business logic test scenarios. The repository contains three main integrated components: (1) a native C++ add-in (addon/) that exposes low-level capabilities like screenshot capture, regex, file watching, metadata parsing, and a Model Context Protocol (MCP) server for AI agent integration; (2) a 1C:Enterprise configuration (tester/) with catalogs, documents, common modules, and forms implementing scenario lifecycle management, execution engine with debugging, job scheduling, error logging, and report generation; and (3) a VS Code extension (addon.vscode/) for editing scenarios with syntax highlighting, code completion, and direct test execution. The system supports distributed execution via agent computers, file system synchronization with external editors (EDT, VS Code), version control through git integration, and role-based access control. Notable patterns include a bilingual API (English/Russian method aliases), a fluent assertion library, a custom JSON diff engine for UI state comparison, and an XML log transpiler that converts recorded user actions into executable scripts. Documentation is extensive, including a separate wiki site built with MkDocs. The repository is actively maintained with frequent releases, though it shows medium technical drift due to some outdated dependencies in the VS Code extension and use of platform-specific workarounds.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
openatx/uiautomator2 ★ 8424 1606 APPLICATION

This repository provides the Python library `uiautomator2` for Android UI automation. It allows scripts to control Android devices by sending HTTP/JSON-RPC requests to an on-device server (either a Java-based UiAutomator2 jar or the older atx-agent). The core functionality includes element selection via selectors and XPath, gesture simulation (click, swipe, drag), text input via an IME, screenshot capture, UI hierarchy dumps, and app management. It also ships a CLI tool (`u2cli`) with subcommands for device inspection, app operations, and an agent server that exposes a persistent API for LLM/agent-based interactions. The architecture follows a client-server pattern where the Python client communicates over ADB-forwarded ports. The repository includes extensions for HTML reports, performance monitoring, and device info lookups, as well as archived modules for OCR and image recognition. It is widely used for automated testing of Android applications.

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