Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 3x 1x 2x 1x 1x 1x 1x 1x 1x | /** * * Open new window in browser. This command is the equivalent function to `window.open()`. This command does not * work in mobile environments. * * __Note:__ When calling this command you automatically switch to the new window. * * <example> :newWindowSync.js it('should open a new tab', () => { browser.url('http://google.com') console.log(browser.getTitle()) // outputs: "Google" browser.newWindow('https://webdriver.io', 'WebdriverIO window', 'width=420,height=230,resizable,scrollbars=yes,status=1') console.log(browser.getTitle()) // outputs: "WebdriverIO ยท Next-gen WebDriver test framework for Node.js" browser.closeWindow() console.log(browser.getTitle()) // outputs: "Google" }); * </example> * * @param {String} url website URL to open * @param {String=} windowName name of the new window * @param {String=} windowFeatures features of opened window (e.g. size, position, scrollbars, etc.) * @return {String} id of window handle of new tab * * @uses browser/execute, protocol/getWindowHandles, protocol/switchToWindow * @alias browser.newWindow * @type window */ import newWindowHelper from '../../scripts/newWindow' export default async function newWindow (url, windowName = 'New Window', windowFeatures = '') { /*! * parameter check */ if (typeof url !== 'string') { throw new Error('number or type of arguments don\'t agree with newWindow command') } /*! * mobile check */ if (this.isMobile) { throw new Error('newWindow command is not supported on mobile platforms') } await this.execute(newWindowHelper, url, windowName, windowFeatures) const tabs = await this.getWindowHandles() const newTab = tabs.pop() await this.switchToWindow(newTab) return newTab } |