yesodでselenium webdriverを使ったテストを行いたいです.

以下のようなテストは動作しました.

it "webdriverのロードチェック" $ do
    title <- liftIO $ runSession (def :: WDConfig) $ do
        openPage "https://google.co.jp"
        getTitle
    assertEq "title" "Google" title

その後,とりあえずlocalhost:3000にアクセスするテストを書いてみたのですが,そんなサーバはないということで接続できず失敗してしまいます.

approotはlocalhost:3000にしているのですが…

テスト中のURLを知りたいと思ってgetUrlRenderを使ってputStrLnしてみようと思いましたが型が意味不明になって諦めました.


コメントだと文字数超過になってしまうのでこちらに追記します.

失敗するテストケースを以下に追記します.

Home.hs

getHomeR :: Handler Html
getHomeR = do
    defaultLayout $ do
        setTitle "HOME"
        $(widgetFile "home")

HomeSpec.hs

spec :: Spec
spec = withApp $ do
    it "webdriverのロードチェック" $ do
        title <- liftIO $ runSession (def :: WDConfig) $ do
            openPage $ "http://localhost:3000"
            t <- getTitle
            closeSession
            return t
        assertEq "title" "HOME" title

になっていて,実際ブラウザは起動するのですが,サーバーに接続できませんというエラーが出てくる状態です.

エラーは以下のようになっております.

test/Handler/HomeSpec.hs:8: 
1) Handler.Home webdriverのロードチェック
     uncaught exception: FailedCommand (FailedCommand UnknownError 
     Session: SessionId "18939a04-1e84-4f18-8eea-46418d5d4f60" at "127.0.0.1":4444
     org.openqa.selenium.WebDriverException: Reached error page: about:neterror?e=connectionFailure&u=http%3A//localhost%3A3000/&c=UTF-8&f=regular&d=localhost%3A3000%20%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82
     Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
     System info: host: 'Unknown', ip: 'Unknown', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.16-gentoo', java.version: '1.8.0_131'
     Driver info: org.openqa.selenium.firefox.FirefoxDriver
     Capabilities [{moz:profile=/tmp/rust_mozprofile.DDlePRCG2AFm, rotatable=false, timeouts={implicit=0.0, pageLoad=300000.0, script=30000.0}, pageLoadStrategy=normal, platform=ANY, proxy=Proxy(system), specificationLevel=0.0, moz:accessibilityChecks=false, acceptInsecureCerts=false, browserVersion=54.0, platformVersion=4.9.16-gentoo, moz:processID=19730.0, browserName=firefox, javascriptEnabled=true, platformName=linux}]
     Session ID: 2930f19c-906e-4841-9f1c-ce7e11cfa73a
       sun.reflect.NativeConstructorAccessorImpl.newInstance0 (NativeConstructorAccessorImpl.java:-2)
       sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62)
       sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45)
       java.lang.reflect.Constructor.newInstance (Constructor.java:423)
       org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException (W3CHttpResponseCodec.java:150)
       org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:115)
       org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:45)
       org.openqa.selenium.remote.HttpCommandExecutor.execute (HttpCommandExecutor.java:164)
       org.openqa.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:82)
       org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:637)
       org.openqa.selenium.remote.RemoteWebDriver.get (RemoteWebDriver.java:364)
       sun.reflect.NativeMethodAccessorImpl.invoke0 (NativeMethodAccessorImpl.java:-2)
       sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
       sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
       java.lang.reflect.Method.invoke (Method.java:498)
       org.openqa.selenium.support.events.EventFiringWebDriver$2.invoke (EventFiringWebDriver.java:104)
       com.sun.proxy.$Proxy4.get (:-1)
       org.openqa.selenium.support.events.EventFiringWebDriver.get (EventFiringWebDriver.java:163)
       org.openqa.selenium.remote.server.handler.ChangeUrl.call (ChangeUrl.java:40)
       org.openqa.selenium.remote.server.handler.ChangeUrl.call (ChangeUrl.java:25)
       java.util.concurrent.FutureTask.run (FutureTask.java:266)
       org.openqa.selenium.remote.server.DefaultSession$1.run (DefaultSession.java:176)
       java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)
       java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617)
       java.lang.Thread.run (Thread.java:748)
     )