Capybara aタグ(target="_blank")をクリックについて
掲題の件、featureテストを書く量が日に日に増えてきており、何を書くかと書き足りないケースなどを自覚できるになり知見も日々、蓄積できていて楽しく、 クライアントと紹介してくれた友人に感謝っすね。
aタグのtarget属性(_blank)
新規ウィンドウ、タブを開いてページを表示した後、表示したページで、タイトルを確認する方法を書いていきます。
環境
サンプルコード
require 'rails_helper' feature 'TOP画面からの操作', type: :feature do scenario 'ユーザがリンクをクリックして新規タブが開いている' do within_window(window_opened_by { first("a.new-window-link").click }) do expect(page).to have_content '新しいページタイトル' end end end # なお、within_window(string)は、非推奨になっているため注意。
感想
テストを書いているプロジェクトって、本当少ないですよね・・。
参考
Method: Capybara::Session#within_window — Documentation for capybara (2.14.3)