Webアプリケーションの自動テストツールSeleniumを試すシリーズ。
今回は Microsoft Edge を立ち上げてからのテスト起動までを行ってみたいと思います。
OS/ブラウザのバージョン
検証に使用したのは、Microsoft Edgeは 42.17134.1.0, Windows 10 Home 64 bit 。EclipseはOxygenです。
Web Driverのダウンロードや、Eclipseでの細かい設定については、他のブラウザを使用する場合も同じです。こちらを参照のこと。
実行コード
mainメソッドで次のコードを書きます。テスト対象として使わせていただいたページは、ChromeやFirefoxのときと同じく、日本Seleniumユーザコミュニティが提供してくれているサンプルWebページです。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.edge.EdgeDriver; public class Sample { public static void main (String[] args) { WebDriver driver = new EdgeDriver(); driver.get("http://example.selenium.jp/reserveApp"); driver.findElement(By.id("goto_next")).click(); driver.quit(); } }
エラーの発生と解決方法
このコードを実行すると、次のエラーが出てしまいました。
Exception in thread “main” java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.edge.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/MicrosoftWebDriver. The latest version can be downloaded from http://go.microsoft.com/fwlink/?LinkId=619687
Edge Driverを取得し、system propertyでセットせよと言われている様子。
http://go.microsoft.com/fwlink/?LinkId=619687へアクセスし、少し下へスクロールしたところにあるリンクから、Driverをダウンロードします。
zipファイルをCドライブ直下に解凍し、先ほどのコードに以下の一行を加えます。
System.setProperty("webdriver.edge.driver", "C:\\MicrosoftWebDriver.exe");
コードの修正と再実行
コードの全体を改めて表示すると、以下の状態になります。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.edge.EdgeDriver; public class Sample { public static void main (String[] args) { System.setProperty("webdriver.edge.driver", "C:\\MicrosoftWebDriver.exe"); WebDriver driver = new EdgeDriver(); driver.get("http://example.selenium.jp/reserveApp"); driver.findElement(By.id("goto_next")).click(); driver.quit(); } }
今度は動きました。Edgeが自動で立ち上がり、ブラウザも自動で閉じて終了です。