ひよっこ。

I want to…

Selenium2のInternetExplorerDriverでエラーになった

Posted by hikaruworld : 2011 7月 26

Selenium2が便利と聞いて試してみたら、InternetExplorerDriverが起動しなくてハマったのでメモしておきます。

取りあえず依存関係をpom.xmlに追加して、以下がテストメソッド(基本チュートリアルのコピペ)になります。

@Test
public void testname() throws Exception {
    WebDriver driver = new InternetExplorerDriver(/*ieCapabilities */);

    driver.get("http://www.google.com");
    WebElement element = driver.findElement(By.name("q"));
    element.sendKeys("Cheese!");

    element.submit();

    driver.quit();
}

これを実行すると、以下のエラーが出た

org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer. Protected Mode must be set to the same value (enabled or disabled) for all zones. (WARNING: The server did not provide any stacktrace information)
Build info: version: ‘2.0.0’, revision: ‘12817’, time: ‘2011-07-14 23:50:51’
System info: os.name: ‘Windows 7’, os.arch: ‘x86’, os.version: ‘6.1’, java.version: ‘1.6.0_20’
Driver info: driver.version: InternetExplorerDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:131)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:105)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:402)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:101)
at org.openqa.selenium.ie.InternetExplorerDriver.setup(InternetExplorerDriver.java:103)
at org.openqa.selenium.ie.InternetExplorerDriver.(InternetExplorerDriver.java:61)
// 以下省略

えー、と思って取りあえずissueを検索してみたら、Issues1795を発見。
あと、SeleniumのWikiにもInternetExplorerDirverにRequired Configurationという記述があります。

つまり、IEのインターネットオプションのセキュリティ設定で全てのゾーンの保護モードを会わせろとのことのようです。
って、英語でログにそのまま書いてあるじゃんorz…
(Issues1795#comment19の添付画像を参照)

というわけで全部有効に設定して再度確認。

OKでした(-

おまけ、Issues1795#comment1にあるように設定したら、指摘されているようにクラッシュしました。残念。

DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);

以上です。

コメント / トラックバック1件 to “Selenium2のInternetExplorerDriverでエラーになった”

  1. […] Selenium2のInternetExplorerDriverでエラーになった […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。