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 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)