環境
- PC (OS:Windows Server 2003, x64 Edition, SP2)
- IE (ver 7)
- Java (1.7)
- Selenium WebDriver (2.42.2)
エラー
Selenium WebDriverを使ってIE7の画面テストを行う際に下記エラーが発生しました。
-
IE7は起動しますが、真っ白のページに下記メッセージが表示され、テスト対象のページへ遷移できません。
This is the initial start page for the WebDriver server.
-
コンソール上にもエラーが出ます。
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to navigate to http://user01:password01@stg.allabout.co.jp/. This usually means that a call to the COM method IWebBrowser2::Navigate2() failed. (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 31 milliseconds : (以下省略)
原因
-
下記参考ページをヒントに、テスト対象のURLがIE7でサポートしていないことが分かりました。
- テスト対象のページにベーシック認証がかかっていて、これをスルーしたいため、下記のようなURLを使っていました。
- http://user01:password01@test.allabout.co.jp/
対応
-
このようなURLをIEで開くにはレジストリに値を追加する必要があるようです。
(64bit OSの場合)- 左メニュー[スタート]-[ファイル名を指定して実行] で regedit と入力。
- レジストリエディタで下記のようにツリーをたどり、[FeatureControl]を右クリックし [キー]->[新規]で[FEATURE_HTTP_USERNAME_PASSWORD_DISABLE]を追加。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\
- 追加した上記キーを選択し、右ペインで右クリック。[新規]->[DWORD 値]で下記を追加。
[名前] iexplore.exe [値] 0