Watir - Watij

某SQASuiteのように、シミュレートするのではなくIE自身をコントロールして、Webアプリケーションを動作テストするようなものを探していたのだが、よさげなのが見つかった。(別に新しいものではない。特にWatirに関してはRoRがらみで使っている人も多いだろう)

Watir - Web Application Testing in Ruby
Watij - Web Application Testing in Java

元々のRubyで書かれたWatirと、そこからJavaプラットホームにポーティングしたWatijだが、両方とも殆ど同じ感覚でIEのインスタンスを内部で起動してナビゲーション、フィールドを探して値をセットしてサブミットする、等を簡単に実行できる。
on Watir

ie = Watir::IE.start("http://d.hatena.ne.jp/Kazzz/")
ie.text_field(:name, "word").set("徒然")
ie.button(:name, ".submit").click

on Watij

IE ie = new IE();
ie.start("http://d.hatena.ne.jp/Kazzz/");
ie.textField(name,"word").set("徒然");
ie.button(name, ".submit").click();

元々スクリプト言語では無いJavaを使うWatijにはBeanShellが添付されており、コンソールモードからテストを実行することもできる。

これを使って、ブラウザの動作をWatir又はWatijに記録するような事ができないだろうか(よくあるテストツールのレコーダ機能)等、いろいろ出来て面白そうなので、そのうちちょっと弄ってみる予定だ。

追記:
シェルが使えるPowerShellIronPython.NET FrameworkのWebBrowserコンポーネントにアクセスできるので、全く同様の事が.NETプラットホームでも簡単にできそうな気もする。


追記:
>よくあるテストツールのレコーダ機能
Microsoft Application Center Testのブラウザ アクティビティの記録で実現できるんだけど、今となっては有償ツールってのが。


追記:
developer-adjust氏のコメントによると、Seleniumを使えば、私のやりたいことは殆ど出来てしまうらしい。Selenium日記でもちょっとだけ登場したことがあるのだが、OSSは少し目を離しているとあっという間に浦島太郎状態だ。