2014-05-21 18 views
9

Ich benutze WebDriver für die Automatisierung der Regressionssuite unserer Webapp, ich habe versucht, meine Testskripte mit IE11 funktionieren zu lassen, hatte aber keinen Erfolg.Selenium WebDriver on IE11

Ich verstehe, IEDriverServer.exe unterstützt derzeit nicht WebDriver und das Problem erfordert die Zusammenarbeit von Microsoft, habe ich die Schritte in Antworten auf Selenium Problem # 6511 beschrieben. nur

  1. (Für 11 IE, müssen Sie einen Registrierungseintrag auf dem Zielcomputer setzen, so dass der Fahrer eine Verbindung zu der Instanz von Internet Explorer aufrechterhalten kann es erstellt. Für 32-Bit-Windows-Installationen, die Taste können Sie in dem Registrierungs-Editor ist HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ Featurecontrol \ FEATURE_BFCACHE.

    Für 64-Bit-Windows-Installationen, ist der Schlüssel HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main prüfen müssen \ FeatureControl \ FEATURE_BFCACHE Beachten Sie, dass der FEATURE_BFCACHE-Unterschlüssel möglicherweise vorhanden ist und nicht vorhanden sein sollte, und wenn es nicht vorhanden ist, erstellen Sie einen DWORD-Wert mit Name iexplore .exe mit dem Wert 0)

  2. Protected-Modus-Einstellungen sind die gleichen für alle Zonen

  3. erweiterte geschützte Modus deaktiviert ist.

Aber immer noch, wenn ich meine Automatisierungsskripts in IE11 ausführen, es ist am Browser zu öffnen und unter Ausnahme

org.openqa.selenium.ElementNotVisibleException: Received a JavaScript error attempting to 
click on the element using synthetic events.We are assuming this is because the element 
isn't displayed, but it may be due to other problems with executing JavaScript. (WARNING: 
The server did not provide any stacktrace 
information) 

bekommen Kann jemand bitte helfen Sie mir, wie dieses Problem zu lösen. Ich muss meine Automatisierungsskripte in IE11 ausführen.

Version Details:

  1. Selen-2.41.0

  2. InternetExplorerDriver Server (32-Bit) 2.40.0.0

  3. Windows-7-32 Bit

+0

ich sowohl Selen und IEDriverServer gleiche Version also versucht haben, 2,41. 0, Immer noch die gleiche Ausnahme. Kann jemand mit demselben Problem konfrontiert werden, bitte helfen Sie mir, wenn Sie dieses Problem gelöst haben? – mra419

Antwort

6

Es ist ein bisschen knifflig und nervig, aber möglich.

Sie haben bereits die IE Einstellungen erwähnt, die benötigt werden. Es speichert auch den Inhalt zwischen Läufen/Verwendung und Sie müssten den Cache und die persönlichen Einstellungen löschen. Ich habe festgestellt, dass die folgenden Punkte sicherstellen, dass die Instanz beim Start sauber ist. Dies sind Optionen, die beim Instanziieren des WebDrivers an die IE-Instanz übergeben werden.

Local:

var options = new InternetExplorerOptions(); 
    options.IntroduceInstabilityByIgnoringProtectedModeSettings = true; 
    //Clean the session before launching the browser 
    options.EnsureCleanSession = true; 

Sender:

capabilities = DesiredCapabilities.InternetExplorer(); 
    capabilities.SetCapability("ie.ensureCleanSession", true); 

Vielleicht ist dies als auch die IE-Sicherheitseinstellungen, die Sie erwähnt könnte für Sie arbeiten.

0

Update für 2017 veröffentlicht hat:

case "remote5555iexplorer" => { 
    println(" load web-driver: remote5555iexplorer") 

    val dc = DesiredCapabilities.internetExplorer() 
    dc.setJavascriptEnabled(true) 
    dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true) 
    dc.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true) 
    dc.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true) 

    dc.setCapability(InternetExplorerDriver.NATIVE_EVENTS, false); 

    remote = new RemoteWebDriver(new URL("http://localhost:5555/"), dc) 
    //remote = new InternetExplorerDriver(dc) 

    } 

iexplorer: 11.0.9.9600.17843 Update-Version: 11.0.20

libraryDependencies + = "org.seleniumhq.selenium"% "selen-ie-driver"% "3.3.1"

WebDriver: IEDriverServer.exe 3.2.0.0 (64-Bit)

Befehl für Lauf WebDriver: IEDriverServer.exe/LOG-LEVEL = DEBUG

+0

Hallo Nexoma, Löscht die Probleme früher mit ie11 – user2256404

+0

Ich benutze diese Variante in Win7, Win10 ohne den geschützten Modus und Registrierung bearbeiten. – nexoma