Selenium 実行結果ログファイルの文字化け
SeleniumをRCモードで実行した際、そのログをファイルに出力することができるのですがそこに日本語が入っているとこれが文字化けするというお話。
で、この問題以前調査したことがあり、そのときの結論は
1.ソースのHTMLtestResults.javaを修正する。
ログを出力する直前で文字コードを変換して出力するというもの。
2.実行時のコマンドラインパラメータでエンコード文字の指定をする
具体的には下記の通り。
java -Dfile.encoding=8859_1 -jar selenium-server-standalone-2.32.0.jar -htmlSuite *firefox http://yahoo.co.jp TestSuite.html Result.html
後々のこと(モジュールのバージョンアップ)などを考えると後者の方が良い訳です。
で、そのときは文字化けが解消してクローズしたのです。
が、FireFox・Seleniumのバージョンアップで久々に動かしてみると、文字化けが再発してる!!
環境は
windows7
FireFox23
Selenium 2.35.0
スクリプトは UTF-8で作成しており、実行時の画面を見ているとrunner側のブラウザ上に表示されるログ部分は文字化けしていません。
で、出力されるログファイル(上記の Result.html)の文字コードは sjisに、なっています。
なので下記のように変更
java -Dfile.encoding=UTF-8 -jar selenium-server-standalone-2.35.0.jar -htmlSuite *firefox http://yahoo.co.jp TestSuite.html Result.html
これで実行したところ、ログファイルの文字コードは UTF-8にかわっているのですが、文字化けは解消せず。 どういうこと?!
これはソースを書き換えるしか無いのかな・・・・