Wir verwenden Selenium mit Java, um unsere Webanwendung zu automatisieren. Wir haben funktionierenden Code, um automatisierte Testskripte auf Windows-Betriebssystem für die drei Browser (IE, Chrome, Firefox - Neueste Version) laufen zu lassen.Safari-Browser auf MAC mit Selenium Webdriver nicht maximieren
Wir haben die Anforderung, automatisierte Testskripte auf MAC-Betriebssystem - Safari-Browser zu betreiben.
Umwelt Details:
MAC OS-Version: macOS Sierra Version 10.12.5
Safari Browser Version: 10.1.1 (12603.2.4)
Selen Standalone Serverversion: 3.4.0
Java-Version: 1.8.0_112
Verbundene MAC-VM mit VNC-Viewer (Sys-Admin-Team stellte MAC VM für unsere Tests bereit).
Bei der Ausführung von Testskripten auf MAC maximiert der Code nicht den Safari-Browser, was für andere Browser (IE, Chrome und Firefox) unter Windows funktioniert. Aus diesem Grund können wir einige Steuerelemente für die Anwendung nicht finden.
driver.manage().window().maximize();
Wir erhalten keine Ausnahme, Code wird ausgeführt, führt aber keine Aktion aus.
Bitte helfen, Safari Browser zu überwinden Problem auf MAC zu maximieren.
Wirklich dachte ich, mein Problem wurde mit dieser Lösung gelöst, versuchte Code, um Safari-Browser zu maximieren, aber Ausnahme bekommen.
Code:
SafariOptions options = new SafariOptions();
options.setUseCleanSession(true);
driver = new SafariDriver(options);
JavascriptExecutor jse = (JavascriptExecutor)driver;
String screenWidth = jse.executeScript("return screen.availWidth").toString();
String screenHeight = jse.executeScript("return screen.availHeight").toString();
int intScreenWidth = Integer.parseInt(screenWidth);
int intScreenHeight = Integer.parseInt(screenHeight);
org.openqa.selenium.Dimension d = new org.openqa.selenium.Dimension(intScreenWidth, intScreenHeight);
driver.manage().window().setSize(d);
Ausnahme:
7. August 2017 15.11.53 org.openqa.selenium.remote.ProtocolHandshake create INFO: Erkannte Dialekt: OSS Exception in Thread "Haupt" org.openqa.selenium.NoSuchWindowException: Eine Anforderung, ein Fenster zu verwenden, konnte nicht erfüllt werden, da das Fenster nicht gefunden wurde. (WARNUNG: Der Server hat keine Stacktrace-Informationen bereitgestellt) Befehlsdauer oder Zeitlimit: 27 Millisekunden Build-Info: Version: '3.4.0', Revision: '5234b32', time: '2017-03-10 09:04 : 52 -0800 'System info: host:' Mac.local ', ip:' fe80: 0: 0: 0: 4c6: 11dc: 3f91: 11f8% en0 ', os.name:' Mac OS X ', os.arch: 'x86_64', Versionsnummer: '10 .12.6 ', java.version:' 1.8.0_121 'Treiberinfo: org.openqa.selenium.safari.SafariDriver Capabilities [{applicationCacheEnabled = true, rotierbar = false, databaseEnabled = true, handlesAlerts = true, Version = 12603.3.8, cleanSession = true, platform = MAC, nativeEvents = true, locationContextEnabled = false, webStorageEnabled = true, browser = safari, javascriptEnabled = true, Platform = macOS, cssSelectorsEnabled = true}] Session ID: BA265536-18D3- 490E-B6DB-40D8BBF25937 bei sun.reflect.NativeConstructorAccessorImpl.newInstance0 (native Methode) bei sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) bei sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) bei java.lang.reflect.Constructor.newInstance (Constructor.java:423) bei org.openqa.selenium.remote.ErrorHandler.createThrowable (ErrorHandler.java:216) bei org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java:168) bei org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:638) bei org.openqa.selenium.remote.RemoteWebDriver $ RemoteWebDriverOptions $ RemoteWindow.setSize (RemoteWebDriver.java:860) bei Sample.Safari.main (Safari.java:20)
Hallo, ich habe den Fix geschrieben. Ich kann bestätigen, dass Safari 11 und später das in der Frage beschriebene Problem nicht haben sollte. –
Das ist großartig, danke Brian Burg – SeJaPy