sydtest-webdriver-0.0.0.1: A webdriver companion library for sydtest
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Syd.Webdriver

Synopsis

Defining webdriver tests

type WebdriverSpec app = TestDef '[SeleniumServerHandle, Manager] (WebdriverTestEnv app) Source #

Type synonym for webdriver tests

newtype WebdriverTestM app a Source #

A monad for webdriver tests. This instantiates the WebDriver class, as well as the IsTest class.

Instances

Instances details
MonadBaseControl IO (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Associated Types

type StM (WebdriverTestM app) a #

MonadBase IO (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Methods

liftBase :: IO α -> WebdriverTestM app α #

MonadIO (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Methods

liftIO :: IO a -> WebdriverTestM app a #

Applicative (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Methods

pure :: a -> WebdriverTestM app a #

(<*>) :: WebdriverTestM app (a -> b) -> WebdriverTestM app a -> WebdriverTestM app b #

liftA2 :: (a -> b -> c) -> WebdriverTestM app a -> WebdriverTestM app b -> WebdriverTestM app c #

(*>) :: WebdriverTestM app a -> WebdriverTestM app b -> WebdriverTestM app b #

(<*) :: WebdriverTestM app a -> WebdriverTestM app b -> WebdriverTestM app a #

Functor (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Methods

fmap :: (a -> b) -> WebdriverTestM app a -> WebdriverTestM app b #

(<$) :: a -> WebdriverTestM app b -> WebdriverTestM app a #

Monad (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Methods

(>>=) :: WebdriverTestM app a -> (a -> WebdriverTestM app b) -> WebdriverTestM app b #

(>>) :: WebdriverTestM app a -> WebdriverTestM app b -> WebdriverTestM app b #

return :: a -> WebdriverTestM app a #

WebDriver (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

Methods

doCommand :: (HasCallStack, ToJSON a, FromJSON b) => Method -> Text -> a -> WebdriverTestM app b #

WDSessionState (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

MonadReader (WebdriverTestEnv app) (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

IsTest (WebdriverTestM app (GoldenTest a)) Source # 
Instance details

Defined in Test.Syd.Webdriver

Associated Types

type Arg1 (WebdriverTestM app (GoldenTest a)) #

type Arg2 (WebdriverTestM app (GoldenTest a)) #

IsTest (WebdriverTestM app ()) Source # 
Instance details

Defined in Test.Syd.Webdriver

Associated Types

type Arg1 (WebdriverTestM app ()) #

type Arg2 (WebdriverTestM app ()) #

Methods

runTest :: WebdriverTestM app () -> TestRunSettings -> ProgressReporter -> ((Arg1 (WebdriverTestM app ()) -> Arg2 (WebdriverTestM app ()) -> IO ()) -> IO ()) -> IO TestRunResult #

type StM (WebdriverTestM app) a Source # 
Instance details

Defined in Test.Syd.Webdriver

type StM (WebdriverTestM app) a = StM (ReaderT (WebdriverTestEnv app) WD) a
type Arg1 (WebdriverTestM app (GoldenTest a)) Source # 
Instance details

Defined in Test.Syd.Webdriver

type Arg1 (WebdriverTestM app (GoldenTest a)) = ()
type Arg1 (WebdriverTestM app ()) Source # 
Instance details

Defined in Test.Syd.Webdriver

type Arg1 (WebdriverTestM app ()) = ()
type Arg2 (WebdriverTestM app (GoldenTest a)) Source # 
Instance details

Defined in Test.Syd.Webdriver

type Arg2 (WebdriverTestM app ()) Source # 
Instance details

Defined in Test.Syd.Webdriver

runWebdriverTestM :: WebdriverTestEnv app -> WebdriverTestM app a -> IO a Source #

Run a webdriver test.

data WebdriverTestEnv app Source #

Constructors

WebdriverTestEnv 

Fields

Instances

Instances details
MonadReader (WebdriverTestEnv app) (WebdriverTestM app) Source # 
Instance details

Defined in Test.Syd.Webdriver

webdriverTestEnvSetupFunc :: SeleniumServerHandle -> Manager -> URI -> app -> SetupFunc (WebdriverTestEnv app) Source #

Set up a WebdriverTestEnv for your app by readying a webdriver session

Writing webdriver tests

openPath :: String -> WebdriverTestM app () Source #

Open a page on the URI in the WebdriverTestEnv.

setWindowSize Source #

Arguments

:: (HasCallStack, WebDriver wd) 
=> (Word, Word)

(Width, Height)

-> wd () 

Running a selenium server

seleniumServerSetupFunc :: SetupFunc SeleniumServerHandle Source #

Run, and clean up, a selenium server