@christian-bromann/webdriverio
Version:
A nodejs bindings implementation for selenium 2.0/webdriver
26 lines (22 loc) • 839 B
JavaScript
/**
*
* Drag an item to a destination element.
*
* @alias browser.dragAndDrop
* @param {String} sourceElem source selector
* @param {String} destinationElem destination selector
* @uses action/moveToObject, protocol/buttonDown, protocol/buttonUp, property/getLocation, protocol/touchDown, protocol/touchMove, protocol/touchUp
* @type action
*
*/
let dragAndDrop = function (selector, destinationElem) {
if (this.isMobile) {
return this.getLocation(selector).then(
(location) => this.touchDown(location.x, location.y)
).getLocation(destinationElem).then(
(location) => this.touchMove(location.x, location.y).touchUp(location.x, location.y)
)
}
return this.moveToObject(selector).buttonDown().moveToObject(destinationElem).buttonUp()
}
export default dragAndDrop