質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Capybara

Capybaraは、 Rubyで開発されているWebアプリケーションテストフレームワークです。Webブラウザ不要でブラウザ上のユーザー操作及びJavaScriptの挙動を自動化することができます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1800閲覧

rails 5.1.1 でchromeがheadlessにならない

suny

総合スコア48

Capybara

Capybaraは、 Rubyで開発されているWebアプリケーションテストフレームワークです。Webブラウザ不要でブラウザ上のユーザー操作及びJavaScriptの挙動を自動化することができます。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/03/31 11:49

rails5.1.1でのRSpecのフィーチャーテストでchromeをheadlessで使用したいのですが、出現してしまします。
エラーにはなりません。
everydayrailsにそって行なっております。
chromeのバージョンも最新です。

該当コード

Gemfile

1group :development, :test do 2 gem 'rspec-rails', '~> 3.6.0' 3 gem 'factory_bot_rails', '~> 4.10.0' 4 gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 5 gem 'capybara', '~> 2.15.4' 6 #gem 'poltergeist' 7 gem 'webdrivers' 8 gem 'launchy', '~>2.4.3' 9 gem 'selenium-webdriver', '~>3.4.1' 10end

spec/support/capybara

capybara

1Capybara.javascript_driver = :selenium_chrome_headless

テストしたいコード

require 'rails_helper' RSpec.feature "Tasks", type: :feature do # ユーザーがタスクの状態を切り替える scenario "user toggles a task", js: true do user = FactoryBot.create(:user) project = FactoryBot.create(:project, name: "RSpec tutorial", owner: user) task = project.tasks.create!(name: "Finish RSpec tutorial") visit root_path click_link "Sign in" fill_in "Email", with: user.email fill_in "Password", with: user.password click_button "Log in" click_link "RSpec tutorial" check "Finish RSpec tutorial" expect(page).to have_css "label#task_#{task.id}.completed" expect(task.reload).to be_completed uncheck "Finish RSpec tutorial" expect(page).to_not have_css "label#task_#{task.id}.completed" expect(task.reload).to_not be_completed end end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

「Everyday Rails - RSpecによるRailsテスト入門」の翻訳者チームの伊藤です。
本書を読んでいいただきどうもありがとうございます。

ご質問の件ですが、もしかすると、spec/support/capybara.rbが読み込まれてないのではないでしょうか?

本書の中でも説明しているように、spec/rails_helper.rb内でspec/support配下のファイルをrequireしているかどうか確認してみてください。

イメージ説明

投稿2020/05/07 05:08

jnchito

総合スコア357

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suny

2020/06/01 05:20

返信が遅くなってしまいすいません。 おそらく外してあったと思います。なので多分僕がどこかで間違ってたと思います。 ただ、 config.before(:each, type: :system) do driven_by :selenium_chrome_headless end このように設定したらヘッドレスになったのですが、こちらの設定でも問題ないでしょうか?
suny

2020/06/15 07:08

よかったです! ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問