Test Everything
The only testing framework that does integration, E2E, and visual regression testing. All without a staging environment.
Install Dokkimi and run your first test in minutes.
Built for AI
Dokkimi was built to integrate seamlessly into your agentic coding workflow. Your agent already understands your application E2E, now you can let it test it properly.
Why Dokkimi?
Unit tests mock away the interesting parts. Staging environments drift from reality. Dokkimi gives you production-like environments on demand.
E2E UI Testing
Drive a real browser alongside your services. Click, type, navigate, and assert on what the user sees.
Visual Regression
Screenshot any step, diff against baselines. Catch visual regressions before they ship.
Traffic Interception
Capture every HTTP call between services. Assert on exactly what was sent and received.
Mock External APIs
Intercept calls to external APIs such as Stripe, Auth0, Twilio, and more. Return controlled responses. No test accounts needed.
Isolated Environments
Every test run gets its own namespace with dedicated services, databases, and browser. No shared state. No corrupted tests.
Database Seeding & Queries
Seed Postgres, MySQL, MongoDB, or Redis before tests with custom data. Query directly in assertions to verify content.
AI Agent Integrated
Dokkimi definitions are designed for coding agents. Let Claude, Cursor, or Copilot write and debug your tests.
Zero Code Changes
Your services run unmodified. Dokkimi wires up sidecars, routing, DNS, browser, and cleanup.
Unmatched Coverage
Most tools only cover a slice. Dokkimi covers the whole picture.
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
steps:
# Drive the browser through the publish flow
- action:
type: ui
target: web-app
steps:
- visit: /posts/new
- type:
selector: '#title'
text: 'My new post'
- click: '[data-testid="publish-btn"]'
- waitFor: '[data-testid="success-toast"]'
- screenshot: post-published
assertions:
# Verify the API call went through correctly
- match:
origin: web-app
method: POST
url: api-gateway/v1/posts
assertions:
- path: response.statusCode
operator: eq
value: 201
# Confirm the API wrote to the database
- assertions:
- match:
origin: post-service
destination: postgres-db
assertions:
- path: request.query
operator: contains
value: INSERT INTO posts
# Query the database directly to verify
- action:
type: dbQuery
database: postgres-db
query: "SELECT title FROM posts WHERE title = 'My new post'"
assertions:
- assertions:
- path: response.rows.length
operator: eq
value: 1 Declare services, databases, mocks, and UI flows in YAML. Reference shared fragments with $ref.
dokkimi run deploys everything into an isolated K8s namespace — 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. Cloud CI/CD pricing coming soon.
Local
- Run on your machine with Docker + Kubernetes
- Unlimited test definitions and runs
- E2E UI testing with headless Chromium
- Visual regression with screenshot diffing
- Traffic interception, mocks, and database assertions
- CLI + AI agent integration
Cloud CI/CD
- Run tests in your CI/CD pipeline
- GitHub Actions, GitLab CI, and more
- Ephemeral cloud sandboxes
- Parallel test execution at scale
- Team dashboards and history
Stay in the loop
New features, tutorials, and tips every two weeks. No spam.