Capybara drag_to 函数抛出 NotImplementedError

Mik*_*H-R 1 rspec jquery-ui ruby-on-rails capybara

我有一个 Rails 应用程序,我正在尝试测试拖放功能,我正在使用 capybara 和 rspec 以及 jquery ui 进行拖动,它在浏览器中工作正常,但我无法进行工作测试它。我得到的错误如下:

source_element.drag_to(dest_element)
NotImplementedError: NotImplementedError
Run Code Online (Sandbox Code Playgroud)

我有一个简单的测试文件,如下所示:

describe "display index page" do
  it "try drag and drop" do
    dest_element = find('#list_'+list.id.to_s+' #sortable')
    source_element = find('#list_'+other_list.id.to_s)
    source_element.drag_to dest_element
  end
end
Run Code Online (Sandbox Code Playgroud)

我的 Html 看起来像这样(javascript 配置正确并且一切都在浏览器中运行):

<ul id="sortable" class="ui-sortable">
  <li id="list_20" class="sort">
  <li id="list_121" class="sort">
    <span>Content</span>
    <ul id="sortable" class="ui-sortable"> </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

谁能指出我可能出错的地方?我已经尝试环顾了好几个小时,但一直无法弄清楚解决方案是什么。

提前致谢

小智 5

不是 100% 肯定,但drag_to可能是capybara-webkit具体的。如果您正在使用,请capybara-webkit确保添加:js => true到您的描述中