Selenium удаленно скачивает файл в IE c # - PullRequest
0 голосов
/ 07 марта 2019

Я хочу удаленно запустить загрузочный тест под IE. Я ищу какой-либо способ сделать это (на удаленной машине), даже если я должен использовать другой инструмент, такой как autoit (который не кажется точным в отношении удаленного аспекта).

Моя проблема: Когда IEWebdriver нажимает кнопку загрузки, он открывает диалоговое окно для запроса Save as, Open или Cancel, но я не могу нажать на них. Логика пользовательского интерфейса сделана на angularJS. После нажатия на кнопку происходит генерация события ng-click и вызов методов, которые получают файл с сервера. Поэтому я не могу самостоятельно построить запрос к серверу, получить документ и сохранить его в нужном каталоге.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Всплывающее окно IE контролировалось собственным кодом IE, мы не можем вызывать эти методы с помощью Selenium.Если вы хотите загрузить файл в IE, вы можете рассмотреть другие инструменты, такие как перезагрузка, AutoIT для обработки элементов управления IE.
Пожалуйста, обратитесь к этим документам:

http://ardesco.lazerycode.com/testing/webdriver/2012/07/25/how-to-download-files-with-selenium-and-why-you-shouldnt.html

Загрузить файл в IE, используя Selenium

0 голосов
/ 12 марта 2019

Как правило, есть два способа сообщить браузеру, чтобы он автоматически загружал файлы, без запроса подтверждения.

В настоящее время я не тестирую драйвер Internext Explorer, но я вполне уверен, что вы должны вручную настроить браузер на вкладке его настроек, указав НЕ запрашивать загрузки определенного типа.

Selenium не может самостоятельно отключить этот тип оповещения, аналогично оповещению браузера в главном потоке пользовательского интерфейса.

Некоторые драйверы браузера, такие как Firefox, допускают как настройку этого поведения в настройках браузера, так и из объекта FirefoxProfile, передаваемого в конструктор драйверов. Вот пример того, как это можно сделать в Firefox:

                FirefoxProfile profile = new FirefoxProfile();
                profile.SetPreference("browser.download.dir", "%path%");
                profile.SetPreference("browser.download.folderList", 2);
                profile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv,application/pdf,application/octet-stream,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

Это напрямую не решит вашу проблему, так как у меня нет возможности поэкспериментировать с этим сейчас, чтобы что-то подтвердить, но это должно помочь вам указать правильное направление.

...