import Control.Monad.Error import Data.Maybe import Network.BSD import Network.URI import Test.Selenium.Server import Test.Selenium.Syntax test1 :: Selenium String test1 = do open "/" typeText (Name "q") "stuff" clickAndWait (Name "btnG") main :: IO () main = do host <- getHostName let uri = fromMaybe nullURI (parseURI "http://www.google.com/") result <- withSelenium (mkSeleniumRCSession host Firefox uri) $ do test1 either putStrLn (\_ -> return ()) result return ()