Show HN: Biloba: fast and stable Chrome-based browser tests in Go and Vitest (github.com)

1 points by onsi ↗ HN
I wrote Ginkgo and Gomega over a decade ago. Biloba's the browser-testing library I've always wanted. It's 2-3x faster than playwright and allows you to write expressive parallelizable browser tests and automations in Ginkgo and Gomega (for Go) and Vitest (for TypeScript).

Pragmatic atomic Javascript operations (b.Click("#foo") => foo.click()) give you speed and stability by trading off realism. Opting back into realism (scroll then emit pointer click event) where you need it is as easy as b.Realistic().Click("#foo").

And it's designed from the ground-up to be agent-friendly. Failure messages include DOM outlines, paths to saved screenshots, and polling traces so agents can pinpoint failures quickly. Visual regression tests produce diff images and textual descriptions that point agents at what changed. A set of Claude Code skills describes best practices for finding and eliminating flakes, and keeping them gone.

Performance numbers: https://github.com/onsi/biloba?tab=readme-ov-file#performanc... Docs: https://github.com/onsi/biloba?tab=readme-ov-file#performanc...

1 comment

[ 0.21 ms ] story [ 8.2 ms ] thread
I tried biloba on my existing playwright test suite and got a 2.5X improvement in runtime over playwright, and in the process improved a few flaky tests so they're now rock solid! And claude/codex do really really well working with Biloba, even more so than with playwright. Since I block my release pipeline on these tests, that speedup means I get to deploy changes much faster!