Wallabidi.Chrome (wallabidi v0.2.14)

Copy Markdown View Source

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

start_session_opts()

@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

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

default_capabilities()

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.