2012-06-20 24 views
9

Il mio codice in Visual Studio utilizza selenio web 2.24.0. Il mio framework di test che sto usando è Nunit. Il mio codice ha funzionato bene (caricando i browser diff, guidando i siti web) fino alla versione 2.24.0 è stata rilasciata.Errore modalità protetta Internet Explorer

Ho aggiunto il nuovo server standalone di IE al mio progetto.

Ora ogni volta che eseguo il mio codice di NUnit incontra questo messaggio di errore.

FirstSeleniumTest.SeleniumTest.TestGoogle: 
SetUp : System.InvalidOperationException : Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones. (NoSuchDriver) 
TearDown : System.NullReferenceException : Object reference not set to an instance of an object. 

Quindi al prompt dei comandi viene visualizzato questo messaggio.

Started InternetExplorerDriver server (64-bit) 
2.24.0.0 
Listening on port 50329 

Ho disabilitato la modalità protetta sul mio IE. Ancora senza fortuna.

Come posso ripristinare il mio codice per l'utilizzo corretto del web?

+1

Sei sicuro che la modalità protetta è disattivata per _tutti_ 4 aree di protezione (Internet, Intranet locale, Siti attendibili, Siti con restrizioni)? –

+0

La modalità protetta era ancora abilitata su siti con restrizioni. Grazie per la correzione. Fare che una risposta, ti accetta – lbrown

+1

correlato: Sottostante Richiesta Selenio Caratteristica http://code.google.com/p/selenium/issues/detail?id=1795 –

risposta

16

È necessario assicurarsi che la modalità protetta sia abilitata o disabilitata per tutte le zone di sicurezza 4 (Internet, Intranet locale, Siti attendibili, Siti con restrizioni). In altre parole, il valore di impostazione dovrebbe essere lo stesso per tutte le zone di sicurezza.

+1

Downvoting perché la risposta implica che la Modalità protetta deve essere disabilitata per tutte le zone. Questo non è corretto La modalità protetta può essere abilitata o disabilitata, purché il valore sia lo stesso per tutte le zone. Correggere la risposta a ** non ** implica che la Modalità protetta _deve_ essere disabilitata e rimuoverò il downvote. – JimEvans

+0

@JimEvans Hey Jim, non so perché ma funziona solo per me quando è spento. Qualche idea? Sono su Windows 7 (64 bit) con IE 10. –

6

È necessario impostare le impostazioni della modalità protetta per ogni zona con lo stesso valore.

15

Giusto per aggiungere alle risposte giuste, se l'impostazione di tutti i valori non è un'opzione, (È necessaria la sicurezza disabilitata è alcune zone, ma si desidera mantenere la sicurezza abilitata in altri) è anche possibile inizializzare il proprio driver con il sovraccarico che comprende InternetExplorerOptions, e utilizzare

new InternetExplorerOptions() { IntroduceInstabilityByIgnoringProtectedModeSettings = true} 
+0

questo rocce! grazie – unreal

2

sono d'accordo con quello che Alexander sta dicendo ma cosa succede se la vostra azienda non consente di apportare modifiche alle impostazioni di IE.


Di seguito ha lavorato per me:

File file = new File("M:\\dev\\ria\\iedriver\\2.42.0\\install\\exec\\IEDriverServer.exe"); 
    System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 

    DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); 
    caps.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); 
    caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 

    WebDriver driver = new InternetExplorerDriver(caps); 
    driver.get("http://www.google.com"); 
Problemi correlati