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

Фотография

О настроках ie,chrome,ffdrivers


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

#1 FR33D

FR33D

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

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

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

Всем здраствуйте. Вопрос такой:
Мне надо скачать файл с сайта с 3 браузеров: ФФ, Хром и ИЕ. Но каждый браузер после нажатия на кнопку для скачивания ведет себя абсолютно по-разному. Вот 3 скриншота:
Прикрепленный файл  6-20-2013 12-13-26 PM.jpg   74,66К   28 Количество загрузок:
Прикрепленный файл  6-20-2013 12-11-48 PM.jpg   61,13К   34 Количество загрузок:
В IE вообще ничего не происходит. Не желает наш "чудесный" браузер что либо сохранять в PDF.
И как можно добится для всех браузеров вот такого результата:
Прикрепленный файл  6-20-2013 12-18-29 PM.jpg   65,04К   26 Количество загрузок: ???
Подскажите как можно настроить все это дело. Пробывал вручную - не работает, если запускаешь тест повторно. Все настройки сбрасываются на дефолт.
  • 0

#2 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

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

где-то было уже об этом. Вам нужно скачать файл или протестировать диалог скачивания файла? Скорее всего первое. Есть несколько способов. Один из них - та ссылка, которую вам дали в предыдущей теме. 2й - запускать браузер с определённым профилем (не делал такого для ИЕ, но, думаю, что там такое тоже можно) и в этом профиле настроить "тихое сохранение" - сразу скачивать в определённую папку без вопросов и в дальнейшем проверять наличие файла в этой папке (а при старте теста удалять файл, который там лежит)
  • 0

#3 FR33D

FR33D

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

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

Отправлено 20 июня 2013 - 11:38

Вот в том и вопрос...как сделать это "тихое сохранение" и как запустить браузер с определенным профилем? Я рылся в интернетах...ни на что не наткнулся полезного. Вручную не получается настроить, профиль сбивается на дефолт.
  • 0

#4 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

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

а это работает?
http://software-test...p?/topic/21233/
  • 0

#5 FR33D

FR33D

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

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

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

Нет, к сожалению не работает(
  • 0

#6 Keiga

Keiga

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

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


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

Нет, к сожалению не работает(

По FF из самого простого что приходит на ум это создать отдельный профиль в лисе для тестов, настроить его и в тестах явным образом указывать .

Указывать как то так:
WebDriver driver = null;
FirefoxProfile profile = new FirefoxProfile(new File("C:\\Users\\Ranhiru\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\qp1nizdo.Selenium"));
driver = new FirefoxDriver(profile);

  • 0

#7 FR33D

FR33D

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

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

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

Тоже непомогает, потому что у меня отдельный Framework и когда повторно добавляешь вещи типа: driver = new FirefoxDriver(profile); - работает еще хуже чем раньше...) Кто бы мог подумать что будут такие проблемы с такой, казалось бы, простой вещью.
  • 0

#8 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

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

Тоже непомогает, потому что у меня отдельный Framework и когда повторно добавляешь вещи типа: driver = new FirefoxDriver(profile); - работает еще хуже чем раньше...) Кто бы мог подумать что будут такие проблемы с такой, казалось бы, простой вещью.

а что за фреймворк? Самописный на основе селениума? Как там происходит инициализация ФФ драйвера?
  • 0

#9 FR33D

FR33D

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

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

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

На основе силениума, стандартная...там же для FF вообще ничего инициализировать не надо. Там стандартный встроеный драйвер.
  • 0

#10 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

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

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

#11 FR33D

FR33D

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

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

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

 private void Test() throws Exception { 
    ProfilesIni allProfiles = new ProfilesIni();
	    FirefoxProfile profile = allProfiles.getProfile("Default");
 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(); 
	    driver.findElement(By.linkText("Completed Tests")).click(); 
	    //GO >> 	
    driver.findElement(By.xpath("//*[@id='sheduled-tests']/div/table/tbody/tr[1]/td[7]/a/i")).click();   
     String hrefpath =  driver.findElement(By.xpath("//*[@id='test-result']/div[3]/div[8]/a[2]")).getAttribute("href");  
      driver.get(hrefpath); 	
    Thread.sleep(100000); 	
	    	 	  }
