我在 Mac 上使用 cucumber/capybara/selenium/firefox。除了 d&d 之外,一切都很好。可通过 drag_node.drag_to(drop_node)
进行拖放操作。调用时,它不会引发任何错误,但实际的拖放操作从未发生。
现在我找到了 this sample app,而不是复制粘贴点点滴滴。 (由一个显然有类似问题的人写的)证明了这个问题。
但是 Google 并不知道 drag_to()
被破坏了。据我所知。这给了我希望是我遗漏了一些东西而不是错误。那是什么?我错过了什么?错误?
最佳答案
对我来说,#drag_to
确实有用,但是它的功能似乎有限。
为了将 UI 可排序表行向下移动,我必须创建一个包含三行的表,然后运行此代码(在 Cucumber 步骤中):
element = find('tbody tr:nth-child(1)')
target = find('tbody tr:nth-child(3)')
element.drag_to target
这会将第一行与第二行交换。我的解释是 capybara 拖得不够远,所以我给它的目标超出了我的实际目标。
注意:我已使用 tolerance: 'pointer
' 配置 UI-sortable。
关于ruby-on-rails - capybara 'drag & drop' 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796495/