水豚:#drag_to 没有触发 ondragover 事件

Capybara: #drag_to not triggering ondragover event

我无法获取 Capybara 的 drag_to 事件来模仿我的应用程序的行为。

一个简单的版本。

鉴于 HTML

<div id="target" ondragover="this.innerHTML = 'Dragged To Target!'">Target!</div>
<div id="source" draggable="true">Drag Me!</div>

当我使用 Selenium、Poltergeist、Rack Test 或 Webkit 将源拖到目标时

source = Capybara.find('#source')
target = Capybara.find('#target')

source.drag_to(target)

那我应该看到元素已经被拖过来了

expect(target.text).to eq('Dragged To Target!')

然而,我却得到了以下失败的测试:

expected: "Dragged To Target!"
got: "Target!"

这种行为在现实生活中有效。如何使用 Capybara 对其进行测试?

不幸的是,selenium 与 firefox 不兼容 HTML 5 拖放 - https://code.google.com/p/selenium/issues/detail?id=3604 - 长期以来一直是一个悬而未决的问题