butterbee/webdriver

The webdriver module contains the WebDriver type and functions to create and configure webdriver sessions.

Types

Signals that the webdriver session holds no state

pub type Empty {
  Empty
}

Constructors

  • Empty

Represents a webdriver session

pub type WebDriver(state) {
  WebDriver(
    socket: option.Option(@internal WebDriverSocket),
    context: option.Option(browsing_context.BrowsingContext),
    config: option.Option(config.ButterbeeConfig),
    state: Result(state, @internal ButterbeeError),
  )
}

Constructors

  • WebDriver(
      socket: option.Option(@internal WebDriverSocket),
      context: option.Option(browsing_context.BrowsingContext),
      config: option.Option(config.ButterbeeConfig),
      state: Result(state, @internal ButterbeeError),
    )

    Arguments

    socket

    The socket to the webdriver server

    context

    The browsing context of the webdriver session

    config

    The config used during the webdriver session

    state

    Some state that is returned from a command (e.g. node.value() fills state with Result(String, error.ButterbeeError))

Values

pub fn do(
  webdriver: WebDriver(state),
  action: fn(WebDriver(state)) -> WebDriver(new_state),
) -> WebDriver(new_state)

Perform an action using the webdriver and update the webdriver state

pub fn get_config(
  driver: WebDriver(state),
) -> Result(config.ButterbeeConfig, @internal ButterbeeError)
pub fn get_context(
  driver: WebDriver(state),
) -> Result(
  browsing_context.BrowsingContext,
  @internal ButterbeeError,
)
pub fn get_socket(
  driver: WebDriver(state),
) -> Result(@internal WebDriverSocket, @internal ButterbeeError)
pub fn get_state(
  webdriver: WebDriver(state),
) -> Result(state, @internal ButterbeeError)
pub fn map_state(
  state: Result(new_state, @internal ButterbeeError),
  webdriver: WebDriver(state),
) -> WebDriver(new_state)
pub fn new() -> WebDriver(Empty)
pub fn with_config(
  webdriver: WebDriver(state),
  config: config.ButterbeeConfig,
) -> WebDriver(state)
pub fn with_context(
  webdriver: WebDriver(state),
  context: browsing_context.BrowsingContext,
) -> WebDriver(state)
pub fn with_socket(
  webdriver: WebDriver(state),
  socket: @internal WebDriverSocket,
) -> WebDriver(state)
pub fn with_state(
  webdriver: WebDriver(state),
  state: Result(new_state, @internal ButterbeeError),
) -> WebDriver(new_state)
Search Document