Eigemann Tech Blog

名もないエンジニアが色々技術系のことについて書いてみます

Selenium3.0 - Geckodriverを使ってFirefoxを起動する方法


スポンサーリンク

こんにちはEigemannです。

 

Selenium3.0 がリリースされていたのに今頃気づいてようやく試しに使ってみました。Eclipseをインストールして公式のサンプルをコピーしてきて実行。しかしexceptionエラー。

java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases at com.google.common.base.Preconditions.checkState(Preconditions.java:199) at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:38) at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:91) at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296) at org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:220) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:215) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:124)

 

Geckodriverが必要と書いてあります。日本語の他のドキュメントには書いてなかったけどおかしいなと思ったらバージョン2.53より下のものは必要なかったみたいです。3.0.1なので必要になったみたい。

 

早速ここからGeckodriverをダウンロード。Windowsマシンだったので.exeファイルが解凍したらでてきて少し?となりました。これインストーラーでもないのになんだろと。

 

System.setProperty("webdriver.gecko.driver", driverPath+"geckodriver.exe");

public WebDriver driver;

 

System.setPropertyをpublic WebDriver driver;の前に追加すればよかったのですね。.exeファイルはここでファイルへのパスと合わせて表記すればOKでした。Windowsなので思わず"/"を使ってしまいましたが、eclipseではエラーになるので"\"でパスを表記するのをお忘れなく。

 

今回のまとめ 

無事selenium3.0でfirefoxのテストケースサンプルが動いて自動的にfirefoxが立ち上がり検索を行いました。ちょっとしたエラーで詰まって結構唸っていたので記録がてらエントリーを書いておきました。さてこの次はテストケースを作成しないといけないなあ。