Capybara-Webkit:page.should has_content()没有实现?

时间:2013-04-14 08:03:34

标签: ruby-on-rails cucumber capybara capybara-webkit

我最近尝试使用:

Then(/^I should see "(.*?)"$/) do |arg1|
  page.should have_content(arg1)
end

查询页面并查看页面上是否存在文本。

这与默认的Capybara驱动程序一样正常,但在将javascript驱动程序设置为capybara-webkit并再次运行测试后,我得到:

  undefined method `find_xpath' for #<Capybara::Webkit::Driver:0x007fa3f00152e8> (NoMethodError)
  ./features/step_definitions/customer_steps.rb:12:in `/^I should see "(.*?)"$/'
  features/manage_customers.feature:10:in `Then I should see "ABC XYZ"'

我正在使用javascript驱动程序,因为我也使用AngularJS来填充我的数据。

我的问题:

  1. capybara-webkit中没有实现have_content()和page.has_content?()?
  2. 可能是问题的根源是什么?

1 个答案:

答案 0 :(得分:3)

看起来capybara-webkit可能存在问题:https://github.com/thoughtbot/capybara-webkit/issues/499

我现在将gem 'capybara', '2.0.3'添加到我的gemfile中,这似乎解决了这个问题。