一連のSelenium特集まとめ
開発サイクルを短くするために、Seleniumを使う
アジャイルなソフトウェア開発を始めてしばらくするとアジャイルの効果が実感でき、よりアジャイル度を上げるために開発サイクルを短くしたくなります。この時、回帰テストの工数がボトルネックになります。あるプロジェクトでは回帰テスト二日かかり、開発サイクルを1か月より短くすることができませんでした。開発環境、ステージング環境、本番環境とそれぞれ2日、計6日かかると20日の開発サイクルの30%を消費してしまいます。2weekサイクルにしようとすると実に開発サイクルの60%を超えることになり、さすがに満足いく開発速度(ヴェロシティ)を提供できなくなるのであきらめました。
そこで人力で行う回帰テストの一部を自動化することによって回帰テストの工数を下げる必要があります。また自動で行う場合は、いつでも回帰テストを実行できるようになります。仮に毎日実行できれば、うっかりバグを埋め込んでしまっても翌日には見つけることができます。
回帰テストを自動化するためにSeleniumを使ってWebブラウザの操作を自動化します。
Selenium2.0ってどんなもの?とりあえず動かしてみよう! - Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。
Seleniumは1.0までブラウザを操作するためにサーバクライアントに分かれたSelenium Serverを使って居ましたが、2.0ではWebDriverというブラウザ操作APIを提供しています。JavaでWebDriverを使ってブラウザを操作する例です。Ecelipseを使っています。
WebアプリのテストだってC#で書きたい!Selenium2.0を使う。 - Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。
上記と同じくWebDriverの使用例ですが、今度はC#で操作しています。VisualStudioを使います。
Firefox6でもSeleniumIDEを動かしてやんよ、ヒャッハー! - Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。
SeleniumではSelenium IDEというFirefox用のプラグインがあります。これを使ってブラウザの操作を記録しWebDriverを使ったテストコードを作成することができます。しかし、現時点ではFirefox6に対応していないのでインストールに一工夫必要です。