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

Python для начинающих
онлайн, начало 23 сентября
Школа тест-менеджеров v. 2.0
онлайн, начало 2 сентября
Docker: инструменты тестировщика
онлайн, начало 23 сентября
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 21 сентября
Фотография

Selenium + GoogleChrome Profile


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

#1 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 07 декабря 2010 - 15:35

Так, пока с Сафари разобраться нормально не получается (а мне нужен срочно или Сафари или Хром), попробуем с Хромом разобраться, благо он все же работает.

Вопрос такой, как запускать не дефолтный Хром, а созданный мной профиль?

Пробовал прописывать путь к ярлыку, который запускает профиль - не работает.
  • 0

#2 adzynia

adzynia

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

  • Members
  • PipPipPip
  • 210 сообщений
  • ФИО:Дзыня Андрей


Отправлено 12 января 2011 - 18:18

Я такого не делал, но в теории может работать.

Как по ссылке, создать профайл.

А при создании объекта указать

    selenium = new DefaultSelenium("localhost", 4444, "*googlechrome C:\Documents and Settings\adzynia\Local Settings\Application Data\Google\Chrome\Application\chrome.exe --user-data-dir="..\User Data\Your_Name" -first-run", "http://change-this-to-the-site-you-are-testing/")


Если не получится, можно попробовать скопировать googlechrome в отдельные папки и повторить по аналогии.
  • 0

#3 barancev

barancev

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

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


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

Увы, сделать так, как описано выше, не получится даже в теории. Разве что использовать режим запуска *custom, но я не знаю, согласится ли хром так работать.
Конечно, есть способы передать опции запуска браузера, см. пример тут, но GoogleChromeLauncher сам создаёт временный профиль и сам указывает ссылку на него, так что браузер будет запущен с двумя опциями --user-data-dir -- к чему это приведёт я не знаю, надо будет как-нибудь попробовать.


Самый правильный способ заключается в том, чтобы внести исправления в GoogleChromeLauncher и пересобрать selenium-server.
Патч можно взять тут: http://jira.openqa.org/browse/SRC-776
Не знаю, почему он не вошёл в состав версии 1.0.3, но уж такова воля разработчиков.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 17 марта 2011 - 12:20

Спасибо за ответы!
На время забивал на эту тему с Хромом. Но вот пришло время вернуться)

Вопрос:
Как в googlechrome побороть ошибки ssl-сертификатов?

Алексей, прочитал вашу статью про same origin policy, но немного не понял, должно отключение этой опции помогать с ошибками ssl-сертификатов?
Попробовал - не работает(

Есть у кого-нибудь какие-нибудь варианты?
  • 0

#5 barancev

barancev

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

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


Отправлено 18 марта 2011 - 06:51

Вопрос:
Как в googlechrome побороть ошибки ssl-сертификатов?

Алексей, прочитал вашу статью про same origin policy, но немного не понял, должно отключение этой опции помогать с ошибками ssl-сертификатов?

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

#6 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 18 марта 2011 - 10:02

Алексей, спасибо!

А Хром ругается на любые сертификаты вообще или же если поставить на сервера настоящие, то проблема решится?

И еще, вычитал, что есть еще флаг --ignore-certificate-errors, но у меня с ним тоже не получилось. Пробовали его в действии?
  • 0

#7 barancev

barancev

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

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


Отправлено 18 марта 2011 - 10:56

И еще, вычитал, что есть еще флаг --ignore-certificate-errors, но у меня с ним тоже не получилось. Пробовали его в действии?

Нет, не пробовал.
Я вообще предпочитаю "лобовые" решения вопросов с нативными окнами -- внешний инструмент.
Простенький скрипт на AutoIt, который висит постоянно в трее и следит -- появилось окно, нажал там пару кнопок, выполнение теста продолжается.
Есть ещё опция запуска сервера -trustAllSSLCertificates, которая заставляет его принимать все сертификаты, но она работает только при использовании сервера в режиме прокси.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#8 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 18 марта 2011 - 11:01

Спасибо!
  • 0

#9 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 22 марта 2011 - 10:46

В общем, попробовал сделать с помощью autoit, но тоже оказался тупиковый путь. Нормально отрабатывает только 1 раз. Если запустить еще раз, то уже на второй ошибке сертификатов клик не проходит, точнее скрипт кликает, браузер начинает думать и так пока не отвалится тест по таймауту (странно, что 1 запуск все работает, а далее надо перезагружать машину и снова на 1 раз). Пробовал на 2-х разных машинах - результат один. Так что это тоже не подходит. Надо копать видимо в сторону сервера...

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

#10 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 22 марта 2011 - 14:54

Я так понимаю, что мне надо:
- скачать исходники сервера
- пропатчить
- собрать антом

Можете подсказать, откуда их скачать? Чего-то не нашел пока.

И для какой версии сервера этот патч? Для 1.0.2?
  • 0

#11 barancev

barancev

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

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


Отправлено 22 марта 2011 - 15:47

http://code.google.c...ildingWebDriver
Там надо читать не всё подряд, начало -- где взять исходники, как пользоваться сборщиком go, а потом раздел про сборку сервера.
Полная сборка, вместе с драйверами, требует наличия Visual Studio (для сборки IE-драйвера), но сервер собирается и без неё.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#12 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 22 марта 2011 - 15:57

Спасибо! Попробую)
  • 0

