Как использовать runSession from: Test.WebDriver в haskell selenium webdriver?

Я новичок в Хаскеле (хотя я после прочтения ЛЯХ). Я понятия не имею, что я должен сделать, чтобы использовать селен вебдрайвер ( ссылка вебдрайвера на взлом). Я уверен, что должен запустить одну из этих функций

runWD :: WDSession -> WD a -> IO aSource
runSession :: WDSession -> Capabilities -> WD a -> IO aSource
withSession :: WDSession -> WD a -> WD aSource

но я не понимаю, как получить эту структуру WD, которая определяется как:

WD (StateT WDSession IO a)   
Instances:
Monad WD     
Functor WD   
Applicative WD   
MonadCatchIO WD  
MonadIO WD   
WebDriver WD     
SessionState WD  
MonadBase IO WD  
MonadBaseControl IO WD  

Интересно также, какова цель этой структуры WD?

Пример кода или указание того, что я должен был прочитать о Haskell, чтобы понять, что здесь происходит, будет очень полезным для меня.

1 ответ

Решение

Ссылочная страница говорит, что WD является

Монадический интерфейс к серверу WebDriver. Эта монада представляет собой простой строгий слой над вводом-выводом, распределяющий информацию о сеансе между последовательными командами.

Так что вы можете сделать что-то вроде этого:

foo = runWD defaultSession $ do
    liftIO $ putStrLn "Hello WD"
    somethingElse
    ...
Другие вопросы по тегам