The Chrome driver speaks WebDriver BiDi to a chromium-bidi standalone
server (Wallabidi.Chrome.BidiServer), which forwards to Chrome over
CDP.
All test sessions multiplex over one shared Chrome instance via BiDi
userContexts — each test gets its own isolated profile (cookies,
localStorage, etc.) and a fresh browsingContext (tab) within it.
This matches Playwright's "one browser, many contexts" model.
Usage
{:ok, session} = Wallabidi.start_session()Configuration
Chrome runs headless by default. Pass [window_size: [width: W, height: H]]
to start_session/1 to override the viewport.
Summary
Types
Options to pass to Wallabidi.start_session/1
Functions
Returns a specification to start this module under a supervisor.
Returns the default BiDi capabilities used by Wallabidi-managed sessions. Mostly a starting point for users who want to merge in their own capabilities — the chromium-bidi server applies its own Chrome launch args independently.
Types
@type start_session_opts() :: {:capabilities, map()} | {:window_size, keyword()} | {:metadata, map()}
Options to pass to Wallabidi.start_session/1
:capabilities— extra capabilities to merge into the session struct:window_size— initial viewport size as[width: w, height: h]:metadata— beam metadata appended to the user-agent (Ecto sandbox)
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Returns the default BiDi capabilities used by Wallabidi-managed sessions. Mostly a starting point for users who want to merge in their own capabilities — the chromium-bidi server applies its own Chrome launch args independently.