#13 mcreature

mcreature

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

  • Members
  • PipPip
  • 88 сообщений

Отправлено 23 марта 2011 - 14:08

Не могу найти подходящую версию сервера под этот патч.
Пересмотрел уже все, что можно, везде есть отличия, как правило не хватает пары файлов...ну и пара разных моментов уже в коде.
  • 0

#14 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 921 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 29 августа 2012 - 13:18

Кто-нибудь использует профиль в Chrome в Selenium 2(WebDriver). Если да, подскажите как это правильно сделать?
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#15 Freiman

Freiman

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 29 августа 2012 - 13:32

Я пишу на python+chrome, профили пока не использовал, еще не надо.
но нагуглилась вот такая инфа http://code.google.c...tiesAndSwitches
  • 0

#16 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 921 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 29 августа 2012 - 14:16

Да, я там и смотрел. В общем не очень понятно как указывать путь. Я создал профиль через браузер, появилась новая папка с профилем, которую я и указываю в "user-data-dir=C:\...\Google\Chrome\User Data\Profile 1"
Но в итоге браузер запускает профиль C:\...\Google\Chrome\User Data\Profile 1\Default, то есть создает в указанной папке профиль. Такое должно происходить, если в папке драйвер не находит профиль.
С профилем по умолчанию тоже самое. Конечно, можно юзать созданный драйвером профиль (настройки там сохраняются), но все равно интересно.
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#17 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 921 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 01 октября 2012 - 08:23

Все-таки интересно, кто использует профили в браузере Chrome, у вас подключается указанный профиль или в нем создается \Default ?
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#18 appmen

appmen

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

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

Отправлено 01 октября 2012 - 11:10

System.setProperty("webdriver.chrome.driver", "D:\\Selenium\\ChromeDriver\\chromedriver.exe");
		//open custom Chrome profile
		DesiredCapabilities capabilities = DesiredCapabilities.chrome();
		String[] switches = {"user-data-dir=D:\\Selenium\\ChromeProfile\\forSelenium"};
		capabilities.setCapability("chrome.switches", switches);
		WebDriver driver = new ChromeDriver(capabilities);
вроде работает. Я не сильно думал и скопировал полностью все папки, а не только папку профиля C:\Documents and Settings\аккаунт\Local Settings\Application Data\Google\Chrome\User Data
  • 0

#19 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 921 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 02 октября 2012 - 11:21

System.setProperty("webdriver.chrome.driver", "D:\\Selenium\\ChromeDriver\\chromedriver.exe");
		//open custom Chrome profile
		DesiredCapabilities capabilities = DesiredCapabilities.chrome();
		String[] switches = {"user-data-dir=D:\\Selenium\\ChromeProfile\\forSelenium"};
		capabilities.setCapability("chrome.switches", switches);
		WebDriver driver = new ChromeDriver(capabilities);
вроде работает. Я не сильно думал и скопировал полностью все папки, а не только папку профиля C:\Documents and Settings\аккаунт\Local Settings\Application Data\Google\Chrome\User Data

Я кстати работаю через class ChromeOptions.
  • 0

http://starbugss.blogspot.ru - "Звездные баги", мой блог.


#20 appmen

appmen

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

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

Отправлено 02 октября 2012 - 15:01

Я кстати работаю через class ChromeOptions.

т.е. у вас всё работает?
  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



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

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

Яндекс.Метрика
Реклама на портале