cucumber で javascript テスト
2011 年 5 月 11 日
コメントはありません
cucumber で javascriptテストなどをする場合はシナリオごとに @javascript タグを付ける。
テストを実行するとなんらかのWebDriver (デフォルトはselenium) がブラウザを起動して
テストを実行するわけだが、alert や confirm が邪魔になる場合がある。
これらの確認をする必要がない場合は単純に alert や confirm を上書きして
なんの挙動もしないようにしてしまえば良い。
さらに web_steps_ja.rb に利用部品として書いて好きな時にユーザが呼び出せるようにしてしまえば良いかな。
web_steps_ja.rb
module NotificationHelpers
def ignore_notification(page)
page.evaluate_script("window.alert = function(msg) { return true; }")
page.evaluate_script("window.confirm = function(msg) { return true; }")
end
end
World(NotificationHelpers)
前提 /^通知を無視する$/ do
ignore_notification(page)
end
test.features (サンプル)
@javascript
シナリオ: 〜〜〜を登録する
前提 ログイン名が"xxxxx"、パスワードが"yyyy"のユーザでログインしている
前提 "〜〜〜登録"ページを表示している
前提 通知を無視する
〜以下任意のテスト〜
もし 〜をクリックする
ならば 〜が表示されていること
#上記テストを実行するとブラウザが勝手に起動してテスト動いていくので selenium に免疫のない人はびっくりしないように :-)


