Selenium からデモページを作成してくれるとか。

0.3 以降の開発でほとんど心変わりすることがなかった部分はもはやステーブルにしたいので、そろそろまじめにユースケースを考慮したリグレッションテストを作っていく。

ということで、挫折気味だったSeleniumを再び。

RESTを導入しても何もならないのがこのテスト、というわけではなく、RESTのAPIの口はfunctionalテストで確認して、ViewのテストはIntegration Testを使わずにSeleniumにする。同時操作とかその辺のテストができるのかどうか不明なんだけれど、基本的には ステートレス!!の恩恵でなんとかなるか。

で、、本題はここから。


Rのほうでテストコードをかいたんだけれど、

# utility methods
def click_link(label)
  click "link=#{label}"
end

def click_button(label)
  click "//input[@value='#{label}']"
end

def assert_path(path)
  assert_location File.join("http://localhost:3000", path)
end

open "/"
wait_for_page_to_load 3000
assert_path "/pages/top"

click_link "Login"
wait_for_page_to_load 3000
assert_path "/components/system/login/with_password"

type 'account_login_name', 'administrator'
type 'account_password', 'password'

click_button 'Login'
wait_for_page_to_load 3000

click_link 'Logout'
wait_for_page_to_load 3000
assert_path "/components/system/login/with_password"

フォーカス。

open "/"
wait_for_page_to_load 3000
assert_path "/pages/top"

要するに、「ブラウザを開き / にアクセスします。トップページが表示されます。」という声が聞こえます。だったら、Selenium を実行しているときに、画面のキャプチャと音声をいれてくれれば操作ガイドのデモができるんじゃない?とか思ってしまうわけです。

そんなソリューションを募集中(作る暇も興味もない)。