2017-08-30 3 views
1

Detaillierte Fehlerprotokoll wie folgt:Starten Selen chromedriver fehlgeschlagen mit 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

Können wir den Code anschauen, in die Sie versucht haben? –

Antwort

0

Da Tests im Headless-Modus ausgeführt werden, ist kein aktives Browserfenster verfügbar. Als solche Ihr

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

immer in solchen Situationen versagen würde, weil der Fahrer nicht das Fenster weiß zu maximieren, da es keine verfügbar ist.

Probieren Sie etwas wie dieses

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

Danke, ich benutze die Methode setSize zum Maximieren() –

+0

funktioniert es für dich? –

+0

Danke :) ..... –

0

Da das Fehlerprotokoll

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

schlägt vor, würde ich vorschlagen, dass in der iNotesTestCase.testSetUp Sie den Anruf maximieren entfernen, bevor Sie Rufen Sie die setSize-Methode auf.

Nebenbei würde ich auch ein Upgrade auf die neueste Chrome-Treiber-Version v2.31 (https://sites.google.com/a/chromium.org/chromedriver/downloads) empfehlen.

+0

Ich habe versucht, chromedriver 2.31 und 2.30, der gleiche Fehler aufgetreten –

+0

@ xiaona2016cao versuchen zu tun, was von anderen Benutzern empfohlen wurde und bearbeiten Sie den Aufruf maximieren. –

0

Der Fehler-Stack-Trace sagt alles wie:

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

Dieser Fehler wird beobachtet, wenn Sie versuchen, den Chrome-Browser durch zu maximieren:

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

Sie können durch die GitHub discussion und chromedriver issue für weitere Details gehen ILs.

IMO, gibt es keine beste Praxis aber man kann immer betrachtet die Options Klasse zu verwenden, um die Chrome-Browser-Fenster zu maximieren, wie folgt:

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() 
Verwandte Themen