{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE TemplateHaskell #-}
module Test.WebDriver.Capabilities (
Capabilities(..)
, defaultCaps
, capabilitiesBrowserName
, capabilitiesBrowserVersion
, capabilitiesPlatformName
, capabilitiesAcceptInsecureCerts
, capabilitiesPageLoadStrategy
, capabilitiesProxy
, capabilitiesSetWindowRect
, capabilitiesTimeouts
, capabilitiesUnhandledPromptBehavior
, capabilitiesGoogChromeOptions
, capabilitiesMozFirefoxOptions
, capabilitiesWebSocketUrl
, Timeouts(..)
, UserPromptHandler(..)
, Platform(..)
, ChromeOptions(..)
, defaultChromeOptions
, chromeOptionsWindowTypes
, chromeOptionsPrefs
, chromeOptionsPerfLoggingPrefs
, chromeOptionsMobileEmulation
, chromeOptionsMinidumpPath
, chromeOptionsLocalState
, chromeOptionsExtensions
, chromeOptionsExcludeSwitches
, chromeOptionsDetach
, chromeOptionsDebuggerAddress
, chromeOptionsBinary
, chromeOptionsArgs
, ChromeClientHints(..)
, mkChromeClientHints
, chromeClientHintsWow64
, chromeClientHintsPlatformVersion
, chromeClientHintsPlatform
, chromeClientHintsModel
, chromeClientHintsMobile
, chromeClientHintsFullVersionList
, chromeClientHintsBrands
, chromeClientHintsBitness
, chromeClientHintsArchitecture
, BrandAndVersion(..)
, ChromeDeviceMetrics(..)
, chromeDeviceMetricsWidth
, chromeDeviceMetricsTouch
, chromeDeviceMetricsPixelRatio
, chromeDeviceMetricsMobile
, chromeDeviceMetricsHeight
, ChromeExtension
, loadExtension
, loadRawExtension
, ChromeMobileEmulation(..)
, chromeMobileEmulationUserAgent
, chromeMobileEmulationDeviceName
, chromeMobileEmulationDeviceMetrics
, chromeMobileEmulationClientHints
, FirefoxOptions(..)
, emptyFirefoxOptions
, defaultFirefoxOptions
, firefoxOptionsProfile
, firefoxOptionsPrefs
, firefoxOptionsLog
, firefoxOptionsBinary
, firefoxOptionsArgs
, FirefoxLogLevel(..)
, FirefoxLogLevelType(..)
) where
import Data.Aeson.TH
import Lens.Micro.TH
import Test.WebDriver.Capabilities.Aeson
import Test.WebDriver.Capabilities.ChromeOptions
import Test.WebDriver.Capabilities.FirefoxOptions
import Test.WebDriver.Capabilities.Platform
import Test.WebDriver.Capabilities.Proxy
import Test.WebDriver.Capabilities.Timeouts
import Test.WebDriver.Capabilities.UserPromptHandler
data Capabilities = Capabilities {
Capabilities -> Maybe String
_capabilitiesBrowserName :: Maybe String
, Capabilities -> Maybe String
_capabilitiesBrowserVersion :: Maybe String
, Capabilities -> Maybe Platform
_capabilitiesPlatformName :: Maybe Platform
, Capabilities -> Maybe Bool
_capabilitiesAcceptInsecureCerts :: Maybe Bool
, Capabilities -> Maybe String
_capabilitiesPageLoadStrategy :: Maybe String
, Capabilities -> Maybe Proxy
_capabilitiesProxy :: Maybe Proxy
, Capabilities -> Maybe Bool
_capabilitiesSetWindowRect :: Maybe Bool
, Capabilities -> Maybe Timeouts
_capabilitiesTimeouts :: Maybe Timeouts
, Capabilities -> Maybe UserPromptHandler
_capabilitiesUnhandledPromptBehavior :: Maybe UserPromptHandler
, Capabilities -> Maybe ChromeOptions
_capabilitiesGoogChromeOptions :: Maybe ChromeOptions
, Capabilities -> Maybe FirefoxOptions
_capabilitiesMozFirefoxOptions :: Maybe FirefoxOptions
, Capabilities -> Maybe Bool
_capabilitiesWebSocketUrl :: Maybe Bool
} deriving (Capabilities -> Capabilities -> Bool
(Capabilities -> Capabilities -> Bool)
-> (Capabilities -> Capabilities -> Bool) -> Eq Capabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Capabilities -> Capabilities -> Bool
== :: Capabilities -> Capabilities -> Bool
$c/= :: Capabilities -> Capabilities -> Bool
/= :: Capabilities -> Capabilities -> Bool
Eq, Int -> Capabilities -> ShowS
[Capabilities] -> ShowS
Capabilities -> String
(Int -> Capabilities -> ShowS)
-> (Capabilities -> String)
-> ([Capabilities] -> ShowS)
-> Show Capabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Capabilities -> ShowS
showsPrec :: Int -> Capabilities -> ShowS
$cshow :: Capabilities -> String
show :: Capabilities -> String
$cshowList :: [Capabilities] -> ShowS
showList :: [Capabilities] -> ShowS
Show)
deriveJSON capabilitiesOptions ''Capabilities
makeLenses ''Capabilities
defaultCaps :: Capabilities
defaultCaps :: Capabilities
defaultCaps = Capabilities {
_capabilitiesBrowserName :: Maybe String
_capabilitiesBrowserName = Maybe String
forall a. Maybe a
Nothing
, _capabilitiesBrowserVersion :: Maybe String
_capabilitiesBrowserVersion = Maybe String
forall a. Maybe a
Nothing
, _capabilitiesPlatformName :: Maybe Platform
_capabilitiesPlatformName = Maybe Platform
forall a. Maybe a
Nothing
, _capabilitiesAcceptInsecureCerts :: Maybe Bool
_capabilitiesAcceptInsecureCerts = Maybe Bool
forall a. Maybe a
Nothing
, _capabilitiesPageLoadStrategy :: Maybe String
_capabilitiesPageLoadStrategy = Maybe String
forall a. Maybe a
Nothing
, _capabilitiesProxy :: Maybe Proxy
_capabilitiesProxy = Maybe Proxy
forall a. Maybe a
Nothing
, _capabilitiesSetWindowRect :: Maybe Bool
_capabilitiesSetWindowRect = Maybe Bool
forall a. Maybe a
Nothing
, _capabilitiesTimeouts :: Maybe Timeouts
_capabilitiesTimeouts = Maybe Timeouts
forall a. Maybe a
Nothing
, _capabilitiesUnhandledPromptBehavior :: Maybe UserPromptHandler
_capabilitiesUnhandledPromptBehavior = Maybe UserPromptHandler
forall a. Maybe a
Nothing
, _capabilitiesGoogChromeOptions :: Maybe ChromeOptions
_capabilitiesGoogChromeOptions = Maybe ChromeOptions
forall a. Maybe a
Nothing
, _capabilitiesMozFirefoxOptions :: Maybe FirefoxOptions
_capabilitiesMozFirefoxOptions = Maybe FirefoxOptions
forall a. Maybe a
Nothing
, _capabilitiesWebSocketUrl :: Maybe Bool
_capabilitiesWebSocketUrl = Maybe Bool
forall a. Maybe a
Nothing
}