1

當試圖運行集成測試時,我遇到了一個莫名其妙的問題,JVM將掛起,使用100%的CPU。新的Play應用程序附帶的測試正常工作,但只要需要數據庫交互,它就會無限期地掛起。對於所有其他的單元測試,一切都可以平滑地連接到localhost上的mysql數據庫。我希望能夠在集成測試中使用相同的設置。玩!集成測試掛起使用WithBrowser

下面是測試browser.goTo(「/」)

import org.specs2.mutable._ 

import play.api.test._ 
import play.api.test.Helpers._ 

class TestSpec extends Specification { 

    "Application" should { 

    "work from within a browser" in new WithBrowser(webDriver = HTMLUNIT, app = FakeApplication()) { 

     browser.goTo("/") 

     println(browser.pageSource) 

     browser.$("#email").text("[email protected]") 
     browser.$("#password").text("password") 
     browser.$("#loginbutton").click() 
     browser.pageSource must not contain("Sign in") 
     browser.pageSource must contain("Logout") 

    } 

    } 

} 

回答

4

我的情況是硒版本。在Build.scala加入這行來appDependencies將升級硒:

"org.seleniumhq.selenium" % "selenium-java" % "2.35.0" % "test"

從那裏,我可以同時使用和的HtmlUnit爲FIREFOX捲筒紙驅動器沒有任何問題。

0

你試過設置端口,如3333,然後用你的本地主機,將在調用時掛起的例子嗎?

browser.goTo("http://localhost:3333/") 
+0

這不是網址或端口。如果我執行'browser.goTo(「/ test」)'/ test輸出一個不需要數據庫的簡單視圖,一切正常。否則,它掛起。 –

0

你解決了這個問題嗎?我有同樣的問題,如果有任何數據庫連接,它也掛起簡單的路由(FakeRequest)。

我解決了這個設置(Build.scala): .settings(parallelExecution在測試:= FALSE)

它幫助我與FakeRequest,但Selenium測試仍掛起。