2012-06-20 15 views
9

Mój kod w Visual Studio używa selenu webdriver 2.24.0. Moje ramy testowe, których używam, to Nunit. Mój kod działał dobrze (ładowanie różnych przeglądarek, prowadzenie stron internetowych), aż do wydania wersji 2.24.0.Błąd trybu chronionego przeglądarki Internet Explorer

Dodałem nowy samodzielny serwer IE do mojego projektu.

Teraz, gdy uruchamiam mój kod, NUnit napotyka ten komunikat o błędzie.

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. 

Następnie pojawi się wiersz polecenia.

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

Wyłączyłem tryb chroniony na moim IE. Wciąż nie ma szczęścia.

Jak mogę przywrócić mój kod do właściwego webovingu?

+1

Czy jesteś pewien, że tryb chroniony jest wyłączony dla _all_ 4 stref bezpieczeństwa (Internet, Lokalny intranet, Zaufane witryny, Ograniczone stron)? –

+0

Tryb chroniony był nadal włączony w zastrzeżonych witrynach. Dzięki za poprawkę. Podaj tę odpowiedź, zaakceptuję: – lbrown

+1

pokrewne: Podstawowa prośba o funkcję Selenium http://code.google.com/p/selenium/issues/detail?id=1795 –

Odpowiedz

16

Należy upewnić się, że tryb chroniony jest włączony lub wyłączony dla wszystkich stref bezpieczeństwa (Internet, lokalny intranet, zaufane witryny, witryny z ograniczeniami) o wszystkie. Innymi słowy, wartość ustawienia powinna być taka sama dla wszystkich stref bezpieczeństwa.

+1

Dotykanie, ponieważ odpowiedź oznacza, że ​​tryb chroniony musi być wyłączony dla wszystkich stref. To jest niepoprawne. Tryb chroniony może być włączony lub wyłączony, o ile wartość jest taka sama dla wszystkich stref. Popraw odpowiedź na ** nie ** oznacza, że ​​Tryb chroniony_musisz być wyłączony, a ja usunę błąd. – JimEvans

+0

@ Jim Horgan Jimie, nie wiem dlaczego, ale działa tylko dla mnie, gdy jest wyłączony. Jakieś pomysły? Jestem na Windows 7 (64-bit) z IE 10. –

15

Wystarczy, aby dodać do poprawnych odpowiedzi, jeśli ustawienie wszystkich wartości nie jest tym samym opcją, (Wymagane jest wyłączenie zabezpieczeń w niektórych strefach, ale zachowaj bezpieczeństwo w innych), możesz także zainicjować kierowca z przeciążeniem, który zawiera InternetExplorerOptions i używać

new InternetExplorerOptions() { IntroduceInstabilityByIgnoringProtectedModeSettings = true} 
+0

to skały! dzięki – unreal

2

Zgadzam się z tym, co mówi Alexander ale co, jeśli firma nie pozwala dokonywać żadnych zmian w ustawieniach IE.


Następujące pracował dla mnie:

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"); 
Powiązane problemy