2013-02-07 17 views
5

Potrzebuję przetestować działanie pobierania. Skonfigurowałem już zdalne sterowniki do przeglądarek FF i Chrome, aby automatycznie pobierać pliki bez żadnych przyrzeczeń i okien wyskakujących. Ale nie mogę znaleźć żadnych przydatnych informacji - jak zezwolić na automatyczne pobieranie plików dla IE9.Webdriver | IE9 | Skonfiguruj automatycznie pobierane pliki

Co próbowałem:

  • znaleźć wszelkie możliwe sposoby, aby skonfigurować sam sterownik. Nic nie znaleziono: brak możliwości, brak opcji, brak argumentów cmd
  • znajdź ustawienia na karcie Zabezpieczenia. Sprawdziłem to już i stwierdziłem, że ustawienia umożliwiające to zostało usunięte dla IE9.
  • stosowanie takich kluczy rejestru, ale to nie pomaga (znaleziono go here):

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 2202 = 0x0

a to:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ Feature Control \ FEATURE_RESTRICT_FILEDOWNLOAD \ iexplore.exe = 0x00000000

Kto wie jak go rozwiązać? To się dzieje naprawdę?

+3

Istnieje tutaj rozwiązanie do pobierania plików w różnych platformach (po wpisie w blogu zachęcającym do pierwszego zatrzymania i ustalenia przyczyny pobierania plików): http://ardesco.lazerycode.com/index.php/2012/07/ how-to-download-files-with-selen-and-why-you-shouldnt/ – Ardesco

Odpowiedz

3

Niestety, ostatnio również dotknęłam tego problemu. Boję się powiedzieć, że to nie jest dobra wiadomość.

IE8 i niżej, to było inaczej, po prostu dlatego, że to nowe okno można wchodzić w interakcje z.

IE9, to jest teraz wbudowany 'Ramka Notification Bar'

Można kliknąć przycisk Zapisz przy użyciu PInvoke ... zobacz ten temat:

https://stackoverflow.com/a/8532222/1173729

Ta odpowiedź jest dla Watin, ale jedyna różnica polega na tym, że Watin już hermetyzuje umiejętność uchwycenia danego okna przeglądarki. Może to być po prostu przełączane za pomocą własnej metody, punktem jest zwykle uzyskanie klamki okna IE, chodzenie po elementach potomnych, dopóki nie klikniesz przycisku "Zapisz". Ma to jednak poważną wadę, przestawiając kontrolę z powrotem na Selen - tak się nie dzieje, Selen po prostu się zawiesi.

Uwaga, to wszystko w języku C#. Java widocznie ma inne sposoby, takie jak klasy „Robot”:

http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Robot.html

ja ich nie używany, ale będzie można użyć klasy skierować go do miejsca, gdzie przycisk Zapisz będzie.

Nie będzie żadnych kluczy rejestru lub ustawienia, aby uniknąć tego problemu - po prostu nie jest możliwe.

Podjąłem decyzję, że od czasu, gdy FF & Chrome można ustawić tak, aby automatycznie pobierał plik, można go później zweryfikować. Testujesz, czy plik można pobrać i pojawia się na dysku twardym.

Jakie są szanse, że nie zdarzy się to w IE9, jeśli działa poprawnie w Chrome i Firefox? Smukłe, ale możliwe.

Najważniejsze jest to, że jest to okno systemu operacyjnego, coś poza zakresem Selenium.

Można również połączyć z AutoIT. Moje doświadczenie jest takie, że AutoIT może być równie niepoprawny.

+0

Dzięki, spróbuję. Nigdy nie korzystałem z Robot - będzie to przydatne doświadczenie :) thnx! Właściwie, muszę przetestować działanie downalodu we wszystkich przeglądarkach, ponieważ może nie zawsze być w stanie kliknąć przycisk pobierania lub element podobny do przycisku dla użytkownika z dowolnego powodu. – Gadget

Powiązane problemy