kikeda1104's blog

備忘録・技術に関することを書いています。(webエンジニア)

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)