Tengo un problema con el controlador de Chrome y Selenium 2. El problema es que cuando comienzo la sesión de mi navegador utilizando el controlador cromado siempre comienza en una ventana que es menos de la mitad del ancho de la pantalla disponible. Como realizo pruebas en una página que cambia cuando cambia el tamaño de la pantalla, mis pruebas fallan porque estoy intentando arrastrar un elemento desde la parte superior de la página y soltarlo en un elemento que se encuentra en la parte inferior de la página. Me sale un error de desplazamiento. Pero si la ventana está maximizada, entonces no obtengo este error. Pero el problema es que cada vez que Chrome inicia una nueva sesión a través del controlador de Chrome, siempre comienza en una ventana pequeña. He explorado muchas opciones diferentes para obtener el navegador para empezar maximizado:Mac selenium webdriver ventana de cromo siempre comienza con una pequeña ventana
- efectuar una llamada mediante javascript para cambiar el tamaño de la ventana usando window.resizeTo (anchura, altura) ;. Sin embargo, esto no funciona en versiones posteriores de Chrome (o Firefox para el caso).
- Comience cromado con un interruptor --start-maximized. Esto funciona en Windows, pero esto no hace nada en un Mac.
- Inicie Chrome con un modificador que especifique un directorio de perfil. De esta forma, el perfil definiría el tamaño de la ventana. --profile-directory = ~/chromeprofile Esto funcionó cuando inicié Chrome desde la línea de comandos, pero si hago esto desde Selenium webdriver/chromedriver no hace ninguna diferencia.
Cuando intento:.. Driver.manage() ventana setSize()() consigo esta excepción:
INFO: Executing: [93debf43cf70ad3557442a7e1aee4620, setWindowSize {"windowHandle":"current","width":2560,"height":1440}] org.openqa.selenium.UnsupportedCommandException: [GET, HEAD, DELETE] Command duration or timeout: 16 milliseconds Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25' System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.2', java.version: '1.6.0_29' Driver info: driver.version: RemoteWebDriver at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:147) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:113) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:424) at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.setSize(RemoteWebDriver.java:578) at com.domo.automation.framework.utility.WebDriverUtil.startWebDriver(WebDriverUtil.java:36) at com.domo.automation.tests.DomoWebDriverTestCase.setUp(DomoWebDriverTestCase.java:45) at junit.framework.TestCase.runBare(TestCase.java:132) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:243) at junit.framework.TestSuite.run(TestSuite.java:238) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
¿Qué otras opciones podría explorar con el fin de lograr esto? ¿El problema es que la ventana es demasiado pequeña? ¿Qué puedo hacer para maximizar automáticamente la ventana cada vez que Chrome se inicia vía webdriver en un Mac?
Me di cuenta de que esto funciona para firefoxdriver pero no para el controlador de Chrome. Con el cromedriver obtengo la excepción que se muestra en mi publicación. – justspamjustin