module Test.WebDriver.Commands.Logs (
withRecordLogsViaBiDi
, withRecordLogsViaBiDi'
, getLogs
, LogType
, LogEntry(..)
, LogLevel(..)
) where
import GHC.Stack
import Test.WebDriver.Commands.Logs.BiDi
import Test.WebDriver.Commands.Logs.Chrome
import Test.WebDriver.Commands.Logs.Common
import Test.WebDriver.Commands.Logs.Firefox
import Test.WebDriver.Commands.Logs.Selenium
import Test.WebDriver.Types
getLogs :: (HasCallStack, WebDriver wd) => LogType -> wd [LogEntry]
getLogs :: forall (wd :: * -> *).
(HasCallStack, WebDriver wd) =>
LogType -> wd [LogEntry]
getLogs LogType
logType = do
Session { sessionDriver :: Session -> Driver
sessionDriver = Driver { _driverConfig :: Driver -> DriverConfig
_driverConfig = DriverConfig
driverConfig } } <- wd Session
forall (m :: * -> *). SessionState m => m Session
getSession
case DriverConfig -> Maybe Browser
detectBrowserFromDriver DriverConfig
driverConfig of
Just Browser
BrowserChrome -> LogType -> wd [LogEntry]
forall (wd :: * -> *).
(HasCallStack, WebDriver wd) =>
LogType -> wd [LogEntry]
getChromeLogs LogType
logType
Just Browser
BrowserFirefox -> LogType -> wd [LogEntry]
forall (wd :: * -> *).
(HasCallStack, WebDriver wd) =>
LogType -> wd [LogEntry]
getFirefoxLogs LogType
logType
Just Browser
BrowserSelenium -> LogType -> wd [LogEntry]
forall (wd :: * -> *).
(HasCallStack, WebDriver wd) =>
LogType -> wd [LogEntry]
getSeleniumLogs LogType
logType
Maybe Browser
Nothing -> [LogEntry] -> wd [LogEntry]
forall a. a -> wd a
forall (m :: * -> *) a. Monad m => a -> m a
return []