読者です 読者をやめる 読者になる 読者になる

ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

Gebを試してみる(再々)

Gebを試してみる(引き続き) - ゲンゾウ用ポストイット-newの続き。

id:kiy0takaさんがコメントをくれていた。

@Grab('org.seleniumhq.selenium:selenium-chrome-driver:latest.release')
をつけたらいいよ。

ダメモトでやったらやっぱりだめだった。

@GrabConfig(systemClassLoader=true)
@Grapes([
    @Grab('org.seleniumhq.selenium:selenium-chrome-driver:latest.release'),
    @Grab("org.codehaus.geb:geb-core:latest.release")
])
import geb.Browser
 
Browser.drive("http://google.com/ncr") {
    assert title == "Google"
 
    // enter wikipedia into the search field
    $("input", name: "q").value("wikipedia")
 
    // wait for the change to results page to happen
    // (google updates the page without a new request)
    waitFor { title.endsWith("Google Search") }
 
    // is the first link to wikipedia?
    def firstLink = $("li.g", 0).find("a.l")
    assert firstLink.text() == "Wikipedia"
 
    // click the link
    firstLink.click()
 
    // wait for Google's javascript to redirect
    // us to Wikipedia
    waitFor { title == "Wikipedia" }
}
Caught: java.lang.IncompatibleClassChangeError: Implementing class
    at geb.driver.PropertyBasedDriverFactory.getDriver(PropertyBasedDriverFactory.groovy:59)
    at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:36)
    at geb.Browser.getDefaultDriver(Browser.groovy:61)
    at geb.Browser.<init>(Browser.groovy:48)
    at geb.Browser.<init>(Browser.groovy)
    at geb.Browser.<init>(Browser.groovy:44)
    at geb.Browser.<init>(Browser.groovy)
    at geb.Browser.drive(Browser.groovy:239)
    at GebExamples.run(GebExamples.groovy:9)

僕にはまだ早い技術ということで諦める。
Linuxという環境がまずいのかもしれない。

2011年05月25日 追記

id:kiy0takaさんのご指摘で、
Grabの記述順序に誤りがありとのこと。

以下のように記述するのが正しいようです。

@GrabConfig(systemClassLoader=true)
@Grapes([
-    @Grab('org.seleniumhq.selenium:selenium-chrome-driver:latest.release'),
-    @Grab("org.codehaus.geb:geb-core:latest.release")
+    @Grab("org.codehaus.geb:geb-core:latest.release"),
+    @Grab('org.seleniumhq.selenium:selenium-chrome-driver:latest.release'),
])
...

いつもありがとうございます。

広告を非表示にする