2017-08-30 263 views
1

详细的错误日志如下:启动硒chromedriver失败,Chrome60

TESTFAIL; com.ibm.test.inotes.authentication.LoginTestCase; 
org.openqa.selenium.WebDriverException: unknown error: failed to change window state to normal, current state is maximized 
(Session info: chrome=60.0.3112.113) 
(Driver info: chromedriver=2.30.477690 (c53f4ad87510ee97b5c3425a14c0e79780cdf262),platform=Mac OS X 10.12.0 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 104 milliseconds 
Build info: version: 'unknown', revision: 'unknown', time: 'unknown' 
System info: host: 'inotess-imac.cn.ibm.com', ip: '9.123.154.177', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12', java.version: '1.8.0_74' 
Driver info: org.openqa.selenium.chrome.ChromeDriver 
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.30.477690 (c53f4ad87510ee97b5c3425a14c0e79780cdf262), userDataDir=/var/folders/k5/7h9wrl411lscklkysfgpdj3r0000gn/T/.org.chromium.Chromium.4Yvm6j}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=60.0.3112.113, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=}] 
Session ID: 1fad624912a4ca9ed46ea749eef0521c 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:6 
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.setSize(RemoteWebDriver.java:891) 
at appobjects.web.Browser.setSize(Browser.java:420) 
at appobjects.web.Browser.maximize(Browser.java:520) 
at com.ibm.test.inotes.iNotesTestCase.testSetUp(iNotesTestCase.java:626) 
at com.ibm.test.BaseTestCase.before(BaseTestCase.java:30) 
at com.ibm.test.inotes.iNotesTestSuiteRunner.runChild(iNotesTestSuiteRunner.java:151) 
at com.ibm.test.inotes.iNotesTestSuiteRunner$1.evaluate(iNotesTestSuiteRunner.java:240) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.junit.runners.Suite.runChild(Suite.java:128) 
at org.junit.runners.Suite.runChild(Suite.java:27) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:115) 
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77) 
at org.junit.runner.JUnitCore.main(JUnitCore.java:36) 
at com.ibm.test.inotes.suite.SuiteLauncher.main(SuiteLauncher.java:167) 
+0

,我们可以看看,你已经尝试的代码? –

回答

0

由于您在无头模式下运行测试,因此没有可用的活动浏览器窗口。因此您的

driver.manage().window().maximize() 

在这种情况下总是会失败,因为驱动程序不知道哪个窗口最大化,因为没有任何可用的。

尝试这样的事情

driver.manage().window().setSize(new Dimension(1440, 900)); 
+0

谢谢,我用setSize方法替换最大化() –

+0

它适合你吗? –

+0

谢谢:) ..... –

0

由于错误日志表明

failed to change window state to normal, current state is maximized 

我会建议在iNotesTestCase.testSetUp删除呼叫前最大化调用setSize方法。

在侧面说明我也建议升级到最新的chromedriver安装v2.31(https://sites.google.com/a/chromium.org/chromedriver/downloads)。

+0

我已经尝试使用chromedriver 2.31和2.30,遇到同样的错误 –

+0

@ xiaona2016cao尝试执行其他用户推荐的内容并编辑最大化呼叫。 –

0

错误堆栈跟踪说,这一切为:

org.openqa.selenium.WebDriverException: unknown error: failed to change window state to normal, current state is maximized 

当您试图通过最大限度地提高Chrome浏览器中观察到该错误:

driver.manage().window().maximize() 

您可以通过GitHub discussionchromedriver issue了解更多详情ILS。

IMO,没有最好的做法,但你总是可以考虑使用Options类如下最大化Chrome浏览器窗口:

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 

options = Options() 
options.add_argument("start-maximized") 
options.add_argument("disable-infobars") 
options.add_argument("--disable-extensions") 
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') 
driver.get('https://www.google.co.in') 
print("Page Title is : %s" %driver.title) 
driver.quit()