Selenium HTMLUNIT驱动程序:完成此操作所需的数据尚不可用

Selenium HTMLUNIT驱动程序:完成此操作所需的数据尚不可用,selenium,playframework-2.0,htmlunit,Selenium,Playframework 2.0,Htmlunit,我对play 2.1.1和HTMLUNIT驱动程序的Scala fluentlenium测试有问题 下一个错误是: [error]2013-04-13 15:15:40548-c.g.h.j.StreetErrorReporter-runtimeError:message=[完成此操作所需的数据尚不可用。]sourceName=[http://localhost:3333/assets/libs/jquery-1.9.1.js]line=[928]lineSource=[null]lineOff

我对play 2.1.1和HTMLUNIT驱动程序的Scala fluentlenium测试有问题

下一个错误是:

[error]2013-04-13 15:15:40548-c.g.h.j.StreetErrorReporter-runtimeError:message=[完成此操作所需的数据尚不可用。]sourceName=[http://localhost:3333/assets/libs/jquery-1.9.1.js]line=[928]lineSource=[null]lineOffset=[0]

jQuery1.7.1也是如此。 FIREFOX驱动程序(计算机上的FIREFOX 20)的测试正常,版本依赖性为fluentlenium festassert 0.7.8

我认为这是由于HTMLUNIT的默认浏览器版本造成的,但我并不是来更改这个版本的


谢谢你的帮助

好的,我找到了解决办法。你需要做两件事。更改代码-示例似乎不起作用,但是您确实需要安装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)
      }
    }
  }
}
很遗憾,没有更好的记录