5

测试开始时,我正在尝试关注 Protractor/Webdriver 浏览器测试窗口。通过焦点,我的意思是测试窗口应该出现在屏幕上显示的其他窗口之上,现在它出现在其他窗口之下。

使用 Selenium chromedriver 并从 WebStorm 启动 Protractor。

我在场景规范的开头尝试了以下操作,但没有任何效果:

browser.driver.switchTo().defaultContent();
browser.driver.switchTo().window(browser.driver.getWindowHandle());
browser.switchTo().window(browser.getWindowHandle());
browser.driver.executeScript('window.focus();')
4

2 回答 2

1

这不是 Webdriver 可以做的事情,因为它只控制您的测试窗口,而不是您的操作系统的窗口管理器。但是,有一个 Chrome 标志可以解决问题:

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        'args': ['--start-maximized']
    }
}

这属于您的protractor.conf.js文件。

Chrome 窗口一打开,它就会最大化。在我的系统上,这把它放在前面。你的旅费可能会改变。

于 2015-07-14T18:59:24.583 回答
1

启动浏览器后,您可能希望使用 conf.js 中的 onPrepare 截屏。这使窗口成为焦点。

onPrepare: function() {
   return browser.takeScreenshot();
},
于 2017-01-13T08:12:03.770 回答