2

Play 2.1.1 と HTMLUNIT ドライバーでの Scala fluentlenium テストに問題があります。

エラーは次のとおりです。

[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でも同じです。fluxlenium-festassert 0.7.8 のバージョン依存関係で、FIREFOX ドライバー (コンピューター上の firefox 20) を使用したテストは問題ありません。

HTMLUNIT のデフォルトのブラウザー バージョンが原因だと思いますが、このバージョンを変更することはできません。

お手伝いありがとうございます

4

1 に答える 1

3

わかりました、私は解決策を見つけました。2 つのことを行う必要があります。コードを変更してください。サンプルは機能しないようですが、セレン ドライバーをインストールする必要があります。そうしないと、Web ブラウザーのプラグインがインストールされません。これを行うには、これをビルド構成に追加します。

      "org.seleniumhq.selenium" % "selenium-java" % "2.31.0"

ここの議論に従って: https://groups.google.com/forum/?fromgroups=#!searchin/play-framework/browser$20tests/play-framework/AlJwpRfyXv0/Ry8Jsxj8mCcJ

次に、次のようなコードが機能します。

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)
      }
    }
  }
}

これがより適切に文書化されていないのはかなり悲しいことです。

于 2013-05-09T06:36:46.700 に答える