Cypress .trigger команды с mousedown, mousemove и mouseup не работают - PullRequest
0 голосов
/ 22 марта 2019

Есть какой-нибудь секретный способ заставить это работать?

Мы используем перетаскиваемую библиотеку для этого в пользовательском интерфейсе.

https://github.com/Shopify/draggable/tree/master/src/Draggable

Я пытаюсь перетащить один столбец в другой, используя средство запуска Cypress.

Это мой код:

cy.get(dataExplorerTableAttributeDraggable)
      .eq(0)
      .trigger('mousedown', { which: 1 });
    cy.get(dataExplorerTableAttributeDraggable)
      .eq(1)
      .trigger('mousemove')
      .trigger('mouseup');

Выполнение этого кода не имеет видимого результата.

Также попробовал это:

cy.get(dataExplorerTableAttributeDraggable)
      .eq(2)
      .trigger('mousedown', { which: 1 })
      .trigger('dragstart', {})
      .trigger('drag', {});
    cy.get(dataExplorerTableAttributeDraggable)
      .eq(0)
      .trigger('dragover')
      .trigger('drop')
      .trigger('dragend')
      .trigger('mouseup');

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

Чего мне не хватает?

1 Ответ

1 голос
/ 24 марта 2019

Я даже сталкивался с подобной проблемой;единственная настройка, которая помогла мне, была настройка - {clientX: 505, clientY: 357}

cy.get(etlWidget)
    .trigger('mouseover')
    .trigger('mousedown', {which: 1})
    .trigger('mousemove', {clientX: 505, clientY: 357})
    .xpath(PageElements.workflow.x_initial_drop_target_area)
    .trigger('mousemove')
    .trigger('mouseup', {force: true})

FYI., Вы должны прослушать события браузера и установить эти детали.Подробнее здесь - https://developers.google.com/web/tools/chrome-devtools/console/events

Кроме того, я думаю, что это будет работать только на фиксированной области просмотра.Пожалуйста, посмотрите, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...