BrowserBase Integration
Route Donobu test sessions through BrowserBase cloud browsers for CI environments, high parallelism, or sites with bot detection.
BrowserBase is a cloud browser infrastructure service. Donobu can route test sessions through BrowserBase instead of launching a local Playwright browser, which is useful for CI environments, high parallelism, or sites that employ bot detection.
When to use BrowserBase
- CI without a display server: cloud browsers run headlessly without requiring
xvfbor similar - High parallelism: run many concurrent sessions without managing local browser processes
- Bot detection bypass: BrowserBase browsers appear more like real users to fingerprinting-based protections
- Consistent environment: remove browser version discrepancies between developer machines and CI
Configuration
Set two environment variables before running your tests:
export BROWSERBASE_API_KEY=your_browserbase_api_key
export BROWSERBASE_PROJECT_ID=your_browserbase_project_id
No code changes are required. When both variables are present, Donobu automatically routes all browser sessions through BrowserBase instead of launching a local Chromium instance.
GitHub Actions example
- name: Run tests (BrowserBase)
env:
DONOBU_API_KEY: ${{ secrets.DONOBU_API_KEY }}
BROWSERBASE_API_KEY: ${{ secrets.BROWSERBASE_API_KEY }}
BROWSERBASE_PROJECT_ID: ${{ secrets.BROWSERBASE_PROJECT_ID }}
run: npx donobu test
What changes compared to local execution
- Browser launch: Donobu connects to a BrowserBase-managed browser over a remote debugging protocol rather than spawning a local process
- Session lifecycle: BrowserBase manages session isolation and cleanup
- Network routing: traffic from the browser originates from BrowserBase's infrastructure, not your machine or CI runner
All Donobu and Playwright APIs work identically — page.ai, page.find, page.changeTab, etc. behave the same way.
Limitations and considerations
- BrowserBase usage is metered — factor session costs into your CI budget
- Very long-running tests may hit BrowserBase session time limits; check your plan's limits and keep
timeoutvalues reasonable - Some Playwright features that require direct access to the browser process (e.g.
page.context().setOffline) may behave differently in a remote session — consult BrowserBase's documentation for compatibility details