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に記録するような事ができないだろうか(よくあるテストツールのレコーダ機能)等、いろいろ出来て面白そうなので、そのうちちょっと弄ってみる予定だ。
追記:
シェルが使えるPowerShellやIronPythonで.NET FrameworkのWebBrowserコンポーネントにアクセスできるので、全く同様の事が.NETプラットホームでも簡単にできそうな気もする。
追記:
>よくあるテストツールのレコーダ機能
Microsoft Application Center Testのブラウザ アクティビティの記録で実現できるんだけど、今となっては有償ツールってのが。
追記:
developer-adjust氏のコメントによると、Seleniumを使えば、私のやりたいことは殆ど出来てしまうらしい。Seleniumは日記でもちょっとだけ登場したことがあるのだが、OSSは少し目を離しているとあっという間に浦島太郎状態だ。