Mam problem z korzystaniem z webbooka Chrome i selenu 2. Problem polega na tym, że kiedy uruchamiam sesję przeglądarki przy użyciu chromedriver, zawsze rozpoczyna się ona w oknie o wielkości mniejszej niż połowa dostępnej szerokości ekranu. Ponieważ przeprowadzam testy na stronie, która zmienia się po zmianie rozmiaru ekranu, moje testy kończą się niepowodzeniem, ponieważ próbuję przeciągnąć element z góry strony i upuścić go do elementu znajdującego się u dołu strony. Pojawia się błąd przewijania. Ale jeśli okno jest zmaksymalizowane, to nie dostaję tego błędu. Ale problem polega na tym, że za każdym razem, gdy chrome rozpoczyna nową sesję za pomocą sterownika chrome, zawsze zaczyna się w małym oknie. Zbadałem wiele różnych opcji, aby przeglądarka zaczęła zmaksymalizować:Okna chrome Mac selenium webdriver zawsze zaczynają się od małego okna
- Wykonaj połączenie za pośrednictwem javascript, aby zmienić rozmiar okna za pomocą window.resizeTo (szerokość, wysokość) ;. Jednak nie działa to w późniejszych wersjach chrome (lub firefox).
- Zacznij chrom z przełącznikiem - zmaksymalizowany start. Działa to w systemie Windows, ale to nie robi nic na mac.
- Uruchom chrome za pomocą przełącznika określającego katalog profilu. W ten sposób profil definiuje rozmiar okna. --profile-directory = ~/chromeprofile To działało, gdy uruchomiłem chrome z wiersza poleceń, ale jeśli zrobię to z selenu webdriver/chromedriver to nie robi żadnej różnicy.
Kiedy próbuję:.. Driver.manage (okno)() setSize() otrzymuję ten wyjątek:
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)
Jakie inne opcje mogłem zbadać, aby osiągnąć ten cel? Problem polega na tym, że okno jest za małe? Co mogę zrobić, aby automatycznie maksymalizować okno za każdym razem, gdy Chrome uruchamia się przez webdriver na Macu?
Zauważyłem, że działa to w przypadku sterownika firefoxdriver, ale nie w przypadku sterownika Chrome. Z chromiedriver dostaję wyjątek pokazany w moim poście. – justspamjustin