webdriver-w3c-0.0.3: Bindings to the WebDriver API
Copyright2018 Automattic Inc.
LicenseGPL-3
MaintainerNathan Bloomfield (nbloomf@gmail.com)
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Web.Api.WebDriver.Types

Description

The WebDriver protocol involves passing several different kinds of JSON objects. We can encode these as types to make our DSL more robust; this module is a grab bag of these types. For each one we need ToJSON and FromJSON instances, and sometimes also a default value.

Note that while the WebDriver spec defines some JSON objects, in general a given WebDriver server can accept additional properties on any given object. Our types here will be limited to the "spec" object signatures, but our API will need to be user extensible.

Synopsis

Stringy Types

data ContextType Source #

Type of a top level browsing context; see https://html.spec.whatwg.org/#top-level-browsing-context.

Constructors

WindowContext 
TabContext 

Instances

Instances details
Bounded ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON ContextType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

type AttributeName = Text Source #

Used with getElementAttribute.

type PropertyName = Text Source #

Used with getElementProperty.

type AriaRole = Text Source #

Used with getComputedRole

type AriaLabel = Text Source #

Used with getComputedLabel

type Script = Text Source #

Javascript

type CookieName = Text Source #

Used with getNamedCookie.

type CssPropertyName = Text Source #

Used with getElementCssValue.

Capabilities

data Capabilities Source #

Constructors

Capabilities 

Fields

data BrowserName Source #

Used in Capabilities.

Constructors

Firefox 
Chrome 
Safari 

Instances

Instances details
Bounded BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON BrowserName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

data PlatformName Source #

Used in Capabilities.

Constructors

Mac 

Instances

Instances details
Bounded PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON PlatformName Source # 
Instance details

Defined in Web.Api.WebDriver.Types

defaultFirefoxCapabilities :: Capabilities Source #

All members set to Nothing except _browserName, which is Just Firefox.

headlessFirefoxCapabilities :: Capabilities Source #

Passing the "-headless" parameter to Firefox.

defaultChromeCapabilities :: Capabilities Source #

All members set to Nothing except _browserName, which is Just Chrome.

data LogLevel Source #

Proxy

emptyProxyConfig :: ProxyConfig Source #

ProxyConfig object with all members set to Nothing.

data ProxyType Source #

Constructors

ProxyPac
pac
ProxyDirect
direct
ProxyAutodetect
autodetect
ProxySystem
system
ProxyManual
manual

Timeout

emptyTimeoutConfig :: TimeoutConfig Source #

TimeoutConfig object with all members set to Nothing.

Input and Actions

data InputSource Source #

Instances

Instances details
Bounded InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON InputSource Source # 
Instance details

Defined in Web.Api.WebDriver.Types

data PointerSubtype Source #

Constructors

PointerMouse
mouse
PointerPen
pen
PointerTouch
touch

Instances

Instances details
Bounded PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON PointerSubtype Source # 
Instance details

Defined in Web.Api.WebDriver.Types

emptyAction :: Action Source #

All members set to Nothing except _actionItems, which is the empty list.

data ActionType Source #

Constructors

PauseAction
pause
KeyUpAction
keyUp
KeyDownAction
keyDown
PointerDownAction
pointerDown
PointerUpAction
pointerUp
PointerMoveAction
pointerMove
PointerCancelAction
pointerCancel

Instances

Instances details
Bounded ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON ActionType Source # 
Instance details

Defined in Web.Api.WebDriver.Types

emptyActionItem :: ActionItem Source #

All members set to Nothing.

Print

data Orientation Source #

Constructors

Landscape 
Portrait 

Instances

Instances details
Bounded Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON Orientation Source # 
Instance details

Defined in Web.Api.WebDriver.Types

newtype Scale Source #

Constructors

Scale Scientific 

Instances

Instances details
Eq Scale Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

(==) :: Scale -> Scale -> Bool #

(/=) :: Scale -> Scale -> Bool #

Show Scale Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

showsPrec :: Int -> Scale -> ShowS #

show :: Scale -> String #

showList :: [Scale] -> ShowS #

Arbitrary Scale Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

arbitrary :: Gen Scale #

shrink :: Scale -> [Scale] #

ToJSON Scale Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON Scale Source # 
Instance details

Defined in Web.Api.WebDriver.Types

data Page Source #

Constructors

Page 

Fields

Instances

Instances details
Eq Page Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

(==) :: Page -> Page -> Bool #

(/=) :: Page -> Page -> Bool #

Show Page Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

showsPrec :: Int -> Page -> ShowS #

show :: Page -> String #

showList :: [Page] -> ShowS #

Arbitrary Page Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

arbitrary :: Gen Page #

shrink :: Page -> [Page] #

ToJSON Page Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON Page Source # 
Instance details

Defined in Web.Api.WebDriver.Types

data Margin Source #

Constructors

Margin 

Instances

Instances details
Eq Margin Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

(==) :: Margin -> Margin -> Bool #

(/=) :: Margin -> Margin -> Bool #

Show Margin Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary Margin Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON Margin Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON Margin Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Misc

data LocationStrategy Source #

Constructors

CssSelector
css selector
LinkTextSelector
link text
PartialLinkTextSelector
partial link text
TagName
tag name
XPathSelector
xpath

Instances

Instances details
Bounded LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON LocationStrategy Source # 
Instance details

Defined in Web.Api.WebDriver.Types

data Rect Source #

Instances

Instances details
Eq Rect Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

(==) :: Rect -> Rect -> Bool #

(/=) :: Rect -> Rect -> Bool #

Show Rect Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

showsPrec :: Int -> Rect -> ShowS #

show :: Rect -> String #

showList :: [Rect] -> ShowS #

Arbitrary Rect Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Methods

arbitrary :: Gen Rect #

shrink :: Rect -> [Rect] #

ToJSON Rect Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON Rect Source # 
Instance details

Defined in Web.Api.WebDriver.Types

emptyRect :: Rect Source #

All members set to `0`.

data PromptHandler Source #

Constructors

DismissPrompts
dismiss
AcceptPrompts
accept
DismissPromptsAndNotify
dismiss and notify
AcceptPromptsAndNotify
accept and notify
IgnorePrompts
ignore

Instances

Instances details
Bounded PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Enum PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Eq PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Show PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

Arbitrary PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

ToJSON PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

FromJSON PromptHandler Source # 
Instance details

Defined in Web.Api.WebDriver.Types

cookie Source #

Arguments

:: Text
name
-> Text
value
-> Cookie 

All members other than name and value set to Nothing.

emptyCookie :: Cookie Source #

All members set to Nothing.

Error Responses

data ResponseErrorCode Source #