Перетащите с помощью Nightwatch - PullRequest
1 голос
/ 01 апреля 2019

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

var dragAndDrop = require('html-dnd').codeForSelectors;  
this.dragModule = function (draggable, droppable, posX, posY) {
    browser.pause(3000);
    var dndSimulateConfig = { dropOffset: [posX, posY] };
    browser
      .execute(dragAndDrop, [draggable, droppable, dndSimulateConfig])
      .pause(2000);
  };

Не долженперекрытия я хочу, в частности, координаты

1 Ответ

0 голосов
/ 02 апреля 2019

locator1: может быть xpath (или cssSelector) вашего первого элемента, который вы хотите перетащить locator2: может быть xpath (или cssSelector), где вы хотите удалить

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

return browser
    .useXpath()
    .moveToElement(locator1, XOffset1, Yoffset1)
    .pause(100) // if you want to give wait
    .mouseButtonDown(0) // press click, down
    .moveToElement(locator2, XOffset2, Yoffset2) // move to element
    .mouseButtonUp(0); // press release , up

read here docs- http://nightwatchjs.org/api and search for "moveToElement"

how to call:

myFunction moveToSpecificElement(locator, x, y) {
  return browser
  .moveToElement(locator, x, y, function (result) {
    this.assert.equal("your assertion goes here");
  });
}
...