Точка перетаскивания не работает и не выдает ошибки - PullRequest
0 голосов
/ 08 ноября 2019

Я новичок в тестировании и кипарисах. Я делаю автоматическое тестирование инструмента, который обрезает изображение, и у меня есть проблема, которую не удается решить.

Вот снимок экрана инструмента

Так что мой код дляперетащите одну точку этого инструмента, но не работайте.

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

Не выдавайте ошибку, но точка не двигается. И если я проверяю снимок триггера ('mousedown'), кажется, что он щелкает там. Смотри в точку.

Спасибо всем! : D

1 Ответ

0 голосов
/ 08 ноября 2019

Перетаскивание имеет различные реализации для разных каркасов.
В нашем случае события перемещения работали только с инициирующими событиями на самом элементе и продолжали движение от 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');
    });
...