はじめに
システムテストを書いているときにブラウザバックを動作させたかったのですが、英語の記事ばかりだったので備忘録として書かせていただきました。
前提
Capybara が正しく導入されていること(導入に関しては先人の有識者の方々が分かりやすい記事を投稿されているのでご検索ください)
本題
gem の導入(これが無いと動かないかも)
Gemfile
gem 'selenium-webdriver'
$ bundle install
page.driver.go_back
を使用してブラウザバックを実行できる
systems/hogehoge_spec.rb
context 'ブラウザバックをした場合', js: true do
it 'リダイレクト処理が行われること' do
visit '/hogehoges'
click_on '新規ホゲホゲ'
expect(page).to have_current_path '/hogehoge/new'
page.driver.go_back
expect(page).to have_current_path '/hogehoges'
end
end
注意点としてはシナリオに、js: true
がついていない場合正しく動作しません。