Seleniumテストが実行できなくなった...
ここ数日Hudsonを別のサーバに移行していたところ、Seleniumのテストを実行時に以下の様なエラーでコケてました。
WARN 2008-05-09 10:49:22,706 [main] error: com.thoughtworks.selenium.SeleniumException: at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:73) at com.thoughtworks.selenium.DefaultSelenium.open(DefaultSelenium.java:222)
なんかエラーの内容が空白で詳細がわからなかったのですが、正常に動作する環境と比較して調べてみてやっとわかりました。
私が変な使い方をしていたのにも原因があるのかもしれませんが、、HTMLのテストケースではなくSeleniumRCを使ってJUnitのテストケースで実行して、さらにMaven2からのSeleniumServerの起動と停止がうまくできなかったので、各テストケース内でSeleniumServerを起動させていました。そのため、pom.xmlのdependenciesにselenium-java-client-driver-0.9.2とselenium-server-0.9.2を追加していました。
この場合、selenium-java-client-driver-0.9.2=>selenium-core-0.8.3=>selenium-server-coreless-0.9.1のような依存性があるようで、自動的に追加されたselenium-server-coreless-0.9.1が影響していたようです。pom.xmlにて、selenium-java-client-driverのdependencyからselenium-server-corelessを除外することでとりあえず解消できました。
<dependency> <groupId>org.openqa.selenium.client-drivers</groupId> <artifactId>selenium-java-client-driver</artifactId> <version>0.9.2</version> <exclusions> <exclusion> <groupId>org.openqa.selenium.server</groupId> <artifactId>selenium-server-coreless</artifactId> </exclusion> </exclusions> </dependency>