RSpecでテスト実行時のブラウザの表示・非表示の設定

はじめに

RSpecでテストを実行する際に、ブラウザを表示するかしないかの設定について

設定方法

まず、下記のGemをインストールします。

group :test do
  gem 'capybara'
  gem 'webdrivers'
end

続いて、specディレクトリ以下に'support'ディレクトリと、'driver_setting.rb'ファイルを作成します。

$ mkdir spec/support

$ touch spec/support/driver_setting.rb

続いて、rails_helper.rbの20行目あたりにある、下記の部分のコメントアウトを外します。

Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f }

この部分でsupportディレクトリ配下のファイルを読み込んでいます。

最後に、'driver_setting.rb'ファイルにテスト実行時のブラウザの有無について記載します。

RSpec.configure do |config|
  config.before(:each, type: :system) do
    # driven_by(:rack_test)  # ステータスコードの確認
    # driven_by(:selenium_chrome)  # ブラウザ表示
    driven_by(:selenium_chrome_headless)  # ブラウザ非表示
  end
end

ブラウザの表示・非表示に応じて、対象の部分をコメントインしてください。

上記の場合は、テスト実行時にブラウザが非表示になっています。