awizemann/harness

AI-driven user testing for iOS Simulator, macOS apps, and web apps. Write a goal in plain language; an LLM agent drives the UI and reports friction. macOS 14+, Swift 6.

解決的問題

Harness 透過模擬真實的人類行為而非依賴僵化的腳本化 UI 測試來自動執行使用者測試。它透過讓 AI Agent 嘗試完成應用程式中的特定目標,幫助開發人員識別 UX 摩擦——例如死胡同、含義模糊的標籤或無回應的控制項。

工作原理

使用者以自然語言提供目標(例如「註冊並建立一個清單」)和角色(例如「首次使用的使用者」)。隨後,LLM Agent 透過讀取螢幕截圖並執行點擊、打字或捲動等操作與目標應用程式進行互動。該系統使用 "Set-of-Mark" 目標定位技術,在互動元素上覆蓋編號徽章,以便 Agent 可以透過 ID 而非不精確的像素座標進行點擊。它支援透過 Ollama 進行本地推理,或透過 Anthropic、OpenAI 和 Google 等雲端提供商進行推理。

適用對象

  • iOS/macOS 開發人員: 在模擬器或桌面環境中測試原生應用。
  • Web 開發人員: 透過嵌入式瀏覽器檢視測試 Web 應用程式。
  • QA 工程師: 執行自主使用者流程測試,並接收有關成功、失敗和摩擦點的詳細報告。

亮點

  • 多平台支援: 驅動 iOS 模擬器、macOS 應用程式和 Web 應用程式。
  • 真實用戶模擬: 專注於 UX 摩擦和目標完成,而非腳本化路徑。
  • Set-of-Mark 目標定位: 在互動元素上使用編號覆蓋層,以確保精確的 Agent 互動。
  • 靈活的推理: 支援透過 Ollama(使用 Qwen3-VL 等視覺模型)進行本地執行,或使用高端雲端 LLM。
  • 豐富的產出物: 生成可回放的操作序列、成功/失敗摘要以及帶有時間戳的摩擦點報告。