UNPKG

webdriverio-workflo

Version:

This is a customized version of webdriverio for use with workflo framework.

58 lines (49 loc) 1.64 kB
/** * * Double-click on an element based on given selector. * * <example> :example.html <button id="myButton" ondblclick="document.getElementById('someText').innerHTML='I was dblclicked'">Click me</button> <div id="someText">I was not clicked</div> :doubleClick.js it('should demonstrate the doubleClick command', function () { var myButton = $('#myButton') myButton.doubleClick() // or browser.doubleClick('#myButton') var value = browser.getText('#someText') assert(value === 'I was dblclicked') // true }) * </example> * * @alias browser.doubleClick * @param {String} selector element to double click on. If it matches with more than one DOM-element it automatically clicks on the first element * @uses protocol/element, protocol/moveTo, protocol/doDoubleClick, protocol/touchDoubleClick * @type action * */ import { RuntimeError } from '../utils/ErrorHandler' let doubleClick = function (selector) { if (this.isMobile) { return this.element(selector).then((res) => { /** * check if element was found and throw error if not */ if (!res.value) { throw new RuntimeError(7) } return this.touchDoubleClick(res.value.ELEMENT) }) } return this.element(selector).then((res) => { /** * check if element was found and throw error if not */ if (!res.value) { throw new RuntimeError(7) } return this.moveTo(res.value.ELEMENT) }).doDoubleClick() } export default doubleClick