module Test.WebDriver.Config(
WDConfig(..), defaultConfig
, modifyCaps, useBrowser, useVersion, usePlatform, useProxy
, SessionHistoryConfig, noHistory, unlimitedHistory, onlyMostRecentHistory
) where
import Test.WebDriver.Capabilities
import Test.WebDriver.Session.History
import Data.Default (Default, def)
import Network.HTTP.Client (Manager)
import Network.HTTP.Types (RequestHeaders)
data WDConfig = WDConfig {
wdHost :: String
, wdPort :: Int
, wdRequestHeaders :: RequestHeaders
, wdCapabilities :: Capabilities
, wdHistoryConfig :: SessionHistoryConfig
, wdBasePath :: String
, wdHTTPManager :: Maybe Manager
, wdHTTPRetryCount :: Int
}
instance GetCapabilities WDConfig where
getCaps = wdCapabilities
instance SetCapabilities WDConfig where
setCaps caps conf = conf { wdCapabilities = caps }
type SessionHistoryConfig = SessionHistory -> [SessionHistory] -> [SessionHistory]
noHistory :: SessionHistoryConfig
noHistory _ _ = []
unlimitedHistory :: SessionHistoryConfig
unlimitedHistory = (:)
onlyMostRecentHistory :: SessionHistoryConfig
onlyMostRecentHistory h _ = [h]
instance Default WDConfig where
def = WDConfig {
wdHost = "127.0.0.1"
, wdPort = 4444
, wdRequestHeaders = []
, wdCapabilities = def
, wdHistoryConfig = unlimitedHistory
, wdBasePath = "/wd/hub"
, wdHTTPManager = Nothing
, wdHTTPRetryCount = 0
}
defaultConfig :: WDConfig
defaultConfig = def