Capybara-Webkit:page.should_content() 没有实现?
Posted
技术标签:
【中文标题】Capybara-Webkit:page.should_content() 没有实现?【英文标题】:Capybara-Webkit: page.should have_content() not implemented? 【发布时间】:2013-04-06 11:49:10 【问题描述】:我最近尝试使用:
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 来填充我的数据。
我的问题:
-
capybara-webkit 中是否没有实现 have_content() 和 page.has_content?()?
问题的根源是什么?
【问题讨论】:
【参考方案1】:看起来capybara-webkit
可能有问题:https://github.com/thoughtbot/capybara-webkit/issues/499
我现在将gem 'capybara', '2.0.3'
添加到我的gemfile 中,这似乎解决了这个问题。
【讨论】:
我通过将 gemfile 更改为 gem 'capybara-webkit', git: 'git://github.com/thoughtbot/capybara-webkit.git' 解决了这个问题,只需添加 git 源即可可能拉了一个固定的开发版本。以上是关于Capybara-Webkit:page.should_content() 没有实现?的主要内容,如果未能解决你的问题,请参考以下文章
Capybara-Webkit:缺少 js/React 并且找不到变量:WeakMap
$.ajax 删除请求未在 capybara-webkit 中发送数据参数
Capybara-Webkit:page.should_content() 没有实现?