Перетаскивание с помощью webdriver.io - PullRequest
1 голос
/ 24 февраля 2020

Я пытаюсь использовать метод перетаскивания файла WebDriver.io, и он не работает. Я использовал пример перетаскивания на веб-сайте: https://www.w3schools.com/html/html5_draganddrop.asp Мне это нужно для автоматизации функции перетаскивания приложения angular.

Может кто-нибудь помочь мне или найти Обходной путь, пожалуйста.

1 Ответ

0 голосов
/ 10 марта 2020

Вы можете создать свое собственное перетаскивание, используя методы buttonDown и buttonUp:

dragAndDrop(element, x = 0, y = 0) {
  element.moveTo();
  browser.buttonDown(0);
  element.moveTo(x, y);
  browser.buttonUp(0);
}

Вы можете использовать otherElement.moveTo(); вместо element.moveTo(x, y);, чтобы перейти к указанному элементу c.

Также вы можете использовать функцию performActions(), например:

const dragAndDrop = (element, x = 0, y = 0) => {
  const location = getElementLocation(element);
  browser.performActions([
    {
      type: 'pointer',
      id: 'finger1',
      parameters: { pointerType: 'mouse' },
      actions: [
        { type: 'pointerMove', duration: 0, x: location.x, y: location.y },
        { type: 'pointerDown', button: 0 },
        { type: 'pointerMove', duration: 0, x: location.x + x, y: location.y + y },
        { type: 'pointerUp', button: 0 },
      ],
    },
  ]);
};
...