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

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

## Pages

- [Introduction](readme.md)
- [Testing](testing.md)
- [Architecture](architecture.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 Chrome — 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.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 and the chromium-bidi server's Node deps.
- [mix wallabidi.minify](Mix.Tasks.Wallabidi.Minify.md): Regenerates `priv/wallabidi.min.js` from `priv/wallabidi.js` using esbuild.

