Documentation
Blop documentation
Everything you need to write, run, and ship intent-based browser tests.
Intent-based agentic browser testing. Describe what to verify; an AI agent drives a real browser to figure out how.
import { agentTest, describe } from "@blopai/cli";
describe("onboarding", () => {
agentTest("user can create a project", async ({ agent }) => {
await agent.goto("/");
await agent.goal(`
Sign in as the test user.
Create a project called Checkout QA.
Verify the project appears in the dashboard.
`);
});
});Why Blop
- Intent over selectors. Goals stay readable when the UI changes. No more
brittle
data-testidchains or hand-written click sequences for every flow. - Real browser, real Playwright. The agent drives Chromium, Firefox, or WebKit through controlled native tools. No arbitrary script execution, no shell escapes.
- CI-native output. Every run writes
results.json, anevents.jsonlstream, JUnit XML, and screenshots into.blop/for any pipeline to consume. - Local-first, platform-ready. Run on your laptop today. The same result schema is built to upload to Blop Platform when you want hosted history, triage, and synthetic checks.
What you get out of the box
- DSL:
agentTest,describe,defineAgentTest - CLI:
blop test,blop watch,blop list,blop init - Browser tools: navigation, mouse, keyboard, forms, assertions, screenshots
- Reporters: JSON results, JSONL event log, JUnit XML
- Config:
blop.config.tswith full TypeScript types - Providers: OpenRouter (default), OpenAI, Groq, xAI, Mistral, Cerebras, and NVIDIA over the OpenAI chat-completions protocol; Anthropic and Google route through OpenRouter
The framework and blop CLI are shipped and open source. The hosted control
plane (failure clustering, self-healing pull requests, and synthetic
monitoring) is in early access; see the Roadmap for what is
live today versus what is coming.
Ready? Head to Getting Started.