私はcapybaraにgoogle chromeを使用する方法を理解しようと2日以上を過ごしましたが、運はありません:(フォームボタンをテストしようとしています。 Firefoxをインストールするには、私が検索した限り、私はchromeを使いたいと思っていますが、firefoxをコンピュータにインストールしてからchromeをデフォルトにしておく必要があります(私が間違っていれば修正してください)。 Firefoxの開口部を保持するタイミングエラーとあまりにも長い間閉じが、私はここまで来たていますカピバラ用のクロームを使用する、レール4.2
マイrails_helper:
ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rails'
require 'capybara'
require 'capybara/dsl'
require "selenium-webdriver"
require 'rails_helper'
ActiveRecord::Migration.maintain_test_schema!
Capybara.register_driver :selenium_chrome do |app|
Capybara::Selenium::Driver.new(app, browser: :chrome)
Selenium::WebDriver::Chrome.driver_path = '/Users/erincemer/Downloads/chromedriver'
end
(this is where I have chromedriver)
Capybara.javascript_driver = :selenium_chrome
RSpec.configure do |config|
config.include CsvHelper
config.include Capybara::DSL
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = false
config.infer_spec_type_from_file_location!
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
と私のテストは、次のとおりです。
は "訪問clearance_batchesは#新しい"
it 'should get an error message when tries to find an item with empty string', js: true do
visit '/clearance_batches/new'
fill_in 'id_field', with: ""
click_button 'find item'
expect(page).to have_content('*Id can not be blank!')
end
end
を行うと、私の障害がある説明:
1) visit clearance_batches#new should get an error message when tries to find an item with empty string
Failure/Error: visit '/clearance_batches/new'
NoMethodError:
undefined method `needs_server?' for "/Users/erincemer/Downloads/chromedriver":String
私は取得しないから来ている "needs_server?":
障害私はアプリのどこにでも持っていません。
私のテストファイルは機能フォルダ内にあります。追加する
:type => feature
(私はそれが何であるかわからない)私のテストには何も変わりません。
visit '/clearance_batches/new' without js: true
このテストでは、エラーが発生していないので、ルートは正しいです。私は可能な限り具体的にしようとしました。助けてくれてありがとう。
おかげで、両方の提案は、私にこの障害を与えました21のテストのうちの失敗は失敗しています。 –
@EricdeSouzaこれは別の問題で、Chromeのような音があなたのPATHにありません –
「Chrome」と言うと、私が既にインストールしたGoogle Chromeまたはchromdriverを意味するのでしょうか?そして、どのように私のパスにクロムを追加するのですか? –