Safe Haskell | None |
---|
Test.WebDriver.Types
Contents
- newtype WD a = WD (StateT WDSession IO a)
- data WDSession = WDSession {}
- defaultSession :: WDSession
- newtype SessionId = SessionId Text
- data Capabilities = Capabilities {
- browser :: Browser
- version :: Maybe String
- platform :: Platform
- proxy :: ProxyType
- javascriptEnabled :: Maybe Bool
- takesScreenshot :: Maybe Bool
- handlesAlerts :: Maybe Bool
- databaseEnabled :: Maybe Bool
- locationContextEnabled :: Maybe Bool
- applicationCacheEnabled :: Maybe Bool
- browserConnectionEnabled :: Maybe Bool
- cssSelectorsEnabled :: Maybe Bool
- webStorageEnabled :: Maybe Bool
- rotatable :: Maybe Bool
- acceptSSLCerts :: Maybe Bool
- nativeEvents :: Maybe Bool
- defaultCaps :: Capabilities
- allCaps :: Capabilities
- data Platform
- data ProxyType
- = NoProxy
- | UseSystemSettings
- | AutoDetect
- | PAC { }
- | Manual { }
- data Browser
- firefox :: Browser
- chrome :: Browser
- ie :: Browser
- opera :: Browser
- iPhone :: Browser
- iPad :: Browser
- android :: Browser
- data FFLogPref
- newtype Element = Element Text
- newtype WindowHandle = WindowHandle Text
- currentWindow :: WindowHandle
- data Selector
- data JSArg = forall a . ToJSON a => JSArg a
- data FrameSelector
- data Cookie = Cookie {}
- mkCookie :: Text -> Text -> Cookie
- data Orientation
- data MouseButton
- data WebStorageType
- newtype InvalidURL = InvalidURL String
- newtype NoSessionId = NoSessionId String
- newtype BadJSON = BadJSON String
- data HTTPStatusUnknown = HTTPStatusUnknown (Int, Int, Int) String
- newtype HTTPConnError = HTTPConnError ConnError
- newtype UnknownCommand = UnknownCommand String
- newtype ServerError = ServerError String
- data FailedCommand = FailedCommand FailedCommandType FailedCommandInfo
- data FailedCommandType
- = NoSuchElement
- | NoSuchFrame
- | UnknownFrame
- | StaleElementReference
- | ElementNotVisible
- | InvalidElementState
- | UnknownError
- | ElementIsNotSelectable
- | JavascriptError
- | XPathLookupError
- | Timeout
- | NoSuchWindow
- | InvalidCookieDomain
- | UnableToSetCookie
- | UnexpectedAlertOpen
- | NoAlertOpen
- | ScriptTimeout
- | InvalidElementCoordinates
- | IMENotAvailable
- | IMEEngineActivationFailed
- | InvalidSelector
- | MoveTargetOutOfBounds
- | InvalidXPathSelector
- | InvalidXPathSelectorReturnType
- | MethodNotAllowed
- data FailedCommandInfo = FailedCommandInfo {}
- data StackFrame = StackFrame {}
- mkFailedCommandInfo :: String -> WD FailedCommandInfo
- failedCommand :: FailedCommandType -> String -> WD a
WebDriver sessions
A monadic interface to the WebDriver server. This monad is a simple, strict
layer over IO
, threading session information between sequential commands
Information about a WebDriver session. This structure is passed
implicitly through all WD
computations, and is also used to configure the WD
monad before execution.
Constructors
WDSession | |
Fields
|
defaultSession :: WDSessionSource
A default session connects to localhost on port 4444, and hasn't been
created yet. This value is the same as def
but with a more specific type.
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.
Capabilities and configuration
data Capabilities Source
A structure describing the capabilities of a session. This record serves dual roles.
- It's used to specify the desired capabilities for a session before it's created. In this usage, fields that are set to Nothing indicate that we have no preference for that capability.
- When received from the server , it's used to describe the actual capabilities given to us by the WebDriver server. Here a value of Nothing indicates that the server doesn't support the capability. Thus, for Maybe Bool fields, both Nothing and Just False indicate a lack of support for the desired capability.
Constructors
Capabilities | |
Fields
|
Same as defaultCaps
, but with all Maybe Bool capabilities set to
Just True.
Represents platform options supported by WebDriver. The value Any represents no preference.
Available settings for the proxy Capabilities
field
Constructors
NoProxy | |
UseSystemSettings | |
AutoDetect | |
PAC | Use a proxy auto-config file specified by URL |
Fields | |
Manual | Manually specify proxy hosts as hostname:port strings. Note that behavior is undefined for empty strings. |
Browser-specific configuration
Browser setting and browser-specific capabilities.
Constructors
Firefox | |
Fields | |
Chrome | |
Fields
| |
IE | |
Fields | |
Opera | (Opera-specific configuration coming soon!) |
HTMLUnit | |
IPhone | |
IPad | |
Android |
Default settings for browsers
Default Chrome settings. All Maybe fields are set to Nothing, no options are specified, and no extensions are used.
Default IE settings. ignoreProtectedModeSettings
is set to True.
For Firefox
sessions; indicates Firefox's log level
WebDriver objects and command-specific types
An opaque identifier for a web page element.
currentWindow :: WindowHandleSource
A special WindowHandle
that always refers to the currently focused window.
Specifies element(s) within a DOM tree using various selection methods.
An existential wrapper for any ToJSON
instance. This allows us to pass
parameters of many different types to Javascript code.
data FrameSelector Source
Specifies the frame used by focusFrame
Constructors
WithIndex Integer | |
WithName Text | focus on a frame by name or ID |
WithElement Element | focus on a frame Element |
DefaultFrame | focus on the first frame, or the main document if iframes are used. |
Cookies are delicious delicacies. When sending cookies to the server, a value of Nothing indicates that the server should use a default value. When receiving cookies from the server, a value of Nothing indicates that the server is unable to specify the value.
Constructors
Cookie | |
Fields
|
mkCookie :: Text -> Text -> CookieSource
Creates a Cookie with only a name and value specified. All other fields are set to Nothing, which tells the server to use default values.
data Orientation Source
A screen orientation
Exceptions
newtype NoSessionId Source
A command requiring a session ID was attempted when no session ID was available.
Constructors
NoSessionId String |
An error occured when parsing a JSON value.
data HTTPStatusUnknown Source
An unexpected HTTP status was sent by the server.
Constructors
HTTPStatusUnknown (Int, Int, Int) String |
newtype UnknownCommand Source
A command was sent to the WebDriver server that it didn't recognize.
Constructors
UnknownCommand String |
data FailedCommand Source
This exception encapsulates a broad variety of exceptions that can occur when a command fails.
Constructors
FailedCommand FailedCommandType FailedCommandInfo |
data FailedCommandType Source
The type of failed command exception that occured.
Constructors
data FailedCommandInfo Source
Detailed information about the failed command provided by the server.
Constructors
FailedCommandInfo | |
Fields
|
data StackFrame Source
An individual stack frame from the stack trace provided by the server during a FailedCommand.
Constructors
StackFrame | |
Fields
|
Instances
mkFailedCommandInfo :: String -> WD FailedCommandInfoSource
Constructs a FailedCommandInfo from only an error message.
failedCommand :: FailedCommandType -> String -> WD aSource
Convenience function to throw a FailedCommand
locally with no server-side
info present.