Discover and explore top open-source AI tools and projects—updated daily.
awizemannAI agent for simulating user testing
New!
Top 97.4% on SourcePulse
Summary
Harness provides AI-driven user testing for iOS Simulator, macOS, and web applications. It allows users to define goals in plain language, which an LLM agent then executes by interacting with the UI, simulating real user behavior and identifying UX friction. This offers a powerful alternative to traditional scripted UI tests for developers and QA teams.
How It Works
The core approach employs an LLM agent that interprets plain-language goals and personas to drive UI interactions. It leverages platform-specific drivers: WebDriverAgent for iOS Simulator, native macOS APIs (CGEvent, AXUIElement) for macOS apps, and WKWebView for web apps. A key innovation is "Set-of-Mark" targeting, which overlays numbered badges on interactive elements, enabling the agent to target them precisely by ID (tap_mark(id)) rather than unreliable screen coordinates. This significantly improves interaction reliability. The system also supports local LLM inference via Ollama, allowing for private, offline testing at zero cost, albeit with a performance trade-off. Outputs include goal completion status, a replayable action sequence, and detailed friction reports.
Quick Start & Requirements
xcodegen and idb-companion via Homebrew, run xcodegen generate, and open the Xcode project.xcodegen and idb-companion. macOS Screen Recording and Accessibility permissions are necessary.Highlighted Details
tap_mark(id)) across all platforms using accessibility trees and shadow DOM probing.harness-cli: A development-time driver sharing core logic, enabling rapid iteration on prompts and models without full application rebuilds.Maintenance & Community
The project emphasizes clear contribution guidelines (CONTRIBUTING.md) and maintains its Wiki alongside code. The roadmap is documented in docs/ROADMAP.md.
Licensing & Compatibility
Limitations & Caveats
The project is in alpha (v0.5.0), indicating potential instability. Local LLM inference is significantly slower and may yield lower-quality friction reports compared to cloud-based models. Web testing is restricted to WebKit environments.
6 days ago
Inactive