问题:有什么方法可以抵消拖动的起始位置吗?
我想编辑从哪里开始拖动过程的位置。在不需要调整的情况下可以获取的另一个元素上进行测试,下面的代码运行良好:
var controlPoint = $$('circle.points').first();
browser.actions().
dragAndDrop(controlPoint.getLocation(), {x: 500, y: 50}).
perform();但是,当我尝试将其设置为像这样修改位置时:
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();
});我得到以下错误:
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 ====发布于 2014-08-27 09:15:50
问题出现在dragAndDrop(loc中,因为dragAndDrop()使用ElementFinder或WebElement作为第一个参数,而您传递的是具有x和y属性的对象loc。
试试这个:
browser.actions().
dragAndDrop(controlPoint, {x: 500, y: 50}).
perform();发布于 2015-07-30 14:27:31
是否可以将第二个参数参数化或偏移到dragAndDrop?拖放处理硬编码偏移对象,如这里描述的{x: 500,y: 50},但将{x:x,y:y} (至少对我来说)视为未定义的(在ActionSequence.mouseMove函数中)。
https://stackoverflow.com/questions/25086269
复制相似问题