# wallabidi v0.4.0-rc.11 - Table of Contents

> Concurrent browser testing for Elixir, powered by WebDriver BiDi. A fork of Wallaby.

## Pages

- [Introduction](readme.md)

- Guides
  - [Setup](setup.md)
  - [Test Isolation](isolation.md)
  - [API](api.md)
  - [Migrating from Wallaby](migrating.md)

- Internals
  - [Architecture](architecture.md)
  - [Testing](testing.md)

## Modules

- [Wallabidi](Wallabidi.md): A concurrent feature testing library.
- [Wallabidi.Browser](Wallabidi.Browser.md): The Browser module is the entrypoint for interacting with a real browser.
- [Wallabidi.BrowserPaths](Wallabidi.BrowserPaths.md): Finds browser binaries — either a local binary to launch or a remote
URL to connect to.
- [Wallabidi.DSL](Wallabidi.DSL.md): Sets up the Wallabidi DSL in a module.
- [Wallabidi.Element](Wallabidi.Element.md): Defines an Element Struct and interactions with Elements.
- [Wallabidi.Feature](Wallabidi.Feature.md): Helpers for writing features.
- [Wallabidi.Helpers.KeyCodes](Wallabidi.Helpers.KeyCodes.md): Shortcuts for various keys.
- [Wallabidi.LiveView](Wallabidi.LiveView.md): Helpers for testing LiveView pages where you need to observe state
*during* a server round-trip — not just after it completes.
- [Wallabidi.LiveView.Driver](Wallabidi.LiveView.Driver.md): Direct LiveView driver — connects to LiveViews via Phoenix channels
without a browser. Same wallabidi API, no Chrome/Docker required.
- [Wallabidi.Query](Wallabidi.Query.md): Provides the query DSL.
- [Wallabidi.Session](Wallabidi.Session.md): Struct containing details about the webdriver session.

- [Wallabidi.Test.SlowTestGuard](Wallabidi.Test.SlowTestGuard.md): Custom ExUnit formatter that flags tests exceeding a runtime budget.

- Exceptions
  - [Wallabidi.BadMetadataError](Wallabidi.BadMetadataError.md)
  - [Wallabidi.CookieError](Wallabidi.CookieError.md)
  - [Wallabidi.DependencyError](Wallabidi.DependencyError.md)
  - [Wallabidi.DriverError](Wallabidi.DriverError.md)
  - [Wallabidi.ExpectationNotMetError](Wallabidi.ExpectationNotMetError.md)
  - [Wallabidi.JSError](Wallabidi.JSError.md)
  - [Wallabidi.NavigationTimeoutError](Wallabidi.NavigationTimeoutError.md)
  - [Wallabidi.NoBaseUrlError](Wallabidi.NoBaseUrlError.md)
  - [Wallabidi.QueryError](Wallabidi.QueryError.md)
  - [Wallabidi.StaleReferenceError](Wallabidi.StaleReferenceError.md)

## Mix Tasks

- [mix test.browsers](Mix.Tasks.Test.Browsers.md): Runs the integration test suite once per listed browser.
- [mix wallabidi.install](Mix.Tasks.Wallabidi.Install.md): Installs Chrome for Testing, Lightpanda, and the chromium-bidi
server's Node deps — everything the browser drivers need, into one
project-local `.browsers/` dir.
- [mix wallabidi.install.chrome](Mix.Tasks.Wallabidi.Install.Chrome.md): Installs Chrome for Testing and the chromium-bidi server's Node deps
into `.browsers/`, recording the binary path in `.browsers/PATHS`.
- [mix wallabidi.install.lightpanda](Mix.Tasks.Wallabidi.Install.Lightpanda.md): Installs the Lightpanda binary into a version-stamped
`.browsers/lightpanda/<target>-<release>/` dir (mirroring Chrome's
`.browsers/chrome/<target>-<version>/` layout so releases coexist) and
records the binary path in `.browsers/PATHS`.
- [mix wallabidi.minify](Mix.Tasks.Wallabidi.Minify.md): Regenerates `priv/wallabidi.min.js` from `priv/wallabidi.js` using esbuild.