Вот мой код теста, нужно каким то образом прицепить правильный профиль. То, что я организовал тут - не работает( Надо подумать как сделать так, чтоб не указывать конкретно путь к папке с профилем, а заставить еклипс найти его автоматически, так как этот тест может запускатся на разных машинах. Так же подобную вещь нужно сделать для Chrome и IE
  • 0

#12 Keiga

Keiga

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

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


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

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

А сам то driver где у Вас объявляется и инициализируется?

Надо подумать как сделать так, чтоб не указывать конкретно путь к папке с профилем, а заставить еклипс найти его автоматически, так как этот тест может запускатся на разных машинах. Так же подобную вещь нужно сделать для Chrome и IE

Сохраните профиль как файл и закиньте в проект, после чего укажите путь согласно иерархии проекта
  • 0

#13 FR33D

FR33D

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

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

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


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

А сам то driver где у Вас объявляется и инициализируется?

Надо подумать как сделать так, чтоб не указывать конкретно путь к папке с профилем, а заставить еклипс найти его автоматически, так как этот тест может запускатся на разных машинах. Так же подобную вещь нужно сделать для Chrome и IE

Сохраните профиль как файл и закиньте в проект, после чего укажите путь согласно иерархии проекта

WebDriver driver;
- добавляется в самом начале файла, ничего особенного. Профиль как файл с каким расширением?
  • 0

#14 Keiga

Keiga

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

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


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

добавляется в самом начале файла, ничего особенного.

Так если он просто добавляется. Почему нельзя написать как предлагалось выше, с явным указанием профиля для ff? С каким расширением ff хранит свои профили я не знаю.
  • 1

#15 FR33D

FR33D

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

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

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

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

#16 Keiga

Keiga

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

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


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

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

Можете и так сделать.
Настройки которые Вам нужны для FF:
browser.download.folderList - выставить 2(сохраняет в выбранную папку)
browser.download.dir - указать путь в к папке куда сохранять
browser.helperApps.neverAsk.saveToDisk - указать тип файлов которые будут автосохраняться
  • 1

#17 FR33D

FR33D

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

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

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

FirefoxProfile profile = new FirefoxProfile(); 	
    	profile.setPreference("browser.download.folderList","2"); 
	    	profile.setPreference("browser.download.dir", basePath + "\\src\\autotests\\files\\"); 	    	profile.setPreference("browser.helperApps.neverAsk.saveToDisk",".pdf");
Вот так? Я правильно понял?
  • 0

#18 FR33D

FR33D

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

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

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

И вот такая табличка выскакивает:Прикрепленный файл  6-21-2013 10-38-33 AM.jpg   57,72К   9 Количество загрузок:
Так же оно не сохраняет в выбранную папку и вообще мне кажется что весь профиль не работает.
  • 0

#19 Keiga

Keiga

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

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


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

И вот такая табличка выскакивает:Прикрепленный файл  6-21-2013 10-38-33 AM.jpg   57,72К   9 Количество загрузок:
Так же оно не сохраняет в выбранную папку и вообще мне кажется что весь профиль не работает.

Профиль то Вы настроили. Но указали его при инциализации драйвера?
driver = new FirefoxDriver(profile);
Так же browser.helperApps.neverAsk.saveToDisk надо записывать в другом формате. Для pdf: "application/pdf" а лучше попробуйте так: "application/octet-stream"
Вот подсказка по типам
  • 0

#20 FR33D

FR33D

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

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

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

Да, конечно указал, вот:
FirefoxProfile profile = new FirefoxProfile(); 
	    profile.setPreference("browser.download.dir", basePath + "\\src\\autotests\\files\\"); 	
    profile.setPreference("browser.download.folderList","2"); 	
    profile.setPreference("browser.helperApps.neverAsk.saveToDisk","pdf"); 
	    profile.setPreference("browser.chrome.load_toolbar_icons","0"); 
	    driver = new FirefoxDriver(profile); 	
	driver.get(baseUrl); 	
	driver.manage().deleteAllCookies(); 
	    driver.navigate().refresh();

Все равно не работает. Keiga, у Вас есть скайп? Возможно было бы быстрее и проще разобраться там, а сюда потом просто закинуть решение проблемы? Вот, если что, мой: StandMyGrown
  • 0


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

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