Safe Haskell | None |
---|---|
Language | Haskell2010 |
WebDriverPreCore
Synopsis
- data W3Spec a
- = Get {
- description :: Text
- path :: UrlPath
- parser :: HttpResponse -> Result a
- | Post {
- description :: Text
- path :: UrlPath
- body :: Value
- parser :: HttpResponse -> Result a
- | PostEmpty {
- description :: Text
- path :: UrlPath
- parser :: HttpResponse -> Result a
- | Delete {
- description :: Text
- path :: UrlPath
- parser :: HttpResponse -> Result a
- = Get {
- newSession :: FullCapabilities -> W3Spec SessionId
- newSession' :: ToJSON a => a -> W3Spec SessionId
- status :: W3Spec DriverStatus
- acceptAlert :: SessionId -> W3Spec ()
- addCookie :: SessionId -> Cookie -> W3Spec ()
- back :: SessionId -> W3Spec ()
- closeWindow :: SessionId -> W3Spec ()
- deleteAllCookies :: SessionId -> W3Spec ()
- deleteCookie :: SessionId -> Text -> W3Spec ()
- deleteSession :: SessionId -> W3Spec ()
- dismissAlert :: SessionId -> W3Spec ()
- executeScript :: SessionId -> Text -> [Value] -> W3Spec Value
- executeScriptAsync :: SessionId -> Text -> [Value] -> W3Spec Value
- forward :: SessionId -> W3Spec ()
- fullscreenWindow :: SessionId -> W3Spec WindowRect
- getAlertText :: SessionId -> W3Spec Text
- getAllCookies :: SessionId -> W3Spec [Cookie]
- getCurrentUrl :: SessionId -> W3Spec Text
- getNamedCookie :: SessionId -> Text -> W3Spec Cookie
- getPageSource :: SessionId -> W3Spec Text
- getTimeouts :: SessionId -> W3Spec Timeouts
- getTitle :: SessionId -> W3Spec Text
- getWindowHandle :: SessionId -> W3Spec WindowHandle
- getWindowHandles :: SessionId -> W3Spec [WindowHandle]
- getWindowRect :: SessionId -> W3Spec WindowRect
- maximizeWindow :: SessionId -> W3Spec WindowRect
- minimizeWindow :: SessionId -> W3Spec WindowRect
- navigateTo :: SessionId -> Text -> W3Spec ()
- newWindow :: SessionId -> W3Spec WindowHandleSpec
- performActions :: SessionId -> Actions -> W3Spec ()
- printPage :: SessionId -> W3Spec Text
- refresh :: SessionId -> W3Spec ()
- releaseActions :: SessionId -> W3Spec ()
- sendAlertText :: SessionId -> Text -> W3Spec ()
- setTimeouts :: SessionId -> Timeouts -> W3Spec ()
- setWindowRect :: SessionId -> WindowRect -> W3Spec WindowRect
- switchToFrame :: SessionId -> FrameReference -> W3Spec ()
- switchToWindow :: SessionId -> WindowHandle -> W3Spec ()
- takeScreenshot :: SessionId -> W3Spec Text
- closeWindow :: SessionId -> W3Spec ()
- fullscreenWindow :: SessionId -> W3Spec WindowRect
- getWindowHandles :: SessionId -> W3Spec [WindowHandle]
- getWindowRect :: SessionId -> W3Spec WindowRect
- maximizeWindow :: SessionId -> W3Spec WindowRect
- minimizeWindow :: SessionId -> W3Spec WindowRect
- newWindow :: SessionId -> W3Spec WindowHandleSpec
- setWindowRect :: SessionId -> WindowRect -> W3Spec WindowRect
- switchToWindow :: SessionId -> WindowHandle -> W3Spec ()
- switchToParentFrame :: SessionId -> W3Spec ()
- findElement :: SessionId -> Selector -> W3Spec ElementId
- findElements :: SessionId -> Selector -> W3Spec [ElementId]
- getActiveElement :: SessionId -> W3Spec ElementId
- elementClear :: SessionId -> ElementId -> W3Spec ()
- elementClick :: SessionId -> ElementId -> W3Spec ()
- elementSendKeys :: SessionId -> ElementId -> Text -> W3Spec ()
- findElementFromElement :: SessionId -> ElementId -> Selector -> W3Spec ElementId
- findElementsFromElement :: SessionId -> ElementId -> Selector -> W3Spec [ElementId]
- getElementAttribute :: SessionId -> ElementId -> Text -> W3Spec Text
- getElementComputedLabel :: SessionId -> ElementId -> W3Spec Text
- getElementComputedRole :: SessionId -> ElementId -> W3Spec Text
- getElementCssValue :: SessionId -> ElementId -> Text -> W3Spec Text
- getElementProperty :: SessionId -> ElementId -> Text -> W3Spec Value
- getElementRect :: SessionId -> ElementId -> W3Spec WindowRect
- getElementShadowRoot :: SessionId -> ElementId -> W3Spec ElementId
- getElementTagName :: SessionId -> ElementId -> W3Spec Text
- getElementText :: SessionId -> ElementId -> W3Spec Text
- isElementEnabled :: SessionId -> ElementId -> W3Spec Bool
- isElementSelected :: SessionId -> ElementId -> W3Spec Bool
- takeElementScreenshot :: SessionId -> ElementId -> W3Spec Text
- findElementFromShadowRoot :: SessionId -> ElementId -> Selector -> W3Spec ElementId
- findElementsFromShadowRoot :: SessionId -> ElementId -> Selector -> W3Spec [ElementId]
- data HttpResponse = MkHttpResponse {
- statusCode :: Int
- statusMessage :: Text
- body :: Value
- data Capabilities = MkCapabilities {
- browserName :: Maybe BrowserName
- browserVersion :: Maybe Text
- platformName :: Maybe PlatformName
- acceptInsecureCerts :: Maybe Bool
- pageLoadStrategy :: Maybe PageLoadStrategy
- proxy :: Maybe Proxy
- timeouts :: Maybe Timeouts
- strictFileInteractability :: Maybe Bool
- unhandledPromptBehavior :: Maybe UnhandledPromptBehavior
- vendorSpecific :: Maybe VendorSpecific
- data FullCapabilities = MkFullCapabilities {}
- data LogLevel
- data Proxy
- data BrowserName
- = Chrome
- | Firefox
- | Safari
- | Edge
- | InternetExplorer
- data DeviceMetrics = MkDeviceMetrics {}
- data Capabilities = MkCapabilities {
- browserName :: Maybe BrowserName
- browserVersion :: Maybe Text
- platformName :: Maybe PlatformName
- acceptInsecureCerts :: Maybe Bool
- pageLoadStrategy :: Maybe PageLoadStrategy
- proxy :: Maybe Proxy
- timeouts :: Maybe Timeouts
- strictFileInteractability :: Maybe Bool
- unhandledPromptBehavior :: Maybe UnhandledPromptBehavior
- vendorSpecific :: Maybe VendorSpecific
- data UnhandledPromptBehavior
- data FullCapabilities = MkFullCapabilities {}
- data Timeouts = MkTimeouts {}
- data PageLoadStrategy
- data PlatformName
- data VendorSpecific
- = ChromeOptions {
- chromeArgs :: Maybe [Text]
- chromeBinary :: Maybe Text
- chromeExtensions :: Maybe [Text]
- chromeLocalState :: Maybe (Map Text Value)
- chromeMobileEmulation :: Maybe MobileEmulation
- chromePrefs :: Maybe (Map Text Value)
- chromeDetach :: Maybe Bool
- chromeDebuggerAddress :: Maybe Text
- chromeExcludeSwitches :: Maybe [Text]
- chromeMinidumpPath :: Maybe FilePath
- chromePerfLoggingPrefs :: Maybe PerfLoggingPrefs
- chromeWindowTypes :: Maybe [Text]
- | EdgeOptions {
- edgeArgs :: Maybe [Text]
- edgeBinary :: Maybe Text
- edgeExtensions :: Maybe [Text]
- edgeLocalState :: Maybe (Map Text Value)
- edgeMobileEmulation :: Maybe MobileEmulation
- edgePrefs :: Maybe (Map Text Value)
- edgeDetach :: Maybe Bool
- edgeDebuggerAddress :: Maybe Text
- edgeExcludeSwitches :: Maybe [Text]
- edgeMinidumpPath :: Maybe FilePath
- edgePerfLoggingPrefs :: Maybe PerfLoggingPrefs
- edgeWindowTypes :: Maybe [Text]
- | FirefoxOptions { }
- | SafariOptions { }
- = ChromeOptions {
- data SocksProxy = MkSocksProxy {
- socksProxy :: Text
- socksVersion :: Int
- data PerfLoggingPrefs = MkPerfLoggingPrefs {}
- data MobileEmulation = MkMobileEmulation {}
- data LogSettings = MkLogSettings {}
- minCapabilities :: BrowserName -> Capabilities
- minFullCapabilities :: BrowserName -> FullCapabilities
- minFirefoxCapabilities :: FullCapabilities
- minChromeCapabilities :: FullCapabilities
- data ErrorClassification
- = NotAnError { }
- | UnrecognisedError { }
- | WebDriverError { }
- data WebDriverErrorType
- = ElementClickIntercepted
- | ElementNotInteractable
- | InsecureCertificate
- | InvalidArgument
- | InvalidCookieDomain
- | InvalidElementState
- | InvalidSelector
- | InvalidSessionId
- | JavascriptError
- | MoveTargetOutOfBounds
- | NoSuchAlert
- | NoSuchCookie
- | NoSuchElement
- | NoSuchFrame
- | NoSuchWindow
- | NoSuchShadowRoot
- | ScriptTimeoutError
- | SessionNotCreated
- | StaleElementReference
- | DetachedShadowRoot
- | Timeout
- | UnableToSetCookie
- | UnableToCaptureScreen
- | UnexpectedAlertOpen
- | UnknownCommand
- | UnknownError
- | UnknownMethod
- | UnsupportedOperation
- errorDescription :: WebDriverErrorType -> Text
- errorCodeToErrorType :: Text -> Either Text WebDriverErrorType
- errorTypeToErrorCode :: WebDriverErrorType -> Text
- parseWebDriverError :: HttpResponse -> ErrorClassification
- parseWebDriverErrorType :: HttpResponse -> Maybe WebDriverErrorType
- data Action
- data KeyAction
- data PointerAction
- = PausePointer { }
- | Up { }
- | Down { }
- | Move { }
- | Cancel
- newtype Actions = MkActions {}
- data Pointer
- data PointerOrigin
- data WheelAction
- newtype WindowHandle = Handle {}
- data WindowHandleSpec = HandleSpec {
- handle :: WindowHandle
- handletype :: HandleType
- data Selector
- data Cookie = MkCookie {}
- newtype SessionId = Session {}
- newtype ElementId = Element {}
- data SameSite
- newtype UrlPath = MkUrlPath {}
- data DriverStatus
- = Ready
- | Running
- | ServiceError {
- statusCode :: Int
- statusMessage :: Text
- | Unknown {
- statusCode :: Int
- statusMessage :: Text
- data HttpResponse = MkHttpResponse {
- statusCode :: Int
- statusMessage :: Text
- body :: Value
- data FrameReference
- data Timeouts = MkTimeouts {}
- data WindowRect = Rect {}
Introduction
What is This Library?
This library provides a minimal abstraction over the WebDriver W3C Protocol endpoints
without providing any implementation. It provides a description of the W3C API as a list of functions returning a W3Spec
.
The intention is that other libraries will provide the actual implementation.
You can not use this library directly to drive a browser. If you are looking for a library to drive a browser, you may be interested in an alternative library such haskell-webdriver.
Why This Library?
There are a number of libraries that provide WebDriver bindings for Haskell. However, at the time work on this library commenced the available libraries were either in need of maintenance, required Selenium, or part of larger opinionated testing frameworks.
The goal of the authors of this library is to enable browser interaction in our own high level testing framework. We would prefer to communicate with drivers directly, using the W3C standards (developed largely by the Selenium core contributors) rather than depend on Selenium itself. We would also like to avoid pulling in too many dependencies or potentially incompatible concepts from other high level libraries. To achieve this, we plan to first develop a number of unopinionated, lower level libraries that can be used by others without buying into our entire stack.
This library is the first of those libraries, and is intended to provide a low-dependency base on which fully featured (W3C) WebDriver libraries can be built.
Implementing WebDriver Interaction
Using webdriver-precore to build a webdriver library requires two steps to attain the basic functionality provided by the WebDriver API:
1. Implementing a runner
This is an example of a minimal runner that implements the interaction with WebDriver endpoint definitions as provided by this library.
The first step in writing a WebDriver implementation is to choose an HTTP library. In this example we have chosen req.
Then to implement a run function requires the following:
- Define a function to transform a
W3Spec
toRequestParams
compatible with the chosen HTTP library. - Make an HTTP call to WebDriver as per the
RequestParams
and return a simplifiedHttpResponse
. - Use the parser provided by the
W3Spec
to transform theHttpResponse
to the desired result type and handle any errors.
Example
The full source for this example can be found in the project repo.
Module Header
{-# LANGUAGE DataKinds #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE NoFieldSelectors #-} module IORunnerMinimal ( run ) where import Data.Aeson (Result (..), Value, object) import Data.Function ((&), ($), (.)) import Data.Text as T (Text, unpack) import Data.Text.Encoding (decodeUtf8Lenient) import WebDriverPreCore ( HttpResponse (..), W3Spec (..), parseWebDriverError, ErrorClassification (..), UrlPath (..) ) import GHC.IO (IO) import Data.Int (Int) import Control.Monad (Monad(..)) import Data.Foldable (foldl') import GHC.Maybe (Maybe(..)) import Control.Applicative (Applicative(..)) import Control.Monad.Fail (MonadFail(..)) import Data.Monoid ((<>)) import GHC.Show (Show(..)) import Network.HTTP.Req as R ( DELETE (DELETE), GET (GET), NoReqBody (NoReqBody), POST (POST), ReqBodyJson (ReqBodyJson), JsonResponse, defaultHttpConfig, http, jsonResponse, port, req, responseBody, responseStatusCode, responseStatusMessage, runReq, HttpConfig (httpConfigCheckResponse), (/:), HttpBodyAllowed, HttpMethod (..), ProvidesBody, HttpBody, Url, Scheme (..), )
run
function
run :: W3Spec a -> IO a run spec = do let request = mkRequest spec -- 1. Convert W3Spec to params for req response <- callReq request -- 2. Call WebDriver server (via req) and return a simplified HttpResponse parseResponse spec response -- 3. Use the W3Spec parser to convert the HttpResponse to the desired result type and handle any errors
1.1 W3Spec
-> ReqRequestParams
Transform W3Spec
to ReqRequestParams
-- ReqRequestParams are specific to the chosen HTTP library (in this example req) -- The port would not normally be hard coded mkRequest :: forall a. W3Spec a -> ReqRequestParams mkRequest spec = case spec of Get {} -> MkRequestParams url GET NoReqBody 4444 Post {body} -> MkRequestParams url POST (ReqBodyJson body) 4444 PostEmpty {} -> MkRequestParams url POST (ReqBodyJson $ object []) 4444 Delete {} -> MkRequestParams url DELETE NoReqBody 4444 where url = foldl' (/:) (http "127.0.0.1") spec.path.segments -- A custom data type for request params specific to req data ReqRequestParams where MkRequestParams :: (HttpBodyAllowed (AllowsBody method) (ProvidesBody body), HttpMethod method, HttpBody body) => { url :: Url 'Http, method :: method, body :: body, port :: Int } -> ReqRequestParams
1.2 Call the WebDriver
Call WebDriver endpoints based on ReqRequestParams
callReq :: ReqRequestParams -> IO HttpResponse callReq MkRequestParams {url, method, body, port = prt} = runReq defaultHttpConfig {httpConfigCheckResponse = \_ _ _ -> Nothing} $ do r <- req method url body jsonResponse $ port prt pure $ MkHttpResponse { statusCode = responseStatusCode r, statusMessage = responseStatusText r, body = responseBody r :: Value } where responseStatusText = decodeUtf8Lenient . responseStatusMessage
1.3 Parse HttpResponse
using the parser provided by W3Spec
Parse the WebDriver response (in this implimentation we are just throwing exceptions on failure)
parseResponse :: W3Spec a -> HttpResponse -> IO a parseResponse spec r = spec.parser r & \case Error msg -> fail $ parseWebDriverError r & case e@NotAnError {} -> unpack spec.description <> "\n" <> "Failed to parse response:\n " <> msg <> "\nin response:" <> show e e@UnrecognisedError {} -> "UnrecognisedError:\n " <> "\nin response:" <> show e e@WebDriverError {} -> "WebDriver error thrown:\n " <> show e Success a -> pure a
2. Applying the runner
to the W3Spec
functions
Create an IO API by applying run
to each endpoint definition exposed by this library
Full source can be found in the project repo
module IOAPI where import WebDriverPreCore qualified as W status :: IO DriverStatus status = run W.status newSession :: W.FullCapabilities -> IO SessionId newSession = run . W.newSession getTimeouts :: SessionId -> IO W.Timeouts getTimeouts = run . W.getTimeouts setTimeouts :: SessionId -> W.Timeouts -> IO () setTimeouts s = run . W.setTimeouts s getCurrentUrl :: SessionId -> IO Text getCurrentUrl = run . W.getCurrentUrl getTitle :: SessionId -> IO Text getTitle = run . W.getTitle maximizeWindow :: SessionId -> IO W.WindowRect maximizeWindow = run . W.maximizeWindow -- ... and 50+ more API functions
Using the API
Once all the required endpoints are implemented you will be able to interact with browsers via WebDriver
Prerequisites:
- An appropriate browser and WebDriver installed.
- WebDriver started.
e.g. For Firefox and geckodriver on Linux or WSL you could start geckodriver from the terminal as follows: Note: we are setting the port to 4444, which is the hard coded port in our example.
>>>
pkill -f geckodriver || true && geckodriver --port=4444 &
or with logging:
>>>
pkill -f geckodriver || true && geckodriver --log trace --port=4444 &
or similarly for Chrome and chromedriver:
>>>
pkill -f chromedriver || true && chromedriver --port=4444 &
or with logging:
>>>
pkill -f chromedriver || true && chromedriver --log-level=ALL --port=4444 &
With the driver running you can now interact with the browser:
Example: A full example source file can be found in the project repo.
demoForwardBackRefresh :: IO () demoForwardBackRefresh = do ses <- newSession $ minFullCapabilities Firefox navigateTo ses "https://the-internet.herokuapp.com/" link findElement ses $ CSS "#content ul:nth-child(4) > li:nth-child(6) > a:nth-child(1)" elementClick ses link back ses forward ses refresh ses deleteSession ses
Note this is a minimal API. There is plenty of scope to build on this to provide a more user-friendly functions.
The API
The W3Spec Type
The W3Spec
type is a specification for a WebDriver command.
Every endpoint function in this module returns a W3Spec
object.
Constructors
Get | |
Fields
| |
Post | |
Fields
| |
PostEmpty | |
Fields
| |
Delete | |
Fields
|
Root Methods
newSession :: FullCapabilities -> W3Spec SessionId Source #
Return a spec to create a new session given FullCapabilities
object.
newSession'
can be used if FullCapabilities
doesn't meet your requirements.
POST /session New Session
newSession' :: ToJSON a => a -> W3Spec SessionId Source #
Return a spec to create a new session given an object of any type that implements ToJSON
.
The FullCapabilities
type and associated types should work for the vast majority use cases, but if the required capabilities are not covered by the types provided, newSession'
.
can be used with a custom type instead. newSession'
works with any type that implements ToJSON
, (including an Aeson Value
).
Obviously, any type used must produce a JSON object compatible with capabilities as defined W3C spec.
POST /session New Session
Session Methods
See also newSession
and newSession'
acceptAlert :: SessionId -> W3Spec () Source #
closeWindow :: SessionId -> W3Spec () Source #
deleteAllCookies :: SessionId -> W3Spec () Source #
deleteSession :: SessionId -> W3Spec () Source #
dismissAlert :: SessionId -> W3Spec () Source #
getWindowHandles :: SessionId -> W3Spec [WindowHandle] Source #
releaseActions :: SessionId -> W3Spec () Source #
setWindowRect :: SessionId -> WindowRect -> W3Spec WindowRect Source #
Return a spec to set the window rect of the current window given a SessionId
and WindowRect
.
POST /session/{session id}/window/rect Set Window Rect
switchToFrame :: SessionId -> FrameReference -> W3Spec () Source #
Return a spec to switch to a different frame given a SessionId
and FrameReference
.
POST /session/{session id}/frame Switch To Frame
switchToWindow :: SessionId -> WindowHandle -> W3Spec () Source #
Return a spec to switch to a different window given a SessionId
and WindowHandle
.
POST /session/{session id}/window Switch To Window
Window Methods
closeWindow :: SessionId -> W3Spec () Source #
getWindowHandles :: SessionId -> W3Spec [WindowHandle] Source #
setWindowRect :: SessionId -> WindowRect -> W3Spec WindowRect Source #
Return a spec to set the window rect of the current window given a SessionId
and WindowRect
.
POST /session/{session id}/window/rect Set Window Rect
switchToWindow :: SessionId -> WindowHandle -> W3Spec () Source #
Return a spec to switch to a different window given a SessionId
and WindowHandle
.
POST /session/{session id}/window Switch To Window
Frame Methods
switchToParentFrame :: SessionId -> W3Spec () Source #
Element(s) Methods
Element Instance Methods
getElementRect :: SessionId -> ElementId -> W3Spec WindowRect Source #
Shadow DOM Methods
HTTP Response
data HttpResponse Source #
HttpResponse
represents a WebDriver HTTP response.
Constructors
MkHttpResponse | |
Fields
|
Instances
Show HttpResponse Source # | |
Defined in WebDriverPreCore.HttpResponse Methods showsPrec :: Int -> HttpResponse -> ShowS # show :: HttpResponse -> String # showList :: [HttpResponse] -> ShowS # | |
Eq HttpResponse Source # | |
Defined in WebDriverPreCore.HttpResponse | |
Ord HttpResponse Source # | |
Defined in WebDriverPreCore.HttpResponse Methods compare :: HttpResponse -> HttpResponse -> Ordering # (<) :: HttpResponse -> HttpResponse -> Bool # (<=) :: HttpResponse -> HttpResponse -> Bool # (>) :: HttpResponse -> HttpResponse -> Bool # (>=) :: HttpResponse -> HttpResponse -> Bool # max :: HttpResponse -> HttpResponse -> HttpResponse # min :: HttpResponse -> HttpResponse -> HttpResponse # |
Capabilities
data Capabilities Source #
Capabilities
define the properties of the session and are passed to the webdriver
via fields of the FullCapabilities
object.
See spec
See also: FullCapabilities
and related constructors such as minCapabilities
,
minFullCapabilities
, minFirefoxCapabilities
and minChromeCapabilities
Constructors
Instances
data FullCapabilities Source #
FullCapabilities
is the object that is passed to webdriver to define the properties of the session via the newSession
function.
It is a combination of alwaysMatch
and firstMatch
properties.
See spec
See also: Capabilities
and related constructors such as minCapabilities
, minFullCapabilities
, minFirefoxCapabilities
and minChromeCapabilities
Constructors
MkFullCapabilities | |
Fields
|
Instances
FromJSON FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser FullCapabilities # parseJSONList :: Value -> Parser [FullCapabilities] # | |||||
ToJSON FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: FullCapabilities -> Value # toEncoding :: FullCapabilities -> Encoding # toJSONList :: [FullCapabilities] -> Value # toEncodingList :: [FullCapabilities] -> Encoding # omitField :: FullCapabilities -> Bool # | |||||
Generic FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: FullCapabilities -> Rep FullCapabilities x # to :: Rep FullCapabilities x -> FullCapabilities # | |||||
Show FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> FullCapabilities -> ShowS # show :: FullCapabilities -> String # showList :: [FullCapabilities] -> ShowS # | |||||
type Rep FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep FullCapabilities = D1 ('MetaData "FullCapabilities" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkFullCapabilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "alwaysMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Capabilities)) :*: S1 ('MetaSel ('Just "firstMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Capabilities]))) |
Browser log levels as defined in vendor specs
Constructors
Trace | Most verbose logging |
Debug | Debug-level information |
Config | Configuration details |
Info | General operational logs |
Warning | Potential issues |
Error | Recoverable errors |
Fatal | Critical failures |
Off | No logging |
Instances
FromJSON LogLevel Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON LogLevel Source # | |||||
Bounded LogLevel Source # | |||||
Enum LogLevel Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
Generic LogLevel Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show LogLevel Source # | |||||
Eq LogLevel Source # | |||||
type Rep LogLevel Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep LogLevel = D1 ('MetaData "LogLevel" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (((C1 ('MetaCons "Trace" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Debug" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Config" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Info" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Warning" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Error" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Fatal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Off" 'PrefixI 'False) (U1 :: Type -> Type)))) |
Constructors
Direct | |
Manual | |
AutoDetect | |
System | |
Pac | |
Fields |
data BrowserName Source #
Constructors
Chrome | |
Firefox | |
Safari | |
Edge | |
InternetExplorer |
Instances
FromJSON BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: BrowserName -> Value # toEncoding :: BrowserName -> Encoding # toJSONList :: [BrowserName] -> Value # toEncodingList :: [BrowserName] -> Encoding # omitField :: BrowserName -> Bool # | |||||
Bounded BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
Enum BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods succ :: BrowserName -> BrowserName # pred :: BrowserName -> BrowserName # toEnum :: Int -> BrowserName # fromEnum :: BrowserName -> Int # enumFrom :: BrowserName -> [BrowserName] # enumFromThen :: BrowserName -> BrowserName -> [BrowserName] # enumFromTo :: BrowserName -> BrowserName -> [BrowserName] # enumFromThenTo :: BrowserName -> BrowserName -> BrowserName -> [BrowserName] # | |||||
Generic BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> BrowserName -> ShowS # show :: BrowserName -> String # showList :: [BrowserName] -> ShowS # | |||||
Eq BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
type Rep BrowserName Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep BrowserName = D1 ('MetaData "BrowserName" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) ((C1 ('MetaCons "Chrome" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Firefox" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Safari" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Edge" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InternetExplorer" 'PrefixI 'False) (U1 :: Type -> Type)))) |
data DeviceMetrics Source #
Constructors
MkDeviceMetrics | |
Instances
FromJSON DeviceMetrics Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser DeviceMetrics # parseJSONList :: Value -> Parser [DeviceMetrics] # | |||||
ToJSON DeviceMetrics Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: DeviceMetrics -> Value # toEncoding :: DeviceMetrics -> Encoding # toJSONList :: [DeviceMetrics] -> Value # toEncodingList :: [DeviceMetrics] -> Encoding # omitField :: DeviceMetrics -> Bool # | |||||
Generic DeviceMetrics Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show DeviceMetrics Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> DeviceMetrics -> ShowS # show :: DeviceMetrics -> String # showList :: [DeviceMetrics] -> ShowS # | |||||
Eq DeviceMetrics Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods (==) :: DeviceMetrics -> DeviceMetrics -> Bool # (/=) :: DeviceMetrics -> DeviceMetrics -> Bool # | |||||
type Rep DeviceMetrics Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep DeviceMetrics = D1 ('MetaData "DeviceMetrics" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkDeviceMetrics" 'PrefixI 'True) ((S1 ('MetaSel ('Just "width") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "height") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "pixelRatio") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Double) :*: S1 ('MetaSel ('Just "touch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) |
data Capabilities Source #
Capabilities
define the properties of the session and are passed to the webdriver
via fields of the FullCapabilities
object.
See spec
See also: FullCapabilities
and related constructors such as minCapabilities
,
minFullCapabilities
, minFirefoxCapabilities
and minChromeCapabilities
Constructors
MkCapabilities | |
Fields
|
Instances
FromJSON Capabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON Capabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: Capabilities -> Value # toEncoding :: Capabilities -> Encoding # toJSONList :: [Capabilities] -> Value # toEncodingList :: [Capabilities] -> Encoding # omitField :: Capabilities -> Bool # | |||||
Generic Capabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show Capabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> Capabilities -> ShowS # show :: Capabilities -> String # showList :: [Capabilities] -> ShowS # | |||||
Eq Capabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
type Rep Capabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep Capabilities = D1 ('MetaData "Capabilities" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkCapabilities" 'PrefixI 'True) (((S1 ('MetaSel ('Just "browserName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe BrowserName)) :*: S1 ('MetaSel ('Just "browserVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "platformName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PlatformName)) :*: (S1 ('MetaSel ('Just "acceptInsecureCerts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "pageLoadStrategy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PageLoadStrategy))))) :*: ((S1 ('MetaSel ('Just "proxy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Proxy)) :*: S1 ('MetaSel ('Just "timeouts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Timeouts))) :*: (S1 ('MetaSel ('Just "strictFileInteractability") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: (S1 ('MetaSel ('Just "unhandledPromptBehavior") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UnhandledPromptBehavior)) :*: S1 ('MetaSel ('Just "vendorSpecific") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe VendorSpecific))))))) |
data UnhandledPromptBehavior Source #
Constructors
Dismiss | |
Accept | |
DismissAndNotify | |
AcceptAndNotify | |
Ignore |
Instances
FromJSON UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser UnhandledPromptBehavior # parseJSONList :: Value -> Parser [UnhandledPromptBehavior] # | |||||
ToJSON UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: UnhandledPromptBehavior -> Value # toEncoding :: UnhandledPromptBehavior -> Encoding # toJSONList :: [UnhandledPromptBehavior] -> Value # | |||||
Bounded UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
Enum UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods succ :: UnhandledPromptBehavior -> UnhandledPromptBehavior # pred :: UnhandledPromptBehavior -> UnhandledPromptBehavior # toEnum :: Int -> UnhandledPromptBehavior # fromEnum :: UnhandledPromptBehavior -> Int # enumFrom :: UnhandledPromptBehavior -> [UnhandledPromptBehavior] # enumFromThen :: UnhandledPromptBehavior -> UnhandledPromptBehavior -> [UnhandledPromptBehavior] # enumFromTo :: UnhandledPromptBehavior -> UnhandledPromptBehavior -> [UnhandledPromptBehavior] # enumFromThenTo :: UnhandledPromptBehavior -> UnhandledPromptBehavior -> UnhandledPromptBehavior -> [UnhandledPromptBehavior] # | |||||
Generic UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: UnhandledPromptBehavior -> Rep UnhandledPromptBehavior x # to :: Rep UnhandledPromptBehavior x -> UnhandledPromptBehavior # | |||||
Show UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> UnhandledPromptBehavior -> ShowS # show :: UnhandledPromptBehavior -> String # showList :: [UnhandledPromptBehavior] -> ShowS # | |||||
Eq UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods (==) :: UnhandledPromptBehavior -> UnhandledPromptBehavior -> Bool # (/=) :: UnhandledPromptBehavior -> UnhandledPromptBehavior -> Bool # | |||||
type Rep UnhandledPromptBehavior Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep UnhandledPromptBehavior = D1 ('MetaData "UnhandledPromptBehavior" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) ((C1 ('MetaCons "Dismiss" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Accept" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DismissAndNotify" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AcceptAndNotify" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Ignore" 'PrefixI 'False) (U1 :: Type -> Type)))) |
data FullCapabilities Source #
FullCapabilities
is the object that is passed to webdriver to define the properties of the session via the newSession
function.
It is a combination of alwaysMatch
and firstMatch
properties.
See spec
See also: Capabilities
and related constructors such as minCapabilities
, minFullCapabilities
, minFirefoxCapabilities
and minChromeCapabilities
Constructors
MkFullCapabilities | |
Fields
|
Instances
FromJSON FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser FullCapabilities # parseJSONList :: Value -> Parser [FullCapabilities] # | |||||
ToJSON FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: FullCapabilities -> Value # toEncoding :: FullCapabilities -> Encoding # toJSONList :: [FullCapabilities] -> Value # toEncodingList :: [FullCapabilities] -> Encoding # omitField :: FullCapabilities -> Bool # | |||||
Generic FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: FullCapabilities -> Rep FullCapabilities x # to :: Rep FullCapabilities x -> FullCapabilities # | |||||
Show FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> FullCapabilities -> ShowS # show :: FullCapabilities -> String # showList :: [FullCapabilities] -> ShowS # | |||||
type Rep FullCapabilities Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep FullCapabilities = D1 ('MetaData "FullCapabilities" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkFullCapabilities" 'PrefixI 'True) (S1 ('MetaSel ('Just "alwaysMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Capabilities)) :*: S1 ('MetaSel ('Just "firstMatch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Capabilities]))) |
Timeouts in milliseconds spec
Instances
FromJSON Timeouts Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON Timeouts Source # | |||||
Generic Timeouts Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show Timeouts Source # | |||||
Eq Timeouts Source # | |||||
type Rep Timeouts Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep Timeouts = D1 ('MetaData "Timeouts" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkTimeouts" 'PrefixI 'True) (S1 ('MetaSel ('Just "implicit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: (S1 ('MetaSel ('Just "pageLoad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "script") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))) |
data PageLoadStrategy Source #
Instances
FromJSON PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser PageLoadStrategy # parseJSONList :: Value -> Parser [PageLoadStrategy] # | |||||
ToJSON PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: PageLoadStrategy -> Value # toEncoding :: PageLoadStrategy -> Encoding # toJSONList :: [PageLoadStrategy] -> Value # toEncodingList :: [PageLoadStrategy] -> Encoding # omitField :: PageLoadStrategy -> Bool # | |||||
Bounded PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
Enum PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods succ :: PageLoadStrategy -> PageLoadStrategy # pred :: PageLoadStrategy -> PageLoadStrategy # toEnum :: Int -> PageLoadStrategy # fromEnum :: PageLoadStrategy -> Int # enumFrom :: PageLoadStrategy -> [PageLoadStrategy] # enumFromThen :: PageLoadStrategy -> PageLoadStrategy -> [PageLoadStrategy] # enumFromTo :: PageLoadStrategy -> PageLoadStrategy -> [PageLoadStrategy] # enumFromThenTo :: PageLoadStrategy -> PageLoadStrategy -> PageLoadStrategy -> [PageLoadStrategy] # | |||||
Generic PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: PageLoadStrategy -> Rep PageLoadStrategy x # to :: Rep PageLoadStrategy x -> PageLoadStrategy # | |||||
Show PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> PageLoadStrategy -> ShowS # show :: PageLoadStrategy -> String # showList :: [PageLoadStrategy] -> ShowS # | |||||
Eq PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods (==) :: PageLoadStrategy -> PageLoadStrategy -> Bool # (/=) :: PageLoadStrategy -> PageLoadStrategy -> Bool # | |||||
type Rep PageLoadStrategy Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep PageLoadStrategy = D1 ('MetaData "PageLoadStrategy" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "None'" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Eager" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Normal" 'PrefixI 'False) (U1 :: Type -> Type))) |
data PlatformName Source #
Instances
FromJSON PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: PlatformName -> Value # toEncoding :: PlatformName -> Encoding # toJSONList :: [PlatformName] -> Value # toEncodingList :: [PlatformName] -> Encoding # omitField :: PlatformName -> Bool # | |||||
Bounded PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
Enum PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods succ :: PlatformName -> PlatformName # pred :: PlatformName -> PlatformName # toEnum :: Int -> PlatformName # fromEnum :: PlatformName -> Int # enumFrom :: PlatformName -> [PlatformName] # enumFromThen :: PlatformName -> PlatformName -> [PlatformName] # enumFromTo :: PlatformName -> PlatformName -> [PlatformName] # enumFromThenTo :: PlatformName -> PlatformName -> PlatformName -> [PlatformName] # | |||||
Generic PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> PlatformName -> ShowS # show :: PlatformName -> String # showList :: [PlatformName] -> ShowS # | |||||
Eq PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
type Rep PlatformName Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep PlatformName = D1 ('MetaData "PlatformName" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) ((C1 ('MetaCons "Windows" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Mac" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Linux" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Android" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IOS" 'PrefixI 'False) (U1 :: Type -> Type)))) |
data VendorSpecific Source #
Constructors
ChromeOptions | Chrome-specific capabilities |
Fields
| |
EdgeOptions | |
Fields
| |
FirefoxOptions | |
Fields
| |
SafariOptions | |
Fields |
Instances
ToJSON VendorSpecific Source # | ToJSON Instance for VendorSpecific | ||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: VendorSpecific -> Value # toEncoding :: VendorSpecific -> Encoding # toJSONList :: [VendorSpecific] -> Value # toEncodingList :: [VendorSpecific] -> Encoding # omitField :: VendorSpecific -> Bool # | |||||
Generic VendorSpecific Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: VendorSpecific -> Rep VendorSpecific x # to :: Rep VendorSpecific x -> VendorSpecific # | |||||
Show VendorSpecific Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> VendorSpecific -> ShowS # show :: VendorSpecific -> String # showList :: [VendorSpecific] -> ShowS # | |||||
Eq VendorSpecific Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods (==) :: VendorSpecific -> VendorSpecific -> Bool # (/=) :: VendorSpecific -> VendorSpecific -> Bool # | |||||
type Rep VendorSpecific Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep VendorSpecific = D1 ('MetaData "VendorSpecific" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) ((C1 ('MetaCons "ChromeOptions" 'PrefixI 'True) (((S1 ('MetaSel ('Just "chromeArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: (S1 ('MetaSel ('Just "chromeBinary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "chromeExtensions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])))) :*: (S1 ('MetaSel ('Just "chromeLocalState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Map Text Value))) :*: (S1 ('MetaSel ('Just "chromeMobileEmulation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe MobileEmulation)) :*: S1 ('MetaSel ('Just "chromePrefs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Map Text Value)))))) :*: ((S1 ('MetaSel ('Just "chromeDetach") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: (S1 ('MetaSel ('Just "chromeDebuggerAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "chromeExcludeSwitches") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])))) :*: (S1 ('MetaSel ('Just "chromeMinidumpPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "chromePerfLoggingPrefs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PerfLoggingPrefs)) :*: S1 ('MetaSel ('Just "chromeWindowTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])))))) :+: C1 ('MetaCons "EdgeOptions" 'PrefixI 'True) (((S1 ('MetaSel ('Just "edgeArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: (S1 ('MetaSel ('Just "edgeBinary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "edgeExtensions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])))) :*: (S1 ('MetaSel ('Just "edgeLocalState") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Map Text Value))) :*: (S1 ('MetaSel ('Just "edgeMobileEmulation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe MobileEmulation)) :*: S1 ('MetaSel ('Just "edgePrefs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Map Text Value)))))) :*: ((S1 ('MetaSel ('Just "edgeDetach") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: (S1 ('MetaSel ('Just "edgeDebuggerAddress") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "edgeExcludeSwitches") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])))) :*: (S1 ('MetaSel ('Just "edgeMinidumpPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FilePath)) :*: (S1 ('MetaSel ('Just "edgePerfLoggingPrefs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PerfLoggingPrefs)) :*: S1 ('MetaSel ('Just "edgeWindowTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text]))))))) :+: (C1 ('MetaCons "FirefoxOptions" 'PrefixI 'True) ((S1 ('MetaSel ('Just "firefoxArgs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 ('MetaSel ('Just "firefoxBinary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "firefoxProfile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "firefoxLog") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe LogSettings)))) :+: C1 ('MetaCons "SafariOptions" 'PrefixI 'True) (S1 ('MetaSel ('Just "safariAutomaticInspection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "safariAutomaticProfiling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))))) |
data SocksProxy Source #
Constructors
MkSocksProxy | |
Fields
|
Instances
FromJSON SocksProxy Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON SocksProxy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: SocksProxy -> Value # toEncoding :: SocksProxy -> Encoding # toJSONList :: [SocksProxy] -> Value # toEncodingList :: [SocksProxy] -> Encoding # omitField :: SocksProxy -> Bool # | |||||
Generic SocksProxy Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show SocksProxy Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> SocksProxy -> ShowS # show :: SocksProxy -> String # showList :: [SocksProxy] -> ShowS # | |||||
Eq SocksProxy Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
type Rep SocksProxy Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep SocksProxy = D1 ('MetaData "SocksProxy" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkSocksProxy" 'PrefixI 'True) (S1 ('MetaSel ('Just "socksProxy") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "socksVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))) |
data PerfLoggingPrefs Source #
Constructors
MkPerfLoggingPrefs | |
Fields |
Instances
FromJSON PerfLoggingPrefs Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser PerfLoggingPrefs # parseJSONList :: Value -> Parser [PerfLoggingPrefs] # | |||||
ToJSON PerfLoggingPrefs Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: PerfLoggingPrefs -> Value # toEncoding :: PerfLoggingPrefs -> Encoding # toJSONList :: [PerfLoggingPrefs] -> Value # toEncodingList :: [PerfLoggingPrefs] -> Encoding # omitField :: PerfLoggingPrefs -> Bool # | |||||
Generic PerfLoggingPrefs Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: PerfLoggingPrefs -> Rep PerfLoggingPrefs x # to :: Rep PerfLoggingPrefs x -> PerfLoggingPrefs # | |||||
Show PerfLoggingPrefs Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> PerfLoggingPrefs -> ShowS # show :: PerfLoggingPrefs -> String # showList :: [PerfLoggingPrefs] -> ShowS # | |||||
Eq PerfLoggingPrefs Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods (==) :: PerfLoggingPrefs -> PerfLoggingPrefs -> Bool # (/=) :: PerfLoggingPrefs -> PerfLoggingPrefs -> Bool # | |||||
type Rep PerfLoggingPrefs Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep PerfLoggingPrefs = D1 ('MetaData "PerfLoggingPrefs" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkPerfLoggingPrefs" 'PrefixI 'True) ((S1 ('MetaSel ('Just "enableNetwork") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "enablePage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "enableTimeline") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: (S1 ('MetaSel ('Just "traceCategories") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "bufferUsageReportingInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)))))) |
data MobileEmulation Source #
Constructors
MkMobileEmulation | |
Fields
|
Instances
FromJSON MobileEmulation Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods parseJSON :: Value -> Parser MobileEmulation # parseJSONList :: Value -> Parser [MobileEmulation] # | |||||
ToJSON MobileEmulation Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: MobileEmulation -> Value # toEncoding :: MobileEmulation -> Encoding # toJSONList :: [MobileEmulation] -> Value # toEncodingList :: [MobileEmulation] -> Encoding # omitField :: MobileEmulation -> Bool # | |||||
Generic MobileEmulation Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
Methods from :: MobileEmulation -> Rep MobileEmulation x # to :: Rep MobileEmulation x -> MobileEmulation # | |||||
Show MobileEmulation Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> MobileEmulation -> ShowS # show :: MobileEmulation -> String # showList :: [MobileEmulation] -> ShowS # | |||||
Eq MobileEmulation Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods (==) :: MobileEmulation -> MobileEmulation -> Bool # (/=) :: MobileEmulation -> MobileEmulation -> Bool # | |||||
type Rep MobileEmulation Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep MobileEmulation = D1 ('MetaData "MobileEmulation" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkMobileEmulation" 'PrefixI 'True) (S1 ('MetaSel ('Just "deviceName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "deviceMetrics") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe DeviceMetrics)) :*: S1 ('MetaSel ('Just "userAgent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) |
data LogSettings Source #
Log settings structure for vendor capabilities
Constructors
MkLogSettings | |
Instances
FromJSON LogSettings Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON LogSettings Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods toJSON :: LogSettings -> Value # toEncoding :: LogSettings -> Encoding # toJSONList :: [LogSettings] -> Value # toEncodingList :: [LogSettings] -> Encoding # omitField :: LogSettings -> Bool # | |||||
Generic LogSettings Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show LogSettings Source # | |||||
Defined in WebDriverPreCore.Capabilities Methods showsPrec :: Int -> LogSettings -> ShowS # show :: LogSettings -> String # showList :: [LogSettings] -> ShowS # | |||||
Eq LogSettings Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
type Rep LogSettings Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep LogSettings = D1 ('MetaData "LogSettings" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkLogSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LogLevel))) |
minCapabilities :: BrowserName -> Capabilities Source #
Returns the minimal Capabilities object for a given browser The browserName is the only field populated See spec
minFullCapabilities :: BrowserName -> FullCapabilities Source #
Returns the minimal FullCapabilities object for a given browser
The browserName in the alwaysMatch
field is the only field populated
See spec
minFirefoxCapabilities :: FullCapabilities Source #
Returns the minimal FullCapabilities object for Firefox
minChromeCapabilities :: FullCapabilities Source #
Returns the minimal FullCapabilities object for Chrome
Errors
data ErrorClassification Source #
Constructors
NotAnError | |
Fields | |
UnrecognisedError | |
Fields | |
WebDriverError | |
Fields |
Instances
Show ErrorClassification Source # | |
Defined in WebDriverPreCore.Error Methods showsPrec :: Int -> ErrorClassification -> ShowS # show :: ErrorClassification -> String # showList :: [ErrorClassification] -> ShowS # | |
Eq ErrorClassification Source # | |
Defined in WebDriverPreCore.Error Methods (==) :: ErrorClassification -> ErrorClassification -> Bool # (/=) :: ErrorClassification -> ErrorClassification -> Bool # | |
Ord ErrorClassification Source # | |
Defined in WebDriverPreCore.Error Methods compare :: ErrorClassification -> ErrorClassification -> Ordering # (<) :: ErrorClassification -> ErrorClassification -> Bool # (<=) :: ErrorClassification -> ErrorClassification -> Bool # (>) :: ErrorClassification -> ErrorClassification -> Bool # (>=) :: ErrorClassification -> ErrorClassification -> Bool # max :: ErrorClassification -> ErrorClassification -> ErrorClassification # min :: ErrorClassification -> ErrorClassification -> ErrorClassification # |
data WebDriverErrorType Source #
Known WevDriver error types: spec
Constructors
ElementClickIntercepted | |
ElementNotInteractable | |
InsecureCertificate | |
InvalidArgument | |
InvalidCookieDomain | |
InvalidElementState | |
InvalidSelector | |
InvalidSessionId | |
JavascriptError | |
MoveTargetOutOfBounds | |
NoSuchAlert | |
NoSuchCookie | |
NoSuchElement | |
NoSuchFrame | |
NoSuchWindow | |
NoSuchShadowRoot | |
ScriptTimeoutError | |
SessionNotCreated | |
StaleElementReference | |
DetachedShadowRoot | |
Timeout | |
UnableToSetCookie | |
UnableToCaptureScreen | |
UnexpectedAlertOpen | |
UnknownCommand | |
UnknownError | |
UnknownMethod | |
UnsupportedOperation |
Instances
Bounded WebDriverErrorType Source # | |
Defined in WebDriverPreCore.Error | |
Enum WebDriverErrorType Source # | |
Defined in WebDriverPreCore.Error Methods succ :: WebDriverErrorType -> WebDriverErrorType # pred :: WebDriverErrorType -> WebDriverErrorType # toEnum :: Int -> WebDriverErrorType # fromEnum :: WebDriverErrorType -> Int # enumFrom :: WebDriverErrorType -> [WebDriverErrorType] # enumFromThen :: WebDriverErrorType -> WebDriverErrorType -> [WebDriverErrorType] # enumFromTo :: WebDriverErrorType -> WebDriverErrorType -> [WebDriverErrorType] # enumFromThenTo :: WebDriverErrorType -> WebDriverErrorType -> WebDriverErrorType -> [WebDriverErrorType] # | |
Show WebDriverErrorType Source # | |
Defined in WebDriverPreCore.Error Methods showsPrec :: Int -> WebDriverErrorType -> ShowS # show :: WebDriverErrorType -> String # showList :: [WebDriverErrorType] -> ShowS # | |
Eq WebDriverErrorType Source # | |
Defined in WebDriverPreCore.Error Methods (==) :: WebDriverErrorType -> WebDriverErrorType -> Bool # (/=) :: WebDriverErrorType -> WebDriverErrorType -> Bool # | |
Ord WebDriverErrorType Source # | |
Defined in WebDriverPreCore.Error Methods compare :: WebDriverErrorType -> WebDriverErrorType -> Ordering # (<) :: WebDriverErrorType -> WebDriverErrorType -> Bool # (<=) :: WebDriverErrorType -> WebDriverErrorType -> Bool # (>) :: WebDriverErrorType -> WebDriverErrorType -> Bool # (>=) :: WebDriverErrorType -> WebDriverErrorType -> Bool # max :: WebDriverErrorType -> WebDriverErrorType -> WebDriverErrorType # min :: WebDriverErrorType -> WebDriverErrorType -> WebDriverErrorType # |
Action Types
Constructors
NoneAction | |
Fields
| |
Key | |
Fields
| |
Pointer | |
Wheel | |
Fields
|
data PointerAction Source #
Constructors
PausePointer | |
Up | |
Down | |
Move | |
Cancel |
Instances
ToJSON PointerAction Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods toJSON :: PointerAction -> Value # toEncoding :: PointerAction -> Encoding # toJSONList :: [PointerAction] -> Value # toEncodingList :: [PointerAction] -> Encoding # omitField :: PointerAction -> Bool # | |
Show PointerAction Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> PointerAction -> ShowS # show :: PointerAction -> String # showList :: [PointerAction] -> ShowS # | |
Eq PointerAction Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods (==) :: PointerAction -> PointerAction -> Bool # (/=) :: PointerAction -> PointerAction -> Bool # |
data PointerOrigin Source #
Constructors
Viewport | |
OriginPointer | |
OriginElement ElementId |
Instances
ToJSON PointerOrigin Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods toJSON :: PointerOrigin -> Value # toEncoding :: PointerOrigin -> Encoding # toJSONList :: [PointerOrigin] -> Value # toEncodingList :: [PointerOrigin] -> Encoding # omitField :: PointerOrigin -> Bool # | |
Show PointerOrigin Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> PointerOrigin -> ShowS # show :: PointerOrigin -> String # showList :: [PointerOrigin] -> ShowS # | |
Eq PointerOrigin Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods (==) :: PointerOrigin -> PointerOrigin -> Bool # (/=) :: PointerOrigin -> PointerOrigin -> Bool # |
data WheelAction Source #
Constructors
PauseWheel | |
Scroll | |
Instances
ToJSON WheelAction Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods toJSON :: WheelAction -> Value # toEncoding :: WheelAction -> Encoding # toJSONList :: [WheelAction] -> Value # toEncodingList :: [WheelAction] -> Encoding # omitField :: WheelAction -> Bool # | |
Show WheelAction Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> WheelAction -> ShowS # show :: WheelAction -> String # showList :: [WheelAction] -> ShowS # | |
Eq WheelAction Source # | |
Defined in WebDriverPreCore.SpecDefinition |
Auxiliary Spec Types
newtype WindowHandle Source #
Instances
Show WindowHandle Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> WindowHandle -> ShowS # show :: WindowHandle -> String # showList :: [WindowHandle] -> ShowS # | |
Eq WindowHandle Source # | |
Defined in WebDriverPreCore.SpecDefinition |
data WindowHandleSpec Source #
Constructors
HandleSpec | |
Fields
|
Instances
FromJSON WindowHandleSpec Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods parseJSON :: Value -> Parser WindowHandleSpec # parseJSONList :: Value -> Parser [WindowHandleSpec] # | |
ToJSON WindowHandleSpec Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods toJSON :: WindowHandleSpec -> Value # toEncoding :: WindowHandleSpec -> Encoding # toJSONList :: [WindowHandleSpec] -> Value # toEncodingList :: [WindowHandleSpec] -> Encoding # omitField :: WindowHandleSpec -> Bool # | |
Show WindowHandleSpec Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> WindowHandleSpec -> ShowS # show :: WindowHandleSpec -> String # showList :: [WindowHandleSpec] -> ShowS # | |
Eq WindowHandleSpec Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods (==) :: WindowHandleSpec -> WindowHandleSpec -> Bool # (/=) :: WindowHandleSpec -> WindowHandleSpec -> Bool # |
Url as returned by W3Spec
The UrlPath
type is a newtype wrapper around a list of Text
segments representing a path.
e.g. the path: /session/session-no-1-2-3/window
would be represented as: MkUrlPath ["session", "session-no-1-2-3", "window"]
data DriverStatus Source #
Constructors
Ready | |
Running | |
ServiceError | |
Fields
| |
Unknown | |
Fields
|
Instances
Show DriverStatus Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> DriverStatus -> ShowS # show :: DriverStatus -> String # showList :: [DriverStatus] -> ShowS # | |
Eq DriverStatus Source # | |
Defined in WebDriverPreCore.SpecDefinition |
data HttpResponse Source #
HttpResponse
represents a WebDriver HTTP response.
Constructors
MkHttpResponse | |
Fields
|
Instances
Show HttpResponse Source # | |
Defined in WebDriverPreCore.HttpResponse Methods showsPrec :: Int -> HttpResponse -> ShowS # show :: HttpResponse -> String # showList :: [HttpResponse] -> ShowS # | |
Eq HttpResponse Source # | |
Defined in WebDriverPreCore.HttpResponse | |
Ord HttpResponse Source # | |
Defined in WebDriverPreCore.HttpResponse Methods compare :: HttpResponse -> HttpResponse -> Ordering # (<) :: HttpResponse -> HttpResponse -> Bool # (<=) :: HttpResponse -> HttpResponse -> Bool # (>) :: HttpResponse -> HttpResponse -> Bool # (>=) :: HttpResponse -> HttpResponse -> Bool # max :: HttpResponse -> HttpResponse -> HttpResponse # min :: HttpResponse -> HttpResponse -> HttpResponse # |
data FrameReference Source #
Constructors
TopLevelFrame | |
FrameNumber Word16 | |
FrameElementId ElementId |
Instances
Show FrameReference Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> FrameReference -> ShowS # show :: FrameReference -> String # showList :: [FrameReference] -> ShowS # | |
Eq FrameReference Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods (==) :: FrameReference -> FrameReference -> Bool # (/=) :: FrameReference -> FrameReference -> Bool # |
Timeouts in milliseconds spec
Instances
FromJSON Timeouts Source # | |||||
Defined in WebDriverPreCore.Capabilities | |||||
ToJSON Timeouts Source # | |||||
Generic Timeouts Source # | |||||
Defined in WebDriverPreCore.Capabilities Associated Types
| |||||
Show Timeouts Source # | |||||
Eq Timeouts Source # | |||||
type Rep Timeouts Source # | |||||
Defined in WebDriverPreCore.Capabilities type Rep Timeouts = D1 ('MetaData "Timeouts" "WebDriverPreCore.Capabilities" "webdriver-precore-0.0.0.1-inplace" 'False) (C1 ('MetaCons "MkTimeouts" 'PrefixI 'True) (S1 ('MetaSel ('Just "implicit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: (S1 ('MetaSel ('Just "pageLoad") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "script") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))))) |
data WindowRect Source #
Instances
ToJSON WindowRect Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods toJSON :: WindowRect -> Value # toEncoding :: WindowRect -> Encoding # toJSONList :: [WindowRect] -> Value # toEncodingList :: [WindowRect] -> Encoding # omitField :: WindowRect -> Bool # | |
Show WindowRect Source # | |
Defined in WebDriverPreCore.SpecDefinition Methods showsPrec :: Int -> WindowRect -> ShowS # show :: WindowRect -> String # showList :: [WindowRect] -> ShowS # | |
Eq WindowRect Source # | |
Defined in WebDriverPreCore.SpecDefinition |