水豚网络套件中未定义的方法“invalid_element_errors”
undefined method `invalid_element_errors' in capybara-webkit
首先,我想指出我对此有点陌生,因此希望这篇文章是可以理解的。
Gems:
rails (2.3.11
nokogiri (1.5.4)
cucumber (1.1.9)
capybara (1.1.2)
copybara-webkit (0.12.1)
现在我正在做一个项目,我正在尝试使用黄瓜进行 rails Web 应用程序的集成测试。由于Web应用程序严重依赖javascript和ajax,我想使用可以处理此问题的capybara驱动程序。(我刚刚意识到:rake_test没有)但我不想一直弹出浏览器窗口,因为这需要时间。所以我选择了水豚网络套件。但是现在我改变了驱动程序,通过在我的env.rb中为水豚设置javascript驱动程序,我一直收到一个烦人的错误:
undefined method `invalid_element_errors' for #<Capybara::Driver::Webkit:0x9c50bf8> (NoMethodError)
./features/step_definitions/some_steps.rb:37
我在那一行的代码:
>> 35 select("something", :from => find("select[class='class_name']")[:id])
>> 36 click_link('javascript_link')
>> 37 click_link('another_javascript_link')
我在第 35 行中使用查找,因为 id 是动态的。现在看来问题实际上是 find 方法,因为如果我在此点上方添加另一个具有已知 id 的查找,我会在该行上收到相同的错误。
我如何摆脱这个问题,以便我可以使用水豚网络套件?我在某处听说这是实际驱动程序中的问题,并且在 github 主分支上提供了修复程序,您可以以某种方式将您的 gem 链接到那里?如果是这样,任何人都可以解释如何做到这一点吗?
我也遇到了这个问题。这是一个 capybara-webkit 错误:0.12.1 版本没有 invalid_element_errors 方法。
几个月前有一个带有修复程序的拉取请求,但它没有合并(https://github.com/thoughtbot/capybara-webkit/pull/288)。现在他们已经在 master 分支中添加了该方法,所以你必须使用 git 存储库:
gem 'capybara-webkit', :git => 'git://github.com/thoughtbot/capybara-webkit'
试试看它是否适合你:)。
相关文章:
- jQuery:.click(function(){(element),collapse('show',f
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- Javascript - element.childNodes does not see an append.newch
- chrome.tabs.update() 重定向到 'chrome-extension://invalid/'
- 使用element简化onclick函数
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- 如何使用element.myobj.prop等具有对象属性的元素
- element.dataset in Internet Explorer
- Protractor:element.getText()返回一个对象,而不是String
- FB.login Invalid redirect_uri (xd_proxy.php)
- jQuery event.target is_a_child_of(element)
- 如何获得'{element:}'价值
- ng模型在$(element).clone()之后不起作用
- jquery selector on some element
- 将setTimeout()包装器实现为Element.prototype中的方法
- 选中复选框时,DOM不显示element.input.checked和ng
- 如何在element.someEvent函数中使用更多参数
- Is there a wrapper/grouping element usable in <head>?
- "a" element in JavaScript
- Replace a "href" element with javascript