Test Everything
The only testing framework that does integration, E2E, and visual regression testing. All without a staging environment.
Unit tests cover your logic. Browser tests cover your UI.
Dokkimi ensures everything works together seamlessly.
Built for AI
Your agent already understands your application E2E — now you can let it test it properly. Dokkimi ships with a full MCP server and auto-registers with your AI tools on install.
Why Dokkimi?
Your existing tests are great at what they do. Dokkimi tests the parts they were never built to reach.
Test Across Your Whole Stack
Drive a real browser, hit real services, query real databases, and mock external APIs, all in one test. Assert on what the user sees and what your backend does.
Assert on What You Can't See
Intercept every HTTP call between services. Inspect database queries. Mock external APIs like Stripe and Auth0 with controlled responses. Assert on the traffic other tools never capture.
Scale the Environment to the Test
Define only what you need. One service and a mock, or your full stack with seeded databases. Seed Postgres, MySQL, MongoDB, or Redis with custom data. Every test gets its own isolated namespace.
Built for AI
Ships with a full MCP server. Your AI agent can write, validate, run, and debug tests directly. YAML/JSON definitions and structured output mean agents work with Dokkimi natively.
Every testing layer covers a piece.
Dokkimi fills in the rest.
How It Works
Define your services, databases, and tests in simple YAML/JSON. Dokkimi handles the rest.
# .dokkimi/blog/definitions/publish-post.yaml
name: author-publish-flow
items:
- $ref: ../shared/web-app.yaml
- $ref: ../shared/api-gateway.yaml
- $ref: ../shared/post-service.yaml
- $ref: ../shared/postgres-db.yaml
- $ref: ../shared/mock-auth0-jwks.yaml
tests:
- name: Publish a new post
steps:
# Drive the browser through the publish flow
- action:
type: ui
url: http://web-app:3000/posts/new
subSteps:
- action: type
selector: '#title'
value: 'My new post'
- action: click
selector: '[data-testid="publish-btn"]'
- action: waitForSelector
selector: '[data-testid="success-toast"]'
- action: screenshot
name: post-published
assertions:
# Verify the API call went through correctly
- match:
path: $.traffic
where:
- path: $$.origin
operator: eq
value: web-app
- path: $$.request.method
operator: eq
value: POST
- path: $$.request.url
operator: contains
value: api-gateway/v1/posts
count: 1
assertions:
- path: $.match.response.status
operator: eq
value: 201
# Query the database directly to verify
- action:
type: dbQuery
database: postgres-db
query: "SELECT title FROM posts WHERE title = 'My new post'"
assertions:
- count: $.response.data
operator: eq
value: 1Declare services, databases, mocks, and UI flows in YAML. Reference shared fragments with $ref.
dokkimi run deploys everything into an isolated Docker environment — services, database, browser, and all.
Assert on HTTP traffic between services, query the database directly, and diff screenshots against baselines for visual regression detection.
Learn More
Dive into the docs or follow a step-by-step tutorial.
Pricing
Free to run locally and in CI. Cloud pricing coming soon.
Community
- Run on your machine with Docker
- Unlimited test definitions and runs
- E2E UI testing with headless Chromium
- Visual regression with screenshot diffing
- Traffic interception, mocks, and database assertions
- CI/CD with the GitHub Action
- CLI + AI agent integration
Dokkimi Cloud
- Zero infrastructure — no Docker setup required
- Fast parallel execution across dedicated VMs
- Test results dashboard and history
- Flaky test detection and regression tracking
- Visual baseline management UI
Ready to test everything?
Install Dokkimi and run your first test in minutes.
brew install dokkimi/tap/dokkimi