$ bns environments deploy --run-tests

E2E Tests on Real
Infrastructure.

Run Cypress, Playwright, or Selenium against full-stack environments. Every PR, every push. Automated.

No credit card required

B
Environments / e2e-suite / Test Run #89
$ bns test run --suite e2e
▸ Provisioning environment... done (2m 14s)
▸ Running Playwright suite...
   auth/login.spec.ts          4 passed (3.2s)
   auth/signup.spec.ts         6 passed (4.1s)
   checkout/cart.spec.ts       8 passed (5.7s)
   checkout/payment.spec.ts    5 passed (3.9s)
   api/orders.spec.ts          1 failed (2.1s)
23 passed · 1 failed · 0 skipped
▸ Environment auto-destroying...
How Bunnyshell works — architecture diagram

$ cat how-it-works.md

How Bunnyshell works

01

Connect your repo

Link your GitHub, GitLab, or Bitbucket repository. Define your environment using Docker Compose, Helm, or Terraform — tools you already use.

GitHubGitHub
GitLabGitLab
BitbucketBitbucket
DockerDocker
HelmHelm
K8sK8s
02

Open a pull request

Bunnyshell auto-provisions an isolated, full-stack environment for every PR. Share the preview URL with your team.

PR #142env-142.preview.bunnyshell.dev• Running
PR #143env-143.preview.bunnyshell.dev• Running
PR #144env-144.preview.bunnyshell.dev• Running
03

Merge and move on

Tests pass, code is reviewed, PR merges. The environment auto-destroys. No cleanup. No surprise cloud bills.

End-to-end tests passed
Code review approved
Merged — environment destroyed

See it in action.

Run your first automated E2E test suite in under 30 minutes. Free tier — no credit card required.

01

Full-Stack Environments
Per Test Suite.

Every test suite runs against a complete, isolated environment. Frontend, backend, database, third-party services — all running together. Not mocked. Not stubbed.

  • Isolated per suiteeach test suite gets its own full-stack environment. No shared state, no flaky tests
  • Production paritysame containers, same networking, same configs as production. Catch real bugs
  • Parallel suitesrun auth, checkout, and API suites simultaneously across separate environments
  • Auto-provisionedenvironments spin up before tests and tear down after. Zero manual setup
See environment components
B
Environments / PR #312 — feat/payments / Test Suites
SuiteEnvironmentTestsResult
e2e-authenv-auth-pr31210/10Passed
e2e-checkoutenv-checkout-pr31213/13Passed
e2e-dashboardenv-dash-pr3128/8Passed
e2e-apienv-api-pr3126/71 Failed
02

Cypress. Playwright.
Selenium. Any Framework.

Bring your existing test framework. Bunnyshell provisions the environment and gives you the URL. Your CI pipeline runs the tests. No vendor lock-in.

  • Framework agnosticCypress, Playwright, Selenium, TestCafe, Puppeteer — any framework that hits a URL
  • CI/CD integrationGitHub Actions, GitLab CI, Jenkins, CircleCI. Native actions and orbs available
  • Test artifacts collectionscreenshots, videos, traces, and logs collected automatically after each run
  • Custom test commandsdefine your own test scripts. Bunnyshell provides the environment, you run the tests
See CI/CD integration docs
B
CI / GitHub Actions / e2e-pipeline.yml
# .github/workflows/e2e.yml
name: E2E Tests
on: [pull_request]
 
jobs:
  e2e:
    runs-on: ubuntu-latest
    steps:
      - uses: bunnyshell/deploy@v2
      - run: npx playwright test
        env:
          BASE_URL: ${{ steps.bns.outputs.url }}
      - uses: bunnyshell/destroy@v2
Cypress Playwright Selenium
03

Test on Every PR.
Automatically.

Configure once. Every pull request triggers an environment + test run. Results posted back to the PR as a comment. Merge with confidence.

  • Auto-trigger on PRopen a PR and tests start running. No manual trigger, no CI config per branch
  • Results in PR commentstest results, pass/fail counts, and artifact links posted directly to your PR
  • Block merge on failureconfigure branch protection to require passing E2E tests before merge
  • Parallel PR testingten PRs open? Ten environments running tests simultaneously. No queue
See auto-trigger setup
bunnyshellbotcommented just now

E2E Test Results — 23 passed, 1 failed

SuiteTestsStatus
auth/login.spec.ts4/4✓ Passed
checkout/cart.spec.ts8/8✓ Passed
api/orders.spec.ts6/7✗ 1 Failed

View full report | Download artifacts | Re-run failed

04

Test Reports
& Artifacts.

Collect screenshots, videos, traces, and logs from every test run. Debug failures without re-running. Historical test data across environments.

  • Screenshots & videoscapture visual evidence of every test. See exactly what the browser rendered
  • Playwright tracesdownload and replay Playwright traces locally. Step through every action
  • Test history per environmenttrack pass rates, flaky tests, and regressions across runs and environments
  • Failure debuggingstack traces, console logs, and network requests — all collected automatically
See artifact collection docs
B
Environments / PR #312 / Test Run #89 / Artifacts
FileTypeSuiteSize
📷 checkout-failure.pngScreenshotcheckout/payment142 KB
🔍 orders-test-trace.zipPlaywright Traceapi/orders2.1 MB
🎦 e2e-run-89.mp4Videocheckout/cart8.4 MB
📄 test-run-89.logLogAll suites34 KB

E2E testing that works
for your whole team.

QA Engineers

Dedicated test environments

Every test cycle gets its own full-stack environment. Run E2E, regression, and smoke tests in complete isolation.

Developers

Test before merge

E2E tests run on every PR automatically. See results in the PR comment. Merge only when tests pass.

Platform Teams

Standardize test infrastructure

Define test environments in code. Same YAML, same infrastructure, every time. No flaky tests from environment drift.

Release Managers

Gate releases with confidence

Block deploys on test failure. Full test history per release. Know exactly what was tested.

Performance Engineers

Load test on real infra

Run load tests against production-grade environments. Measure p50, p95, p99 on real infrastructure.

Engineering Leaders

Ship faster with fewer bugs

Automated E2E on every PR catches regressions before merge. Fewer production incidents, faster release cycles.

Catch bugs before your users do.

Automated E2E tests on every pull request. Full-stack environments, real infrastructure. 14-day trial, no credit card.

Teams that automated
end-to-end testing.

Enterprise-grade security.
Your data stays in your cloud.

Bunnyshell connects to YOUR Kubernetes cluster. Your code and data never leave your infrastructure. SOC 2, ISO 27001, and ISO 9001 compliant.

SOC 2
ISO 27001
ISO 9001

RBAC

Three-layer permission model: Policies, Resource Selectors, and Teams. Granular enough for enterprise.

SSO

Enterprise single sign-on. Integrate with your existing identity provider.

Network Isolation

Dedicated Kubernetes namespace per environment. Pods accessible only within their namespace.

Secrets Management

Environment variables and secrets handled securely. Never hard-coded, always encrypted.

IP Whitelisting

Restrict access to specific IP ranges. Control who can reach your environments.

Audit Logs

Full audit trail for every environment action. Who deployed what, when, and where.

Frequently asked
questions

Can’t find what you’re looking for? Talk to our team

Bunnyshell is framework-agnostic. Cypress, Playwright, Selenium, TestCafe, Puppeteer — any framework that can hit a URL works. Bunnyshell provisions the full-stack environment and gives your CI pipeline the URL. Your existing test commands run unchanged.

Every PR deserves a full-stack test.

Automated E2E testing on real infrastructure. Start free — deploy your first test environment in minutes. No credit card required.