Tôi đang cố gắng thực hiện một số thử nghiệm với Rspec/Capybara/Poltergeist trên ứng dụng Rails 4 của tôi, Phantomjs được cài đặt (phiên bản 2.2.1), nhưng tôi luôn gặp lỗi này:Capybara :: Lỗi trạng thái Poltergeist, không đạt được máy chủ
Failure/Error: visit(perfect_landing_page_path)
Capybara::Poltergeist::StatusFailError:
Request to ' http://127.0.0.1:49623/path ' failed to reach server, check DNS and/or server status
Xét nghiệm này tôi đang làm việc trên:
require 'rails_helper'
RSpec.feature 'Subscription', :type => :feature do
let!(:plan) { create(:plan) }
let!(:landing_page) { create(:landing_page) }
before(:each) { landing_page.default_plan = plan }
describe 'landing_page#perfect_show' do
scenario 'form display', js: true do
plan_2 = create(:plan)
plan_3 = create(:plan)
landing_page.plans << plan_2
landing_page.plans << plan_3
visit(perfect_landing_page_path)
expect(page).to have_css(".start-now", count: 3)
first(".start-now").click
expect(page).to have_css("#new_user")
end
end
end
My Gemfile trông như thế này:
gem 'rspec-rails', '~> 3.0'
gem 'factory_girl_rails'
gem 'guard-rspec'
group :test do
gem 'database_cleaner'
gem 'capybara'
gem 'capybara-screenshot'
gem 'poltergeist'
gem 'selenium-webdriver'
gem 'shoulda-matchers', require: false
gem 'show_me_the_cookies'
end
đặc tả của tôi tập tin/support/capybara.rb:
require 'capybara/rails'
require 'capybara/rspec'
require 'capybara-screenshot/rspec'
require "capybara/poltergeist" # Add this line to require poltergeist
require 'selenium-webdriver'
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {:js_errors => false, :default_max_wait_time => 30, :timeout => 30, phantomjs_options: [
'--load-images=no',
'--ignore-ssl-errors=true',
'--ssl-protocol=any']})
end
Capybara.register_driver :poltergeist_debug do |app|
Capybara::Poltergeist::Driver.new(app, :inspector => true)
end
Capybara.configure do |config|
config.javascript_driver = :poltergeist
config.ignore_hidden_elements = true
config.default_max_wait_time = 30
end
spec_helper.rb My file:
require 'capybara/rspec'
RSpec.configure do |config|
config.expect_with :rspec do |expectations|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
config.filter_run :focus
config.run_all_when_everything_filtered = true
Có ai gặp phải vấn đề này trước đây chưa? Có ai có một giải pháp cho điều này ? Tôi đã đập đầu mình trong nhiều ngày tìm kiếm trên web ... Cảm ơn bạn rất nhiều.
PS: nó hoạt động tốt trên mac của bạn tôi (Yosemite hoặc El Capitan), không phải của tôi.
Bạn có thể đăng thông báo lỗi đầy đủ không?Những gì bạn đã đăng bị cắt ngắn và thiếu phần quan trọng nhất (chi tiết lỗi) – agbodike
Tôi đã cập nhật câu trả lời để thêm một danh sách trắng thay thế – agbodike