6

Mam wszystkie testy uruchomione w pudełku ubuntu. Testy są napisane w PHP. Działają dobrze dzięki sterownikowi firefox i chromowanemu sterownikowi. Używam autonomicznego serwera selenu (selenium-server-standalone-2.25.0.jar), który działa w tym samym pudełku. Ostatnio muszę napisać test na platformach IE. Próbowałem kilka rzeczy, ale do tej pory wciąż nie jestem pewien, jaki jest właściwy sposób ustawienia sterownika IE dla mojego szczególnego scenariusza.Jak ustawić program Internet Explorer na zdalnym pudełku?

Próbowałem zainstalować IE z mono w tym samym pudełku ubuntu, ale miałem wiele problemów podczas instalacji i po tym, jak pozbyłem się tych problemów i zrobiłem to by móc uruchomić IE z mojej linii poleceń, to wciąż nie działał dla moich testów.

Czytam za pośrednictwem tej konkretnej dokumentacji tutaj: http://code.google.com/p/selenium/wiki/InternetExplorerDriver a następnie poprzez na pole okien, dopóki nie zobaczyłem to:

Serwer HTTP rozpoczęty przez IEDriverServer.exe ustala listę kontroli dostępu tylko zaakceptować połączenia z komputera lokalnego i uniemożliwiają połączenia przychodzące ze zdalnych komputerów. Obecnie tego nie można zmienić bez modyfikowania kodu źródłowego do pliku IEDriverServer.exe . Aby uruchomić sterownik przeglądarki Internet Explorer na zdalnym komputerze , użyj autonomicznego zdalnego serwera Java w połączeniu ze swoim powiązaniem językowym w wersji z RemoteWebDriver.

więc pobrałem selen-server-standalone-2.25.0.jar do maszyny Windows i uruchomiłem; mój IEDriverServer.exe został umieszczony w C: \ windows \ system32 \, który znajduje się w mojej zmiennej PATH. Następnie zmieniłem kod w moim polu ubuntu, aby wskazać serwer selenowy działający w oknie Windows. Ale wciąż nie ma szczęścia.

I googled trochę, i są przypadki ludzie z powodzeniem go uruchomiono. Ale wydaje się, że używają wiązania Java lub wiązania C#, które przypuszczam, że rozwijają się na lokalnym polu. Nie znalazłem pracy, która byłaby podobna do mojej:

Skrzynka ubuntu, w której testy oparte na PHP uruchamiają połączenie ze zdalnym serwerem selenowym działającym w systemie Windows. okno systemu Windows z autonomicznym serwerem selenowym i programem IEDriverServer.exe w PATH

Dzięki.

+0

Kilka naprawdę użytecznych informacji na temat tego, jakie połączenia językowe PHP używasz, próbka kodu PHP, który zawodzi i jakie błędy otrzymujesz z serwera zdalnego Java. – JimEvans

+0

Mam również ten sam problem. Wygląda na to, że nie ma sposobu na zdalne przetestowanie w IE z testu PHP. Korzystam z https://github.com/Nearsoft/PHP-SeleniumClient jako powiązania językowego. –

Odpowiedz

6

Miałem podobny problem - pracowałem nad Linuksem i chciałem uruchomić testy WD przeciwko IE 11 - i udało mi się. Główna różnica między mną a OP polega na tym, że moje testy są napisane w Javie.

Moim celem było tak:

  • Moja stacja robocza: Ubuntu 14.04, testy napisane w Javie.
  • maszyna Windows: niektóre VM z IE 11.
  • Chcę uruchomić moje testy na IE działających na polu Windows ze stacji roboczej Ubuntu (tak, że nie trzeba instalować całe środowisko dev na maszyna Windows).

Co zrobiłem:

  1. Got Win 7 & IE 11 VM VirtualBox, pobranego z Microsoft (here), zasilany go.
  2. Pobrano do okna Windows: (a) Java JRE, (b) Selenium Standalone Server jar (NIE "Serwer sterowników Internet Explorer" również wymieniony na tej stronie), (c) Internet Explorer Driver.
  3. Skonfiguruj sieć hosta tylko między moją stacją roboczą a skrzynką systemu Windows. Here's miły opis procesu. Pomimo, że VM w blogu jest linuksowym, działa prawie tak samo dla Windows VM (użyj "ipconfig" z wiersza poleceń, zamiast "ifconfig", aby znaleźć swoje IP).
  4. W systemie Windows, skonfigurowane rzeczy wymienione na oficjalnej stronie sterownika Internet Explorer, w sekcji Required Configuration. W przypadku ich zmiany w link, jestem wklejając je tutaj:
  • IEDriverServer wykonywalny należy pobrać i umieścić w PATH.
  • W wersji IE 7 lub nowszej w systemie Windows Vista lub Windows 7 należy ustawić ustawienia trybu chronionego dla każdej strefy na tę samą wartość. Wartość może być włączona lub wyłączona, o ile jest taka sama dla każdej strefy. Aby ustawić ustawienia trybu chronionego, wybierz "Opcje internetowe ..." z menu Narzędzia i kliknij kartę Zabezpieczenia. Dla każdej strefy pojawi się pole wyboru u dołu zakładki "Włącz tryb chroniony".
  • Dodatkowo, "Rozszerzony tryb chroniony" musi być wyłączony dla IE 10 i wyższych. Ta opcja znajduje się na karcie Zaawansowane w oknie dialogowym Opcje internetowe.
  • Poziom powiększenia przeglądarki musi być ustawiony na 100%, aby rodzime zdarzenia myszy można było ustawić na prawidłowe współrzędne.
  • Tylko w przypadku IE 11 konieczne będzie ustawienie wpisu rejestru na komputerze docelowym, aby sterownik mógł utrzymywać połączenie z utworzonym przez siebie programem Internet Explorer. W przypadku 32-bitowych instalacji systemu Windows kluczem do sprawdzenia w edytorze rejestru jest HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE. W przypadku 64-bitowych instalacji systemu Windows kluczem jest HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BFCACHE. Należy pamiętać, że podklucz FEATURE_BFCACHE może lub nie może występować i powinien zostać utworzony, jeśli nie jest obecny. Ważne: W tym kluczu utwórz wartość DWORD o nazwie iexplore.exe z wartością 0.

Uwaga Nie należy umieścić IEDriverServer.exe „s położenie w ścieżce, i nie mógł znaleźć" Rozszerzony tryb chroniony "w moich ustawieniach IE 11 (więc tego nie zrobiłem).

  1. W oknie Windows uruchamiany z wiersza poleceń (muszą one zarówno być uruchomiony; wyobraziłem go od słupków na this issue):
    • java -jar selenium-server-standalone-2.53.1.jar
    • IEDriverServer.exe
  2. redagował skonfigurować część moich testów używać RemoteWebDriver, tak jak (192.168.56.101 był gospodarzem Tylko sieć IP w oknie Windows):

    DesiredCapabilities capability = DesiredCapabilities.internetExplorer(); 
    driver = new RemoteWebDriver(new URL("http://192.168.56.101:4444/wd/hub"), 
        capability); 
    
  3. prowadził badania z mojej stacji roboczej Ubuntu jako normalny: mvn test myproject

I udało się! :)

+0

Dzięki za wyszczególnienie Twojej pracy –