こんにちは。プロダクト&サービス事業部の笹山です。
前回のブログ(Seleniumの自動テストを止めることなく、Flexを手動操作する方法)で「FlashSeleniumについて調査をして、このブログに公開できたら・・・」などと書きましたが、全く調査できておりません。お詫び申し上げます。
前回のブログ執筆時後、SeleniumRCのバージョンも1.0.1に上がっていますし、FlashSeleniumもSeleniumRC1.0互換のものが出ているようです。
ですから、現時点では「あっさり動いてしまう?」のかもしれません。
今回もSeleniumRCネタではありますが「SeleniumRCで自己署名証明書使用のWEBアプリケーションをテストする際、Firefoxからのセキュリティ警告を表示させない方法」について書きたいと思います。
自己署名証明書使用のWEBアプリケーションをテストする際の問題
SSL対応のWEBアプリケーションのテストを行う際に、自己署名証明書を作成してテストすることは多いと思います。
SeleniumRCで自己署名証明書使用のWEBアプリケーションのテストを行うことはもちろん可能です。
しかし、面倒くさい操作が発生してしまうのです。
サーバに接続する際に、「信頼できない接続 – 接続の安全性を確認できません」と警告が出ます。
例外として追加しても毎回警告が表示され、そのたびに例外に追加する操作を行わなければいけません。
これでは、SeleniumRCを用いての自動テストの意味がありません。
問題の解決方法
これを解決する方法が分かりました。ただしFirefoxでのみです。
FirefoxでSeleniumServer用のProfileを作成し、SeleniumServer起動時にそのProfileを指定させれば良いのです。
それでは、まず最初にFirefoxでSeleniumServer用のProfileを作成する手順について説明します。
SeleniumServer用のProfile作成手順
- アクセサリ-ファイル名を指定して実行でFirefoxのProfileManagerを起動します
firefox.exe -ProfileManager
- 「新しいプロファイルを作成」でSelenium用のプロファイルを作成します
- プロファイル作成ウィザードで順番に作成していきます
※安全のため保存先は、Selenium用のフォルダを作成し、そのフォルダを指定することをお勧めします
- Selenium用のプロファイル作成後、作成したプロファイルを指定して自己署名証明書使用のサイトにアクセスします
「信頼できない接続 – 接続の安全性を確認できません」と警告が出ます
- 自己署名証明書使用のサイトを例外として追加し、セキュリティ例外を承認します
後にも先にも、Firefoxで自己署名証明書使用のサイトを例外として追加する操作はこの1回だけです。
次に、SeleniumServerへProfileを指定する方法を説明します。
JUnitテストソースでSeleniumServer起動時にProfileを指定させるコード
使用するProfileを指定して、SeleniumServerを起動するコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // 自己署名証明書使用のURL testUrl = "https://localhost:8443"; // テストを行うブラウザ testBrowser = "*firefox"; // SeleniumServerのインスタンス化 seleniumServer = new SeleniumServer(); // Selenium用プロファイルの指定 --------- ここから ------------- RemoteControlConfiguration config = seleniumServer.getConfiguration(); config.setFirefoxProfileTemplate(new File("D:\\firefox_selenium")); // Selenium用プロファイルの指定 --------- ここまで ------------- // SeleniumServerの起動 seleniumServer.start(); // seleniumClientを起動 selenium = new DefaultSelenium("localhost", 4444, testBrowser, testUrl); selenium.start(); |
selenium-server.jarファイル実行時にProfileを指定させる方法
上記のJUnitのテストケースではなく、別途SeleniumServerを起動してテストを行う場合は、以下のコマンドを実行してください。
java -jar selenium-server.jar -firefoxProfileTemplate d:\\selenium-firefox
最後に
これで通常通りSeleniumRCで自動テストを実行すると、わずらわしい警告は出なくなるはずです。
Firefoxのみの対処方法でしたが、IEやその他ブラウザでの解決方法はまだ分かっていません。
調査を続行していこうと思っています。(FlashSeleniumの調査も忘れずに!)











7月 23rd, 2009 at 10:39
[...] SeleniumRCで自己署名証明書使用のWEBアプリケーションをテストする際、セキ… [...]
10月 21st, 2009 at 19:03
[...] SeleniumRCで自己署名証明書使用のWEBアプリケーションをテストする際、セキ… (6) [...]