2.XをJavaScriptで使うしばらくWeb開発から離れていて、Seleniumについてもチェックしていませんでしたが、Googleの手が入ってずいぶんと様変わりしたようです。SeleniumはHTMLが書ければWebサイトの自動テストができるというお手軽さが良かったのですが、SeleniumRCなどが登場してよりプログラマ向けのツールになってしまいました。あのお手軽さを犠牲にしてしまうのは少々残念な感じもしますが、実際プログラマでない人はそもそも自動テストなどしない、だったらよりプログラマ向けに特化してもいいではないかと判断かもしれません。2.Xは基本的にはJavaで作られていますが、各種言語のbindingも用意されているため、Java以外のプログラマにも敷居が低くなっています。ところが、Webプログラマ必修言語であるJavaScriptのbindingがありません。して当たり前過ぎて誰も書いてないだけで、Rhino使えばいいじゃないかということなのでしょうか?できるかどうかくらいは検証しておきたいということで、調査しました。Rhinoのライブラリ。Serverのライブラリ。クライアントもすべての関連ライブラリも1つにまとめられているので、これ1つあれば全機能が使えるはず。Serverのライブラリを指定してRhinoを起動。links.get(0).click();「会社名」のカラムの次のカラム、すなわち会社名そのものを取得する。e.get(0).getText()有限会社松林堂(ゆうげんがいしゃしょうりんどう)画面のスナップショットを撮る。driver.getScreenshotAs(OutputType.FILE)C:\DOCUME~1\XXXX\LOCALS~1\Temp\screenshot1079032477667427469.pngWindowsなのでユーザのテンポラリフォルダに自動的にファイル名が生成されて保存された。いうメソッドが使えるか、リファレンスを睨みながらコードを書くのも大変なので、以下の関数を定義しておく。fn.sort();}これで、FirefoxDriverのインスタンスのメソッドを調べる。getCommandExecutor()*/}FireFoxを閉じて終了。quit()結論あっさりと簡単にSeleniumからブラウザを起動して操作をすることができた。気になることはパフォーマンスだが、ブラウザそのもののレスポンスが支配的と思われるので、JavaScript⇔Javaのオーバーヘッドは無視できる。Javaの実行環境さえあれば、インストール不要でテストを実行できる。(開発環境でないマシンをちょっと借りて、ということがやりやすい)テキストエディタさえあれば、テストプログラムをちょこちょこ修正しつつテストできることはとてもお気楽で良い。よって、Selenium2はRhino経由でJavaScriptで使うべきである。