Features

Everything you need for AI-native browser testing at enterprise scale.

Token-Efficient Automation API

The JS Agent API (look(), act(), wait()) is purpose-built for LLM consumption. Structured JSON responses with only actionable data — no DOM dumps, no HTML parsing.

  • 50-100x smaller responseslook() returns {role, name, locator, actions} per element, not raw HTML
  • Diff-mode — subsequent look() calls return only changes: 70-90% token reduction
  • Batch operations — a single JS code block can fill forms, click, and navigate in one HTTP request
  • Prompt caching — ~84% cache hit rate on the system prompt at 10% of regular input cost
Session transcript showing look() and act() API calls with structured JSON responses

Display-Text Locators

{button}Submit uses visible text instead of CSS selectors or XPath. When the app is refactored and element IDs change, display-text locators keep working.

This dramatically reduces maintenance — the #1 cost of traditional UI test suites. Karate's locator syntax is also shorter: 16 characters vs 30-42 for equivalent Playwright/XPath selectors, saving output tokens across every session.

// Karate Agent — display-text locators
act('{button}Submit', 'click')
act('{input}Email', 'input', 'user@example.com')
act('{a}Sign In', 'click')

// vs. traditional selectors
driver.findElement(By.xpath("//button[contains(text(),'Submit')]")).click()
page.locator('button:has-text("Submit")').click()

Bring Your Own LLM

No vendor lock-in to a specific AI provider. Configure any model your organization has approved — including local models via Ollama.

OpenRouter
100+ models
Anthropic
Claude (direct)
Ollama
Gemma, Llama, local
Any OpenAI-compatible
Single env var

Per-job model override lets teams A/B test providers. Use smaller models for routine jobs, larger models for exploratory work.

# Provider prefix handles routing
openrouter/anthropic/claude-sonnet-4-6
anthropic/claude-haiku-4-5
ollama/gemma3
ollama/llama3

# Single env var to switch
KARATE_LLM_MODEL=ollama/gemma3

100% Self-Hosted, Air-Gap Compatible

The entire platform — grid server, worker containers, dashboard — runs on your infrastructure. No data leaves your network.

  • Session transcripts, screenshots, and recordings stay on your file system
  • Suitable for regulated industries: financial services, healthcare, government
  • No cloud-based testing tool required
# Single-artifact deployment
docker pull karatelabs/karate-agent:latest
java -jar veriquant.jar grid --port 4444
# Open http://localhost:4444 → ready

# That's it. One jar. One image.
# No microservices. No databases.
# No message queues.

Flow System

Executable .js scripts run at native JavaScript speed. A login flow that takes 5 LLM iterations (~50s) executes in 2 seconds via Flow.run().

  • Compose flows — chain login → navigate → fill form → submit
  • Self-healing — flow failure returns error + page state. LLM recovers automatically
  • Deviation reporting — deviations flagged in the report so teams know which flows need maintenance
  • Plain JavaScript — no proprietary DSL, readable by any developer, version in git
Flow editor showing full-submission.js orchestrator with Flow.run() calls

MCP & API Access

Every capability is a REST endpoint or curl command. Built-in Model Context Protocol server with Streamable HTTP transport.

  • Single karate_eval tool — LLM writes JS, same as curl
  • Compatible with Claude Code (claude mcp add), VS Code Copilot
  • No sidecar process, no Node.js dependency
  • /prompt endpoint serves contextual API docs the LLM reads on-the-fly
# Connect any LLM agent via curl
curl -X POST http://localhost:4444/sessions/abc/proxy \
  -d '{ "js": "agent.look()" }'

# Or via MCP
claude mcp add karate http://localhost:4444/mcp

Recording & Reproducibility

Every session produces a complete audit trail. Recordings accelerate the entire team:

  • Failure diagnosis — review video + transcript instead of reproducing 12-step workflows
  • Flow development — watch successful autonomous sessions, extract patterns, codify as flows
  • Onboarding — new team members watch recordings to learn app navigation and locator patterns
  • Stakeholder demos — share recordings with product owners. They see exactly what was tested.
Agent test report with LLM summary, statistics, and screen progression

Enterprise SPA Support

Cursor-pointer discovery catches <div onclick> targets in Guidewire, Salesforce, ServiceNow — apps where standard locator strategies fail.

Two-pass element discovery: semantic HTML + ARIA roles first, then cursor:pointer elements. A page with 500 DOM nodes yields ~20-40 actionable elements.

Live browser session with noVNC view and command stream

See It In Action

Book a demo to see how Karate Agent handles your application.

Book a Demo