Ruby on rails Cucumber/Capybara/Selenium Webdriver错误?

Ruby on rails Cucumber/Capybara/Selenium Webdriver错误?,ruby-on-rails,testing,selenium,cucumber,capybara,Ruby On Rails,Testing,Selenium,Cucumber,Capybara,我最近升级到了Rails 3,我正在尝试运行Cumber测试 当我运行测试时,我得到以下错误: wrong number of arguments (2 for 1) (ArgumentError) ./features/step_definitions/user_steps.rb:24:in `/^I am logged in$/' features/account.feature:8:in `Given I am logged in' 这个测试只不过是打开我的登录页面。当我没有在功能文件的

我最近升级到了Rails 3,我正在尝试运行Cumber测试

当我运行测试时,我得到以下错误:

wrong number of arguments (2 for 1) (ArgumentError)
./features/step_definitions/user_steps.rb:24:in `/^I am logged in$/'
features/account.feature:8:in `Given I am logged in'
这个测试只不过是打开我的登录页面。当我没有在功能文件的顶部包含@javascript标志时,它运行良好。当我包含它时,我得到了错误,Selenium(我想)打开了Firefox的一个实例,但在浏览器中什么也没有发生

编辑:

我的“我已登录”步骤如下所示:

Given /^I am logged in$/ do
  @user = Factory(:user, :email => "cucumber@test.com")
  @user.activate
  visit path_to("the login page")
end

我用pry找到了一个类似的问题

[1] pry(#<Cucumber::Rails::World>)> step %{I go to login}
ArgumentError: wrong number of arguments (2 for 1)
from ~/.rvm/gems/ruby-1.8.7-p352/gems/multi_json-1.0.4/lib/multi_json/engines/json_common.rb:9:in 'parse'
[1]pry(#)>步骤%{I go to login}
ArgumentError:参数数目错误(2代表1)
来自~/.rvm/gems/ruby-1.8.7-p352/gems/multi_json-1.0.4/lib/multi_json/engines/json_common.rb:9:in'parse'
在我的Gemfile中,在bson之前使用
gem'json':require=>json/pure'
修复了这个问题


编辑:看起来强制使用1.9.2也是必要的(
rvm--rvmrc--create 1.9.2
)。

您的
I登录步骤是什么样子的?
我已将I登录步骤粘贴到问题中。我也尝试过用“/login”替换路径“to”(“登录页面”),这可能是您的工厂的问题吗?这是你唯一要传递两个参数的东西。用户工厂是什么样子的?我不这么认为。当我在@javascript标志关闭的情况下运行该功能时,它运行良好。我认为这与我在使用webdriver时打开firefox有关。