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

Фотография

Chrome, запускаемый через chromedriver.exe НЕ восстанавливает настройк


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

#1 e2e4

e2e4

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

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

Отправлено 03 апреля 2013 - 08:41

Коллеги, столкнулся со странной ситуацией: Chrome, запускаемый через chromedriver.exe НЕ восстанавливает настройки cookies.
Язык, набор вкладок, другие параметры восстанавливает, а куки отказывается (сбрасывает на значение по умолчанию).

Задача: проверить работу пользователя с заблокированными cookies.
Создал профиль для Chrome, отключил в профиле cookies.

При запуске вручную (chrome.exe --user-data-dir=D:/test_selenium/ChromeDriverServer/UserData) все работает как и ожидалось (куки не принимаются).
При запуске из скрипта профиль подгружается, но во настройки кук остаются по умолчанию (разрешены, список исключений для кук не загружен и т.п.).

Из скрипта загружаю по примеру из документации на ChromeDriver:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--user-data-dir=D:\\test_selenium\\ChromeDriverServer\\UserData"));
driver = new ChromeDriver(capabilities);

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


В чем может быть проблема?
Есть ли способы запретить использование cookies в автотестах на Chrome?
  • 0

#2 owasp

owasp

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

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

Отправлено 05 апреля 2013 - 16:38

У класса ChromeOptions есть методы добавления ключей запуска.
public void AddArgument(string argument)
public void AddArguments(params string[] arguments)
public void AddArguments(IEnumerable<string> arguments)

Наверно, они и предназначены для данной задачи.
Для запуска можно использовать:
public ChromeDriver(ChromeOptions options)
сработает, если chromedriver.exe будет находиться в текущей папке теста.
Если chrome-driver где-то в другом месте, то есть метод
public ChromeDriver(string chromeDriverDirectory, ChromeOptions options)

То есть, сначала создать объект
ChromeOptions
(вместо DesiredCapabilities).
Используя,
AddArgument
задать параметры.
Потом передать созданный ChromeOptions в качестве параметра в
ChromeDriver(ChromeOptions options)
.
Методы смотрел в исходниках:
https://code.google....eOptions.cs#113
https://code.google....omeDriver.cs#76
(написаное выше написано для WebDriver dotNet, но думаю состав классов примерно одинаков везде)
  • 0

#3 e2e4

e2e4

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

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

Отправлено 24 апреля 2013 - 08:31

Ну хорошо, а какой опцией можно куки выключить?
Среди ключей командной строки таких не обнаружилось.

Опции другой сосотав имеют?
  • 0


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

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