Pregunta

Pregunta: ¿Hay alguna manera de que pueda compensar la ubicación de inicio para arrastrar?

Me gustaría editar la ubicación de dónde para iniciar el proceso de arrastre.Pruebas en otro elemento que puedo agarrar sin ajuste El siguiente código funciona bien:

var controlPoint = $$('circle.points').first();
browser.actions().
        dragAndDrop(controlPoint.getLocation(), {x: 500, y: 50}).
        perform();

Sin embargo, cuando intento configurarlo para modificar la ubicación como esta:

var controlPoint = $$('circle.points').first();
controlPoint.getLocation().then(function (loc) { 
    // would modify loc.x and loc.y here if this didn't give an error
    browser.actions().
        dragAndDrop(loc, {x: 500, y: 50}).
        perform();
});

Obtengo el siguiente error:

Failures:

  1) Single Segments should test dragging and dropping of control points
   Message:
     UnknownError: unknown error: at least an element or offset should be set
  (Session info: chrome=36.0.1985.125)
  (Driver info: chromedriver=2.10.267517,platform=Mac OS X 10.9.4 x86_64)
   Stacktrace:
     UnknownError: unknown error: at least an element or offset should be set
  (Session info: chrome=36.0.1985.125)
  (Driver info: chromedriver=2.10.267517,platform=Mac OS X 10.9.4 x86_64)
==== async task ====
mouseMove
    at Array.forEach (native)
==== async task ====
ActionSequence.perform
    at /Users/willko/Desktop/e2e_sketching/specs/sketch2.js:25:6
==== async task ====

¿Fue útil?

Solución

El problema está en dragAndDrop(loc porque dragAndDrop() realiza un elemento, el primer argumento y el primer argumento y está pasando loc, que es un objeto con las propiedades x y y.

Intenta esto:

browser.actions().
    dragAndDrop(controlPoint, {x: 500, y: 50}).
    perform();

Otros consejos

¿Es posible parametrizar el segundo parámetro o offset a DragAndDrop?Arrastrar y soltar funciona con un objeto offset con codificación dura como aquí se describe {x: 500, y: 50} pero se trata {x: x, y: y}, al menos para mí, como indefinido (en la función de actuación).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top