Seleniumを試してみる(Edge)

投稿者: | 2019年5月27日

Webアプリケーションの自動テストツールSeleniumを試すシリーズ。

今回は Microsoft Edge を立ち上げてからのテスト起動までを行ってみたいと思います。

 

OS/ブラウザのバージョン

検証に使用したのは、Microsoft Edgeは 42.17134.1.0, Windows 10 Home 64 bit 。EclipseはOxygenです。

Web Driverのダウンロードや、Eclipseでの細かい設定については、他のブラウザを使用する場合も同じです。こちらを参照のこと。

 

実行コード

mainメソッドで次のコードを書きます。テスト対象として使わせていただいたページは、ChromeFirefoxのときと同じく、日本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が自動で立ち上がり、ブラウザも自動で閉じて終了です。