Проверка загрузки файла с помощью Selenium - PullRequest
1 голос
/ 29 ноября 2011

Мне нужно использовать селен для подтверждения загрузки.Мне нужно щелкнуть ссылку на файл загрузки и убедиться, что она доступна для загрузки или нет.(Значит, загрузка начинается или нет) Мне нужно создать простой HTML-скрипт для этого.Но поскольку Selenium не распознает диалоговое окно «Сохранить как» для загрузки файла, я не могу продолжить.Есть ли какое-то решение в Selenium для этого.Я не могу использовать какой-либо другой сторонний инструмент, так как он является частью сценария централизованного тестирования пользовательского интерфейса.Заранее спасибо.

1 Ответ

0 голосов
/ 25 июля 2012

Мое решение (в C #) - получить URL-адрес файла для загрузки и любой файл cookie и выполнить запрос с помощью WebClient:

        var testLink = seleniumDriver.FindElement(By.LinkText("Link to file"));
        var pdfHref = testLink.GetAttribute("href");
        var manage = seleniumDriver.Manage();
        var cookies = manage.Cookies.AllCookies;
        using (var wc = new WebClient())
        {
            foreach (var cookie in cookies)
            {
                var cookieText = cookie.Name + "=" + cookie.Value;
                wc.Headers.Add(HttpRequestHeader.Cookie, cookieText);
            }
            var fileResult = wc.DownloadData(new Uri(pdfHref));
            // or use wc.DownloadString or wc.DownloadFile
            // Do any test required
        }
...