Перейти к содержимому

Фотография

Сохранение файла IE8 Eclipse WebDriver JAVA


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 25 июня 2013 - 06:14

Всем добрый день, требуется мне скачать файл в IE8, изначально считал эту задачу невозможной, но немного похимичев добрался до кое какого результата, вообщем вот код:
driver.get(baseUrl);
		driver.manage().deleteAllCookies();
	    driver.navigate().refresh();
		Login login = new Login(driver);
		login.candidate("login", "pass");
		Thread.sleep(2000);
		driver.get(baseUrl + "/candidate");
	    driver.findElement(By.linkText("My Tests")).click();
	    Thread.sleep(2000);
	    driver.findElement(By.linkText("Completed Tests")).click();
	    Thread.sleep(2000);
	    //GO >>
	    driver.findElement(By.xpath("//*[@id='sheduled-tests']/div/table/tbody/tr[1]/td[7]/a/i")).click();
	    Thread.sleep(2000);
        String hrefpath =  driver.findElement(By.xpath("//*[@id='test-result']/div[3]/div[8]/a[2]")).getAttribute("href");
        Thread.sleep(2000);
        driver.get(hrefpath);
        Thread.sleep(3000);
За счет того что я ищу нужный файл по аттрибуту "href" IE вполне себе может его увидеть и даже начать скачивать, но когда начинается скачивание - я вижу вот такую вот ошибку:Прикрепленный файл  6-25-2013 9-11-47 AM.jpg   47,72К   28 Количество загрузок:
Далее я начал искать решение этой проблемы в гугле, перепробывал десятки идей по настройке реестра и IE. И в конце наткнулся на вот такую статью:
http://blogs.msdn.co...n-no-cache.aspx
Тут я так понимаю дело мы имеем с кешем, но я в Еклипсе даже никогда не пытался с ним работать. Мне нужен совет как можно организовать данное решение на Java в Eclipse WebDriver. Буду очень благодарен за помощь, спасибо
  • 0

#2 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 25 июня 2013 - 07:36

А у Вас в href абсолютный путь содержится? Просто кликать по элементу не пробовали?
  • 0

#3 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 25 июня 2013 - 07:40

Да, абсолютный. начиная от http: и заканчивая последним символом в названии файла.
Клик по елементу - означает открытие файла pdf в новой вкладке, скачать могу только если правой кнопкой и save as...
Наверняка клик сработает при каком то другом формате, но мне нужен универсальный способ.
  • 0

#4 streLerr

streLerr

    Новый участник

  • Members
  • Pip
  • 23 сообщений
  • ФИО:test tes test
  • Город:Воронеж

Отправлено 25 июня 2013 - 09:48

Если файл доступен для скачки в одном браузере , он будет доступен во всех. зачем усложнять и скачивать через разные браузеры??
  • 0

#5 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 25 июня 2013 - 10:32

Эти правила придуманы не мной, а компанией на которую я работаю. В данный момент я только учусь автоматизированому тестированию и по этому захломляю этот форум миллионами различных тем, так как тут часто помогают и отвечают адекватные люди) Мне была поставлена задача добится скачивания файла во всех 3 браузерах, вот сижу и стараюсь привести эту задачу в исполнение.
  • 0

#6 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 25 июня 2013 - 10:49

Если прочитать про метод гет, то он предназначен для загрузки страничек в окно браузера, а не файлов на диск.
public void get(String url)
Load a new web page in the current browser window.
Для решения задачи загрузки файла, надо писать обработку этой ситуации для нужного браузера в отдельности, где возможно просто включать в профиле автоматическое сохранение файла.
  • 0

#7 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 25 июня 2013 - 12:23

Должно быть решение проще, у меня ведь уже начинается качатся файл, надо просто разрешить этому недалекому ИЕ его сохранить правильно. Зачем мне писать обработки для 3 браузеров, когда с остальными 2 у меня проблем вообще нет? 1 несчастный Error отделяет меня от полностью рабочего теста.
  • 0

#8 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 25 июня 2013 - 12:43

Или меняйте со стороны сервера или пробуйте эти варианты:
http://support.microsoft.com/kb/815313
http://support.microsoft.com/kb/323308
  • 2

#9 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 26 июня 2013 - 05:42

Попробывал сделать укзаные действия, не понимаю как добавить :
Add a Cache-control: no-store HTTP header to the response message.
You can also add the Cache-control: no-cache HTTP header
Все остальное получилось сделать, но все равно не работает. Возможно дело как раз в кеше...но я не знаю как его добавить в свой Junit4 код.
  • 0

#10 _Yura

_Yura

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:n/a

Отправлено 27 июня 2013 - 07:33

Попробывал сделать укзаные действия, не понимаю как добавить :
Add a Cache-control: no-store HTTP header to the response message.
You can also add the Cache-control: no-cache HTTP header

response.setHeader("Cache-Control" "значения: no-cache и так далее")
  • 0

#11 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 27 июня 2013 - 08:26

Вы действительно думаете что я на наткнулся на этот вариант когда искал решение в интернете?) Данное условие не подходит для моей ситуации, но спасибо.
  • 0

#12 _Yura

_Yura

    Новый участник

  • Members
  • Pip
  • 50 сообщений
  • ФИО:n/a

Отправлено 27 июня 2013 - 09:00

я перепроверял у себя прежде чем написать; теперь убрал, и без него ИЕ скачивает пдфник :(

а вариант с реестром пробовали?
  • 0

#13 FR33D

FR33D

    Новый участник

  • Members
  • Pip
  • 64 сообщений

Отправлено 27 июня 2013 - 13:05

С реестром? Эээм, ну это смотря что именно Вы хотите предложить.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных