webdriver-0.12.0.0: a Haskell client for the Selenium WebDriver protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.WebDriver.Commands.Internal

Description

Internal functions used to implement the functions exported by Test.WebDriver.Commands. These may be useful for implementing non-standard webdriver commands.

Synopsis

Low-level webdriver functions

doCommand Source #

Arguments

:: (WebDriver wd, HasCallStack, ToJSON a, FromJSON b) 
=> Method

HTTP request method

-> Text

URL of request

-> a

JSON parameters passed in the body of the request. Note that, as a special case, anything that converts to Data.Aeson.Null will result in an empty request body.

-> wd b

The JSON result of the HTTP request.

Commands with :sessionId URL parameter

doSessCommand :: (HasCallStack, WebDriver wd, ToJSON a, FromJSON b) => Method -> Text -> a -> wd b Source #

This a convenient wrapper around doCommand that automatically prepends the session URL parameter to the wire command URL. For example, passing a URL of "refresh" will expand to "session:sessionIdrefresh", where :sessionId is a URL parameter as described in https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol

newtype SessionId Source #

An opaque identifier for a WebDriver session. These handles are produced by the server on session creation, and act to identify a session in progress.

Constructors

SessionId Text 

Commands with element :id URL parameters

doElemCommand :: (HasCallStack, WebDriver wd, ToJSON a, FromJSON b) => Method -> Element -> Text -> a -> wd b Source #

A wrapper around doSessCommand to create element URLs. For example, passing a URL of "/active" will expand to "session:sessionIdelement:id/active", where :sessionId and :id are URL parameters as described in the wire protocol.

newtype Element Source #

An opaque identifier for a web page element.

Constructors

Element Text 

Commands with :windowHandle URL parameters

doWinCommand :: (HasCallStack, WebDriver wd, ToJSON a, FromJSON b) => Method -> WindowHandle -> Text -> a -> wd b Source #

A wrapper around doSessCommand to create window handle URLS. For example, passing a URL of "/size" will expand to "session:sessionIdwindow:windowHandle/", where :sessionId and :windowHandle are URL parameters as described in the wire protocol

newtype WindowHandle Source #

An opaque identifier for a browser window

Constructors

WindowHandle Text 

Instances

Instances details
FromJSON WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

ToJSON WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

Read WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

Show WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

Default WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

Methods

def :: WindowHandle #

Eq WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

Ord WindowHandle Source # 
Instance details

Defined in Test.WebDriver.Commands.Internal

currentWindow :: WindowHandle Source #

A special WindowHandle that always refers to the currently focused window. This is also used by the Default instance.

Exceptions

newtype NoSessionId Source #

A command requiring a session ID was attempted when no session ID was available.

Constructors

NoSessionId String