拖动点不起作用,不会引发任何错误

时间:2019-11-08 15:10:27

标签: testing automated-tests cypress

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

Here is screenshot of the tool

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

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

不要抛出任何错误,但是要点不会移动。如果我检查一下触发器的快照(“ mousedown”),则好像单击了那里。 Look the point.

谢谢! :D

1 个答案:

答案 0 :(得分: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');
    });