以前にもご紹介したとおり、弊社では、eclipseの上でseleniumを使って、webサービスのテストを行っているのですが、seleniumの0.9で環境を構築したので、テストに使うFireFoxはずっと2.0系を使っていました。
(以前のエントリーは、
こちらにまとめてありますので、ぜひご覧ください。
よしづみぶろぐの隠れた人気エントリーです。)
しかし、さすがにFireFoxを3.0にしたいと思い、安易にseleniumのバージョンを1.0にあげたところ、全く動かなくなってしまいました…。戻すまでに少し苦労したので、備忘録として対処方法を書いておきます。
①seleniumの最新版を取得する
ダウンロードサイトから、最新版を取得して、
・selenium-java-client-driver.jar
・selenium-server.jar
の二つのライブラリを差し替えます。
当初はこれだけでバージョンアップが済むかと思っていたんですが、
ライブラリを差し替えた時点でエラーが発生…。
②junitのパスを通す
どうやら、0.9系のseleniumのjarの中にはjunitのjarも含まれていたようなのですが、
1.0系のseleniumのjarの中にはjunit.jarがいないようなので、これも別途入手してきて
パスを通してあげましょう。
③seleniumの起動ポートの設定を変える
ここが一番苦労したのですが、先に紹介したエントリーの通りに設定されている方の場合、
各パッケージごとにTestBase.javaというクラスがいるかと思うのですが、
①②をやると、DefaultSeleniumのコンストラクトでエラーが出ます。
原因はどうやら、SeleniumServerクラスのgetDefaultPort()というメソッドが廃止になっているからのようです。
調べたところ、SeleniumServerはデフォルトで4444をポートとして使用するそうなので、
TestBase.javaの
--
selenium = new DefaultSelenium("localhost", SeleniumServer.getDefaultPort(), testBrowser, testUrl);
--
を
--
selenium = new DefaultSelenium("localhost", 4444, testBrowser, testUrl);
--
と書き換えてやります。
これで、eclipse上でselenium1.0とFireFox3.0系でテストが出来るようになります。
いやー、小一時間近くはまってしまったが、解決してよかったです。