私は Geb を初めて使用し、さらに使用する前に簡単なテストを行って評価しようとしています。プロキシのアクセス許可などにより、Grape を使用せずにそうしたいと考えています。そのため、必要な jar ファイルを手動でダウンロードして、コマンド ラインで指定しようとしています。
ただし、そうすると、WebDriverException で次のクラスが見つかりませんでした。
C:\geb-test>groovy -cp geb-core-0.9.2.jar;selenium-htmlunit-driver-2.35.0.jar;selenium-support-2.35.0.jar GoogleTest
Caught: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriverException
java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriverException
at GoogleTest.run(GoogleTest.groovy:3)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriverException
... 1 more
C:\geb-test>
追加の瓶が必要ですか? もしそうなら、どれですか?他にもいくつか試しましたが、喜びはありませんでした.WebDriverExceptionがselenium-api-2.35.0.jarにあることに気づきましたが、違いはありませんでした。
したがって、いくつかのバージョン情報から始まる詳細は次のとおりです。
- Groovy バージョン: 2.1.7 JVM: 1.7.0_40 ベンダー: Oracle Corporation OS: Windows 7
まず、 GoogleTest.groovyというファイルに記述した単純な geb インライン スクリプトの例を使用します。
import geb.Browser
Browser.drive {
go "http://google.com/ncr"
// make sure we actually got to the page
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 dynamically 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 to Wikipedia
waitFor { title == "Wikipedia" }
}
次に、 geb のインストール手順に基づいて、 @ Grab アノテーションに記載されている jar があることを確認しました。これにより、テスト ディレクトリに次のファイルが作成されました。
07/11/2013 10:46 <DIR> .
07/11/2013 10:46 <DIR> ..
06/11/2013 14:51 460,165 geb-core-0.9.2.jar
06/11/2013 15:13 711 GoogleTest.groovy
06/11/2013 14:55 56,189 selenium-htmlunit-driver-2.35.0.jar
06/11/2013 14:54 130,535 selenium-support-2.35.0.jar
4 File(s) 647,600 bytes
そして、完全を期すために、上記のコマンド ラインの実行を試みます。
C:\geb-test>groovy -cp geb-core-0.9.2.jar;selenium-htmlunit-driver-2.35.0.jar;selenium-support-2.35.0.jar GoogleTest
Caught: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriverException
java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriverException
at GoogleTest.run(GoogleTest.groovy:3)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriverException
... 1 more
C:\geb-test>
問題は、Groovy '-cp' コマンドラインを使用した複数の jar ではないかと考え始めています。${user.home}.groovy\lib ディレクトリに jar ファイルを配置しようとしています。しかし、その後、GebException の定義されていないクラスになってしまいます。これを機能させるには、Grape を使用する必要があるかもしれません。:/ お知らせ下さい。