0

我最近尝试使用:

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. have_content() 和 page.has_content?() 没有在capybara-webkit中实现吗?
  2. 问题的根源可能是什么?
4

1 回答 1

3

看起来可能有问题capybara-webkithttps ://github.com/thoughtbot/capybara-webkit/issues/499

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

于 2013-04-16T02:52:31.230 回答