Stop fighting 1-pixel false positives. BugHunters Vision uses Multimodal AI to evaluate Playwright tests like a human QA. Zero cloud storage. 100% InfoSec friendly.
Not ready to run it? See a real report from the live demo ↗
Trusted by QA teams who hate flaky tests. Built by BugHunters.
A banner shifted 2 pixels. Pixel diffing panics. Our AI understands context.
No more babysitting visual tests. No more security trade-offs.
We don't want your data. Baseline images stay in your repository. Reports are generated locally. Our API is a stateless evaluator — images are destroyed immediately after evaluation.
Dynamic dates? A/B tested colors? Tell our AI what to ignore — in plain English. Stop maintaining fragile ignore-regions that break with every redesign.
Don't pay AI for identical screenshots. Our built-in local
pixelmatch
intercepts 100% matches for free. You only pay for an API call when the UI actually changes.
Plugs into your playwright.config.ts.
VS Code Playwright extension & UI mode work out of the box.
Results appear as annotations & attachments directly in the native Playwright HTML report too.
Call vision.check() multiple times per test — each step gets its own baseline and report entry, auto-grouped under the parent test.
Enable bvFailMode: 'soft' to let a test run to the end even when a visual step fails.
One command publishes a full test summary — passed checks, AI failure reasons, method badges — directly into GitHub Step Summary, GitLab, Bitbucket, CircleCI, or Jenkins. Pipeline turns red exactly when BHV detects a real regression.
Open-source misses dynamic data. Enterprise tools demand your UI screenshots. We solve both.
Banking, health, fintech teams: your UI screenshots never leave your infrastructure. See the full demo →
Native Playwright support today. Cypress and Robot Framework arriving next.
Drop-in integration — vision.check(), locator support, soft/hard fail mode,
CI/CD Markdown summaries and an interactive HTML report out of the box.
Native cy.task() plugin — pixelmatch locally, AI call only on real diff.
Zero config changes to your existing Cypress setup.
Get early access + launch discount:
Python library compatible with SeleniumLibrary and Browser.
Pillow/OpenCV Fast Pixel Match. Built for enterprise & Paranoia Tier teams.
Get early access + launch discount:
Register the reporter in playwright.config.ts,
replace screenshot assertions with vision.check().
Your existing test structure stays exactly the same.
export default defineConfig({
reporter: [[
'@bughunters/vision/reporter',
{ snapshotsDir: './bhv-snapshots' }
]],
use: {
screenshot: 'off', // BHV handles screenshots
bvMode: 'ai', // 'ai' | 'strict' | 'off'
bvFailMode: 'hard', // 'hard' | 'soft'
} as Record<string, unknown>,
});
import { test } from '@playwright/test';
import { vision } from '@bughunters/vision';
test('Checkout page', async ({ page }) => {
await page.goto('/checkout');
// Replaces the native toHaveScreenshot()
await vision.check(page, 'checkout',
'Ignore the dynamic delivery date.
Ensure the Pay button is enabled.'
);
});
BugHunters Vision runs natively in GitHub Actions, GitLab CI, Bitbucket Pipelines, CircleCI, and Jenkins — anywhere Playwright runs. One command publishes a rich Markdown summary directly into the workflow summary.
GitHub Actions Step Summary — live run against bughunters.dev
cat bhv-report/summary.md >> $GITHUB_STEP_SUMMARY
bhv-snapshots/ committed with your code. Every runner gets the same reference via git checkout.Scale from Pay-As-You-Go to Enterprise. Zero vendor lock-in, no hidden fees.
Self-serve purchases are temporarily paused.
Self-serve purchases are temporarily paused.
We reply within 24 hours.
For fintech, health & defence teams.
Self-serve trials and purchases are temporarily paused. Existing API tokens keep working. Interested in access, an on-premise setup, or a pilot? Drop us a line — we read everything.
Contact us →
Our demo kit is public on GitHub. Clone it, add your token, run npm run setup and see all 9 scenarios — AI passes vs. native Playwright false positives — on your own machine.