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

Фотография

Selenium 2.0 web driver установка палагинов.


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

#1 Iartemiev

Iartemiev

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иван
  • Город:Москва


Отправлено 19 октября 2011 - 16:59

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



Проблема возникла в том, что я не могу понять, как отловить кнопку "Разрешить" во всплывающем окошке браузера, а иначе не установить палагин(



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

Програмирую на java.



создал профиль autotest_user через команду в консоле firefox.exe -p и далее код почему-то не работает( причём если выбирать в ini настройках этот профиль как дефолтовый, то всё работает и загружается с ярлыка один и тотже нужный профиль, а в коде не работает(



ProfilesIni allProfiles = new ProfilesIni();

FirefoxProfile profile = allProfiles.getProfile("autotest_user");

FirefoxBinary fb = new FirefoxBinary(new File("c:\\Program Files\\Mozilla Firefox\\firefox.exe"));

WebDriver FF = new FirefoxDriver(fb, profile);

driver.get(url);



если кто поможет найти решение, буду очень благодарен.
  • 0

#2 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 19 октября 2011 - 17:04

Установка расширения в запущенном браузере принципиальна или допустимо предустановить плагин ДО выполнения собственно теста? Речь ведь, как я понял, для расширения Firefox?
DesiredCapabilities caps = new DesiredCapabilities();
			
FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(new File("path/to/some/extension.xpi"));
caps.setCapability(FirefoxDriver.PROFILE, profile);
	        
FirefoxBinary ffbin = new FirefoxBinary(new File("path/to/firefox.exe"));
caps.setCapability(FirefoxDriver.BINARY, ffbin);
			
WebDriver ffdriver = new FirefoxDriver(caps);

  • 0
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#3 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 19 октября 2011 - 17:15

Странный пример: объявляется одну переменную, а используете другую :)

...
ProfilesIni allProfiles = new ProfilesIni();

FirefoxProfile profile = allProfiles.getProfile("autotest_user");

FirefoxBinary fb = new FirefoxBinary(new File("c:\\Program Files\\Mozilla Firefox\\firefox.exe"));

WebDriver FF = new FirefoxDriver(fb, profile);

driver.get(url);
...


  • 0
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#4 Iartemiev

Iartemiev

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иван
  • Город:Москва


Отправлено 19 октября 2011 - 20:57

вообще желательно именно устанавливать, но пока сойдёт и предустановленная версия.

по поводу переменных, у меня переменная ff передаётся в конструктор класса, и там уже эта переменная = driver т к она может быть и от эксплоера и от оперы и т п, когда копировал не заметил(

Вообще задача автоматизировать работу пользователя:
1. зайти на сервер
2. установить расширение
3. проверить, что оно работает

и так в идеале под разными версиями разных браузеров.
  • 0

#5 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 20 октября 2011 - 04:27

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

Да и тестировать именно установку расширения, на мой взгляд, не стоит (об этом должны заботится разработчики браузера). Думаю, что можно разбит тестовый случай на два: 1) собственно проверка доступности расширения (получить ссылку на расширение и попробовать его скачать) и 2) запустить браузер с предустановленным расширением и проверить его работу - вот такое не хитрое решение
  • 0
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#6 Iartemiev

Iartemiev

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иван
  • Город:Москва


Отправлено 21 октября 2011 - 03:53

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

Да и тестировать именно установку расширения, на мой взгляд, не стоит (об этом должны заботится разработчики браузера). Думаю, что можно разбит тестовый случай на два: 1) собственно проверка доступности расширения (получить ссылку на расширение и попробовать его скачать) и 2) запустить браузер с предустановленным расширением и проверить его работу - вот такое не хитрое решение

в рамках теста можно создать профиль и под ним установить расширение, затем выполнить driver.quit(); после чего заного инициализировать дравер ff под тем же профилем, должно сработать.
  • 0

#7 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 21 октября 2011 - 10:50

driver.quit() удалит профиль, если идти по этому пути -- надо будет исхитряться неимоверно.
Задача выходит за рамки возможностей селениума, он для этого не предназначен.
Не пытайтесь пробить стену, выберите другой, более подходящий для решения задачи тестирования установки плагина инструмент (да хоть бы и вручную :)).
А селениум оставьте для тестирования с уже установленным плагином.
  • 1
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 Iartemiev

Iartemiev

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иван
  • Город:Москва


Отправлено 23 октября 2011 - 19:28

driver.quit() удалит профиль, если идти по этому пути -- надо будет исхитряться неимоверно.
Задача выходит за рамки возможностей селениума, он для этого не предназначен.
Не пытайтесь пробить стену, выберите другой, более подходящий для решения задачи тестирования установки плагина инструмент (да хоть бы и вручную :)).
А селениум оставьте для тестирования с уже установленным плагином.

странно, но у меня не удаляется профиль после driver.quit()...
  • 0

#9 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 24 октября 2011 - 01:53

Каждый раз при запуске создается копия профиля в temp'e, и работа идет уже с этим временным профилем. После quit() этот временный профиль удаляется
  • 1
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#10 appmen

appmen

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

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

Отправлено 25 октября 2011 - 11:43

Каждый раз при запуске создается копия профиля в temp'e, и работа идет уже с этим временным профилем. После quit() этот временный профиль удаляется

а у меня не удаляется...
остаётся куча папок типа "anonymous6498013335321918860webdriver-profile"
  • 0

#11 Demetri

Demetri

    Активный участник

  • Members
  • PipPip
  • 143 сообщений
  • ФИО:Дмитрий
  • Город:Podgorica, MNE


Отправлено 25 октября 2011 - 11:49

Был такой баг, должен был быть пофиксен в версии 2.8.0
  • 0
Hi! I'm a signature virus. Copy me into your signature to help me spread.

#12 appmen

appmen

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

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

Отправлено 25 октября 2011 - 12:53

ясно, надо будет проверить
  • 0


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

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