Gebを試してみる(再々)
Gebを試してみる(引き続き) | ゲンゾウ用ポストイット の続き。
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日 追記
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'),
])
...
いつもありがとうございます。
ディスカッション
コメント一覧
まだ、コメントがありません