webdriverjs
Version:
A nodejs bindings implementation for selenium 2.0/webdriver
47 lines (27 loc) • 1.09 kB
JavaScript
module.exports = function dragAndDrop (cssSelectorItem, cssSelectorDropDestination, callback) {
var isMobile = require('../helpers/isMobile')(this.desiredCapabilities);
if(!isMobile) {
this.moveToObject(cssSelectorItem)
.buttonDown()
.moveToObject(cssSelectorDropDestination)
.buttonUp(callback);
} else {
this.getLocation(cssSelectorItem,function(err,res) {
if(err === null && res) {
this.touchDown(res.x,res.y)
.getLocation(cssSelectorDropDestination,function(err,res) {
if(err === null && res) {
this.touchMove(res.x,res.y)
.touchUp(res.x,res.y,callback);
} else {
/* istanbul ignore next */
callback(err,res);
}
});
} else {
/* istanbul ignore next */
callback(err,res);
}
});
}
};