Как использовать 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
...