0

我是测试和柏树的新手。我正在对裁剪图像的工具进行自动化测试,但我遇到了一个无法解决的问题。

这是该工具的屏幕截图

所以我拖动这个工具的一点的代码是这样的,但是不起作用。

        cy.get('.point-w').trigger('mousedown',)
        .trigger('mousemove', { clientX: 5, clientY:0})
        .trigger('mouseup', {force : true})

不要抛出任何错误,但点不会移动。如果我检查触发器('mousedown')的快照,它似乎点击了那里。 看重点。

谢谢大家!:D

4

1 回答 1

0

拖放具有针对不同框架的各种实现。
在我们的例子中,移动事件仅适用于元素本身的触发事件,并继续从body目标坐标移动:

const SLOPPY_CLICK_THRESHOLD = 10;
    cy.get('.point-w').then(subject => {
        const coordsDrag = subject[0].getBoundingClientRect();
        cy.wrap(subject)
            .trigger('mousedown', {
                clientX: coordsDrag.x,
                clientY: coordsDrag.y,
                force: true
            })
            .trigger('mousemove', {
                clientX: coordsDrag.x + SLOPPY_CLICK_THRESHOLD,
                clientY: coordsDrag.y,
                force: true
            });
        cy.get('body')
            .trigger('mousemove', { 
                clientX: 5, 
                clientY: 0, 
                force: true 
             })
            .trigger('mouseup');
    });
于 2019-11-08T17:30:08.190 回答