1

我正在尝试用 poltergeist 替换 capybara-webkit 驱动程序,以满足我需要 javascript 的规范。虽然我遇到了这个奇怪的错误,但我找不到其他人有同样的问题。运行访问命令时出现以下错误:

Failure/Error: visit edit_path(:model_name => "field_test", :id => @record.id)
     NoMethodError:
       undefined method `parser' for Faye::WebSocket:Class
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/web_socket_server.rb:20:in `initialize'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/web_socket_server.rb:99:in `new'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/web_socket_server.rb:99:in `accept'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/web_socket_server.rb:143:in `send'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/server.rb:29:in `send'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/browser.rb:168:in `command'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/browser.rb:21:in `visit'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/poltergeist-1.0.2/lib/capybara/poltergeist/driver.rb:81:in `visit'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/capybara-1.1.4/lib/capybara/session.rb:157:in `visit'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/capybara-1.1.4/lib/capybara/dsl.rb:161:in `visit'
     # ./spec/integration/config/edit/rails_admin_config_edit_spec.rb:698:in `block (3 levels) in <top (required)>'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example.rb:114:in `instance_eval'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example.rb:114:in `block in run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example.rb:254:in `with_around_each_hooks'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example.rb:111:in `run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:390:in `block in run_examples'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:386:in `map'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:386:in `run_examples'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:371:in `run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:372:in `block in run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:372:in `map'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/example_group.rb:372:in `run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `block (2 levels) in run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `map'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:28:in `block in run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/reporter.rb:34:in `report'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:25:in `run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
     # /Users/myusername/.rvm/gems/ruby-1.9.3-p392@rails3/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun' 
4

1 回答 1

2

gem 依赖项存在问题,捆绑程序安装了 faye-websocket v0.5 但 poltergeist 与该版本不兼容。通过向我的应用程序添加 faye-websocket 0.4.4 依赖项来修复。

于 2013-05-08T08:11:51.410 回答