我对Play 2.1.1和HTMLUNIT驱动程序的Scala fluent上的测试存在问题。
错误是下一个:
[error] 2013-04-13 15:15:40,548 - c.g.h.j.StrictErrorReporter - runtimeError: message=[The data necessary to complete this operation is not yet available.] sourceName=[http://localhost:3333/assets/libs/jquery-1.9.1.js] line=[928] lineSource=[null] lineOffset=[0]
与jquery 1.7.1相同。 使用FIREFOX驱动程序(计算机上的firefox 20)进行的测试没问题,版本依赖于fluentlenium-festassert 0.7.8
我认为这是由于HTMLUNIT的默认浏览器版本,但我不会更改此版本。
感谢您的帮助
答案 0 :(得分:3)
好的,我找到了解决方案。你需要做两件事。更改代码 - 示例似乎不起作用,但您也需要安装selenium驱动程序,否则它不会安装Web浏览器的插件。为此,请将此添加到您的构建配置中:
"org.seleniumhq.selenium" % "selenium-java" % "2.31.0"
然后,像这样的一些代码将起作用:
package Selenium
import org.specs2.mutable._
import play.api.test._
import play.api.test.Helpers._
class SeleniumTest extends Specification {
val app = FakeApplication()
"Application" should {
"works from within a browser" in new WithBrowser(webDriver = Helpers.FIREFOX, app = app) {
running(FakeApplication()) {
browser.goTo("/")
//browser.$("#title").getTexts().get(0) must equalTo("Welcome")
browser.waitUntil[Boolean]{
browser.pageSource contains ("Welcome")
}
//info(browser.$("#title").toString)
}
}
}
}
令人遗憾的是,这没有更好的记录。