coリ・ー・ン<2nd life

2005 05 25

webアプリケーションテストツール seleniumがヤバすぎる

http://selenium.thoughtworks.com/index.html

JavaScriptを使い実際のブラウザを介してテストするseleniumがヤバすぎる。便利すぎ。Web案件なんつーのはほんと最終フェイズになってもMVCで云うモデルに当たる部分が「仕様変更」の一言によって変更されることも多々あって、そんなときは各種testが書き直しになったりする。んで最終で時間がない状態じゃtest書き直せる訳もなく人海戦術で無理矢理なんとか仕上げる、つーのがいまのWeb案件の大概の末路の気がするんだけどそれはおいといて。

このseleniumを使えば、簡単な記述で人間が実際にブラウザを操作してテストしている部分の大半である画面遷移、フォームの入力、ヴァリデーションの正否がなどが行える。つまりインターフェイス仕様が変わらなければ延々とテストし続けられるわけだ。最後の受け入れテストの時、プログラム的な仕様変更はあれど、インターフェイス仕様変更はほとんどない。あっても表示位置の変更などだが、seleniumのテストは基本的に見た目に依存されないため、問題なく行える。

それと、JavaScriptを利用したテスト、たとえばとある箇所をクリックしたら別ウィンドウウィンドウが開きそこでフォームの入力を終えたら元のウィンドウに戻り、値がフィルインされてる、なんつーテストにも使える。

また、趣味webアプリを作ってる人にも強力なテストツールになる。趣味で作ってるとtestとかめんどくさくてあんまり作る気にならなかったり(俺だけかも)するんだが、seleniumを使えばフォームに値入れてって実際に表示できるかテスト、ってのが簡単に書ける。何がいいのかって、実際にブラウザwebアプリの動作を見つつテストできるのが良い。テストがたのしーんですよ!!!

で、seleniumなんだけどJavaScriptで書かれてるので言語には依存しない。ただ、Java Ruby Pythonはdriverがあって、ライブラリがwin32oleなどを叩いてブラウザを起動しseleniumを使ってテストを行える。

Ruby on Railsには本家wikiSelenium Integrationに書いてあるように、selenium test generatorと./script/serverのwebrickでseleniumを動かすpatchがあったり、moriqさんのTest::Unit --runner=webrickがあったりする。

Selenium Integrationのあるpatchを利用すると、test記述部分に素のselenium test(htmlのtable内部にtr,tdタグで書いていく)を書かないといけないので面倒。なのでyamlからselenium tastを作るやつを組み込んで簡単にtestが書けるようにと試行錯誤中。あーおもしろい。

jnnmissyjnnmissy 2007/01/30 10:39 are twice as likely to begin engaging in sexual intercourse in <a href=http://volume5.8888mb.com/free-porn-video/>free porn video</a> unusual for servicemen nobility in many cultures

<a href=http://ruler.0moola.com/celebrity-porn-video/>celebrity porn video</a>

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

プログラミングRuby 第2版 言語編
Ruby を始めようと思う人から玄人まで身近に置いておきたい一冊
Ruby on Rails入門―優しいRailsの育て方
Rails 入門書の決定版!あのくまくまーの独特な解説ですんなり読める!