我刚刚升级为Rails 3.1,现在尝试使用@javascript标签运行Cucumber(Capybara)测试时,我会收到以下错误:

The requested URL could not be retrieved
While trying to retrieve the URL: http://127.0.0.1:9987/login

The following error was encountered
    * Access Denied

我在我的功能/支持/env.rb文件中定义了以下定义:

if defined?(ActiveRecord::Base)
  begin
    require 'database_cleaner'
    require 'database_cleaner/cucumber'
    DatabaseCleaner.strategy = :truncation
  rescue LoadError => ignore_if_database_cleaner_not_present
  end
end

Capybara.server_port = 9987 + ENV['TEST_ENV_NUMBER'].to_i
有帮助吗?

解决方案

您是否将此服务器端口明确应用于capybara.app_host?

Capybara.app_host = "http://dev.local:#{Capybara.server_port}"

使用这种配置,我对当前的Rails 3.1和Capybara-Webkit没有任何问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top