wallaby
Wallaby is an Elixir library for writing concurrent browser tests that simulate real user interactions with web applications. It manages multiple browser instances automatically, allowing tests to run in parallel and even model multi-user scenarios.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | elixir-wallaby/wallaby |
| Owner | elixir-wallaby |
| Primary language | Elixir |
| License | MIT — OSI-approved |
| Stars | 1.8k |
| Forks | 211 |
| Open issues | 54 |
| Latest release | v0.31.0 (2026-06-27) |
| Last updated | 2026-06-29 |
| Source | https://github.com/elixir-wallaby/wallaby |
What wallaby is
Wallaby provides a DSL for ExUnit-based browser automation tests in Elixir, supporting concurrent test execution via WebDriver (Chrome, Firefox, Selenium). It integrates with Phoenix, Ecto, and LiveView, offering database sandbox isolation for parallel test safety.
Get the wallaby source
Clone the repository and explore it locally.
git clone https://github.com/elixir-wallaby/wallaby.gitcd wallaby# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires Elixir 1.17+, OTP 26+, and bash; Alpine Linux deployments need explicit bash installation.
- WebDriver (chromedriver or geckodriver) must be installed separately and kept in sync with browser versions.
- Ecto Sandbox setup mandatory for concurrent tests; LiveView testing requires on_mount hooks and user_agent wiring.
- Assets must be recompiled before test runs (esbuild or Webpack integration); cached assets can mask test failures.
- Base URL configuration and Phoenix endpoint server mode required; works best with database supporting sandbox mode.
When to avoid it — and what to weigh
- Non-Elixir or non-Phoenix stack — Wallaby is tightly coupled to Elixir/Phoenix; projects using Rails, Django, or Node.js should evaluate Capybara, Selenium, or Playwright instead.
- Headless or serverless test infrastructure — Wallaby requires running WebDriver instances (Chrome, Firefox); containerized or cloud-based CI without persistent browser processes adds complexity.
- Visual regression or pixel-perfect testing — Wallaby lacks built-in visual diffing; projects needing screenshot comparison should integrate a separate visual testing library.
- Cross-browser testing at scale — While concurrent, Wallaby does not natively support Sauce Labs, BrowserStack, or distributed grid scaling; manual driver configuration required.
License & commercial use
MIT License. Permissive OSI-approved license permitting commercial use, modification, and distribution with attribution.
MIT License explicitly permits commercial use. However, verify that any WebDriver dependencies (chromedriver, geckodriver, Selenium) comply with your commercial licensing requirements independently.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Strong |
| Assessment confidence | High |
Wallaby executes tests against real browser instances and application servers; ensure test environments are isolated from production. WebDriver exposes browser automation APIs; restrict WebDriver port access. Database sandbox isolation required to prevent test data leaks. No explicit security audit or disclosure policy documented.
Alternatives to consider
Capybara (Ruby on Rails)
Mature, wide ecosystem, but locked to Rails; not applicable if using Elixir/Phoenix.
Cypress (JavaScript/TypeScript)
Modern, better DX for single-page apps, strong documentation; requires JavaScript test suite separate from backend code.
Playwright (multi-language)
Cross-browser, language-agnostic, excellent parallelism; Elixir support via wrapper; less Phoenix-native than Wallaby.
Build on wallaby with DEV.co software developers
Start with the official Hex documentation and review WebDriver setup for your CI environment. Ensure Ecto Sandbox is configured for safe concurrent testing.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
wallaby FAQ
Can I run Wallaby tests in CI without a display server?
Does Wallaby support JavaScript assertion frameworks like Jest?
How does Wallaby handle flaky tests or timing issues?
What is the performance impact of concurrent browser sessions?
Work with a software development agency
Need help beyond evaluating wallaby? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source testing integrations — and maintain them long-term.
Ready to add Wallaby to your Phoenix test suite?
Start with the official Hex documentation and review WebDriver setup for your CI environment. Ensure Ecto Sandbox is configured for safe concurrent testing.