アーカイブ

‘javascript’ タグのついている投稿

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)</p>

<p>前提 /^通知を無視する$/ do
    ignore_notification(page)
end

test.features (サンプル)

     @javascript
     シナリオ: 〜〜〜を登録する
     前提     ログイン名が&quot;xxxxx&quot;、パスワードが&quot;yyyy&quot;のユーザでログインしている
     前提     &quot;〜〜〜登録&quot;ページを表示している
     前提     通知を無視する</p>

<pre><code> 〜以下任意のテスト〜

 もし         〜をクリックする
 ならば     〜が表示されていること
</code></pre>

<p>

上記テストを実行するとブラウザが勝手に起動してテスト動いていくので selenium に免疫のない人はびっくりしないように :-)

カテゴリー: Development, Ruby タグ: , , ,