Safe Haskell | None |
---|---|
Language | Haskell98 |
This module serves as the top-level interface to the Haskell WebDriver bindings, providing most of the functionality you're likely to want.
- newtype WD a = WD (StateT WDSession IO a)
- data WDConfig = WDConfig {}
- defaultConfig :: WDConfig
- runWD :: WDSession -> WD a -> IO a
- runSession :: WDConfig -> WD a -> IO a
- withSession :: WDSession -> WD a -> WD a
- finallyClose :: WebDriver wd => wd a -> wd a
- closeOnException :: WebDriver wd => wd a -> wd a
- dumpSessionHistory :: (MonadIO wd, WebDriver wd) => wd a -> wd a
- module Test.WebDriver.Commands
- 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
- unexpectedAlertBehavior :: Maybe UnexpectedAlertBehavior
- additionalCaps :: [Pair]
- defaultCaps :: Capabilities
- allCaps :: Capabilities
- data Platform
- data ProxyType
- = NoProxy
- | UseSystemSettings
- | AutoDetect
- | PAC { }
- | Manual { }
- data Browser
- = Firefox { }
- | Chrome { }
- | IE {
- ieIgnoreProtectedModeSettings :: Bool
- ieIgnoreZoomSetting :: Bool
- ieInitialBrowserUrl :: Maybe Text
- ieElementScrollBehavior :: IEElementScrollBehavior
- ieEnablePersistentHover :: Bool
- ieEnableElementCacheCleanup :: Bool
- ieRequireWindowFocus :: Bool
- ieBrowserAttachTimeout :: Integer
- ieLogFile :: Maybe FilePath
- ieLogLevel :: IELogLevel
- ieHost :: Maybe Text
- ieExtractPath :: Maybe Text
- ieSilent :: Bool
- ieForceCreateProcess :: Bool
- ieSwitches :: Maybe Text
- | Opera {
- operaBinary :: Maybe FilePath
- operaProduct :: Maybe String
- operaDetach :: Bool
- operaAutoStart :: Bool
- operaIdle :: Bool
- operaDisplay :: Maybe Int
- operaLauncher :: Maybe FilePath
- operaPort :: Maybe Word16
- operaHost :: Maybe String
- operaOptions :: Maybe String
- operaLogFile :: Maybe FilePath
- operaLogPref :: LogLevel
- | HTMLUnit
- | IPhone
- | IPad
- | Android
- | Browser Text
- data LogLevel
- firefox :: Browser
- chrome :: Browser
- ie :: Browser
- opera :: Browser
- iPhone :: Browser
- iPad :: Browser
- android :: Browser
- module Test.WebDriver.Exceptions
WebDriver sessions
A monadic interface to the WebDriver server. This monad is simply a
state monad transformer over IO
, threading session information between sequential webdriver commands
WebDriver session configuration
WDConfig | |
|
defaultConfig :: WDConfig Source
A default session config connects to localhost on port 4444, and hasn't been
initialized server-side. This value is the same as def
but with a less
polymorphic type.
Running WebDriver tests
runSession :: WDConfig -> WD a -> IO a Source
Executes a WD
computation within the IO
monad, automatically creating a new session beforehand.
NOTE: session is not automatically closed. If you want this behavior, use finallyClose
.
withSession :: WDSession -> WD a -> WD a Source
finallyClose :: WebDriver wd => wd a -> wd a Source
A finalizer ensuring that the session is always closed at the end of
the given WD
action, regardless of any exceptions.
closeOnException :: WebDriver wd => wd a -> wd a Source
Exception handler that closes the session when an asynchronous exception is thrown, but otherwise leaves the session open if the action was successful.
dumpSessionHistory :: (MonadIO wd, WebDriver wd) => wd a -> wd a Source
Prints a history of API requests to stdout after computing the given action.
WebDriver commands
module Test.WebDriver.Commands
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.
Capabilities | |
|
allCaps :: Capabilities Source
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
NoProxy | |
UseSystemSettings | |
AutoDetect | |
PAC | Use a proxy auto-config file specified by URL |
Manual | Manually specify proxy hosts as hostname:port strings. Note that behavior is undefined for empty strings. |
Browser-specific configuration
This constructor simultaneously specifies which browser the session will
use, while also providing browser-specific configuration. Default
configuration is provided for each browser by firefox
, chrome
, opera
,
ie
, etc.
This library uses firefox
as its Default
browser configuration, when no
browser choice is specified.
Firefox | |
| |
Chrome | |
| |
IE | |
| |
Opera | |
| |
HTMLUnit | |
IPhone | |
IPad | |
Android | |
Browser Text | some other browser, specified by a string name |
Default Firefox settings. All Maybe fields are set to Nothing. ffLogPref
is set to LogInfo
.
Default Chrome settings. All Maybe fields are set to Nothing, no options are specified, and no extensions are used.
Default IE settings. See the IE
constructor for more details on
individual defaults
Default Opera settings. See the Opera
constructor for more details on
individual defaults.
Exceptions
module Test.WebDriver.Exceptions