赛普拉斯: mouseover mousedown mousemove mouseup 不起作用

Ben*_*ger 7 drag-and-drop electron cypress

所以问题很简单:

  • 单击圆圈并移动线条

[在此输入图像描述

  • 所需输出

[在此输入图像描述

现在我尝试使用 Cypress 使用以下代码执行确切的操作(将显示所有版本):

cy.get("my element")
.tigger("mouseover")
.trigger("mousedown", { which: 1})
.trigger("mousemove", {pageX: 100,pageY: 100,which: 1})
.trigger("mouseup", { force: true });
Run Code Online (Sandbox Code Playgroud)

我尝试了这段代码的许多变体:
比如添加movmentX, movmentYandclientX, clientY到“mousemove”触发器
以及button: 0andforce: true到“mousedown”触发器 但没有任何效果

这是一个简单的按下鼠标左键将其移动到所需的位置并松开鼠标按下。
它就像拖放,但不完全是因为它停留在同一个 HTML 元素中

我在这里缺少什么?

节点版本:16.13.0 操作系统:macOS M1

网站: https: //geoman.io/geojson-editor

来自赛普拉斯铬

在此输入图像描述

在此输入图像描述

cyp*_*ull 3

我也遇到了很大的问题mousemove

对我有帮助的是添加所有可能的坐标(客户端、页面和屏幕)。

.trigger('mousemove', {clientX: 100, clientY: 100, screenX: 100, screenY: 100, pageX: 100, pageY: 100 })

也许试试这个:

cy.get("my element")
.trigger("mouseover")
.trigger("mousedown", { which: 1})
.trigger("mousemove", {clientX: 100, clientY: 100, screenX: 100, screenY: 100, pageX: 100, pageY: 100 })
.trigger("mouseup", { which: 1 })
Run Code Online (Sandbox Code Playgroud)

(而且您也不需要添加“which”,mousemove因为左按钮仍然在上一个命令中按下)

  • 刚刚发现代码第 2 行中的一个类型,``.trigger("mouseover")``` 中缺少一个 'r',但我怀疑这会导致错误 (2认同)