О настроках ie,chrome,ffdrivers
#1
Отправлено 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 Количество загрузок: ???
Подскажите как можно настроить все это дело. Пробывал вручную - не работает, если запускаешь тест повторно. Все настройки сбрасываются на дефолт.
#2
Отправлено 20 июня 2013 - 11:26
#3
Отправлено 20 июня 2013 - 11:38
#5
Отправлено 20 июня 2013 - 12:39
#6
Отправлено 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);
#7
Отправлено 20 июня 2013 - 13:47
#8
Отправлено 20 июня 2013 - 13:51
а что за фреймворк? Самописный на основе селениума? Как там происходит инициализация ФФ драйвера?Тоже непомогает, потому что у меня отдельный Framework и когда повторно добавляешь вещи типа: driver = new FirefoxDriver(profile); - работает еще хуже чем раньше...) Кто бы мог подумать что будут такие проблемы с такой, казалось бы, простой вещью.
#9
Отправлено 20 июня 2013 - 13:53
#10
Отправлено 20 июня 2013 - 14:06
#11
Отправлено 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
#12
Отправлено 21 июня 2013 - 06:29
А сам то driver где у Вас объявляется и инициализируется?Вот мой код теста, нужно каким то образом прицепить правильный профиль - прошлые попытки я отсюда удалил, потому что из за неправильного написания начались проблемы с запуском.
Сохраните профиль как файл и закиньте в проект, после чего укажите путь согласно иерархии проектаНадо подумать как сделать так, чтоб не указывать конкретно путь к папке с профилем, а заставить еклипс найти его автоматически, так как этот тест может запускатся на разных машинах. Так же подобную вещь нужно сделать для Chrome и IE
#13
Отправлено 21 июня 2013 - 06:36
А сам то driver где у Вас объявляется и инициализируется?
Вот мой код теста, нужно каким то образом прицепить правильный профиль - прошлые попытки я отсюда удалил, потому что из за неправильного написания начались проблемы с запуском.Сохраните профиль как файл и закиньте в проект, после чего укажите путь согласно иерархии проектаНадо подумать как сделать так, чтоб не указывать конкретно путь к папке с профилем, а заставить еклипс найти его автоматически, так как этот тест может запускатся на разных машинах. Так же подобную вещь нужно сделать для Chrome и IE
WebDriver driver;- добавляется в самом начале файла, ничего особенного. Профиль как файл с каким расширением?
#14
Отправлено 21 июня 2013 - 07:06
Так если он просто добавляется. Почему нельзя написать как предлагалось выше, с явным указанием профиля для ff? С каким расширением ff хранит свои профили я не знаю.добавляется в самом начале файла, ничего особенного.
#15
Отправлено 21 июня 2013 - 07:11
#16
Отправлено 21 июня 2013 - 07:28
Можете и так сделать.Так можно и я написал так, смотрите код выше, не работает. И мне уже кажется что правильней будет не выбирать профиль, потому что у каждого свой отдельный, а именно прямо в тесте создать новый и указать нужные настройки.
Настройки которые Вам нужны для FF:
browser.download.folderList - выставить 2(сохраняет в выбранную папку)
browser.download.dir - указать путь в к папке куда сохранять
browser.helperApps.neverAsk.saveToDisk - указать тип файлов которые будут автосохраняться
#17
Отправлено 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");Вот так? Я правильно понял?
#18
Отправлено 21 июня 2013 - 07:40
Так же оно не сохраняет в выбранную папку и вообще мне кажется что весь профиль не работает.
#19
Отправлено 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"
Вот подсказка по типам
#20
Отправлено 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 анонимных