我们在前端使用VueDraggable(和Vue),我们正在使用Dusk测试我们的前端。
我目前正在尝试从黄昏时使用$browser->drag('selector', 'selector')将对象从一个列表拖到另一个列表中,但我在测试期间看不到任何事情(尽管可能是操作不可见)也没有显示正确的结果,该对象不会在指定的列表中结束。
我想知道是否有人使用$ browser-> drag()结合Vue.draggable做了一个工作示例?我问,因为我不知道我是否在尝试不可能的事情。
答案 0 :(得分:0)
在Dusk的Github上有一个未解决的问题。我不得不打开一个新问题that can be found here,因为原来已经关闭以征求意见。该链接包含更详尽的解释,但简短的答案和解决方案在此处突出显示:
问题:Laravel的Dusk不会触发Vue.draggable事件。为了模拟拖放,Dusk做了一个鼠标按下","将鼠标移动到位置"和"鼠标向上"序列。理论上这是正确的,但不会触发Vue'事件。
解决方案:Dusk的方法会触发鼠标按下和鼠标按下事件,因此我们可以简单地使用这些事件来触发所需的事件。
$("a[draggable='true']").on("mousedown", function(event) {
$(this).trigger("dragstart");
});
$("div[droppable='true']").on("mouseup", function(event) {
$(this).trigger("drop");
});
This JSFiddle是一个如何工作的例子(当然,你需要在Laravel项目上实现它才能真正进行测试!)。