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

Фотография

Передача options в capabilities Chrome - WebDriverFactory

Chrome Options WebDriverFactory

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

#1 ashipovalov

ashipovalov

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

  • Members
  • PipPip
  • 142 сообщений
  • ФИО:Шиповалов Александр


Отправлено 29 октября 2014 - 08:16

Добрый день коллеги. Использую проект из архетипа Алексея Баранцева
удобный архетип

Возникла у меня следующая проблема. При запуске Хрома, вверху браузера висит информационное сообщение - 

You are using an unsupported command-line flag: --ignore-certifcate-errors. Stability and security will suffer.

И вроде не велика печаль, но тесты падают иногда из-за того, что проскроллив вниз страницы - некоторые элементы скрываются за этой надписью. Решение находится быстро:

System.setProperty("webdriver.chrome.driver","<<your chrome path>>");
// To remove message "You are using an unsupported command-line flag: --ignore-certificate-errors.
// Stability and security will suffer."
// Add an argument 'test-type'
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
capabilities.setCapability("chrome.binary","<<your chrome path>>");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);

driver = new ChromeDriver(capabilities);

Но просто определять имя capabilities и его значего в архетипе несложно, а вот можно ли туда передать как то аргументы options? Может кто то сталкивался с такой оказией?


  • 0

#2 barancev

barancev

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

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


Отправлено 29 октября 2014 - 08:25

В версии chromedriver 2.11 вроде бы убрали это сообщение, согласно официальному заявлению.

 

А вообще-то последняя версия уже 2.12 (но там основные изменения связаны с управлением мобильным браузером)


  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 ashipovalov

ashipovalov

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

  • Members
  • PipPip
  • 142 сообщений
  • ФИО:Шиповалов Александр


Отправлено 29 октября 2014 - 12:34

Да действительно, обновление до 2.12 решило проблему. Спасибо.
  • 0

#4 Avicorn

Avicorn

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

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Форостовский Андрей

Отправлено 19 мая 2017 - 12:56

Столкнулся с аналогичной проблемой, моим решением стало доработать класс PropertyLoader

По сути делается тоже самое, добавляем в DesiredCapabilities ChromeOptions.CAPABILITY но не в базовом классе, как в варианте у топикстартера, а на этапе чтения опций, соответственно эти опции можно будет менять не пересобирая проект.

Для этого в стандартный 

for (String name : capsProps.stringPropertyNames()) {

}

 

добавляем ещё один else if:

 

else if (name.startsWith("chromeOptions")) {
    ChromeOptions options = new ChromeOptions();
    //read chrome args from *.capabilities
    options.addArguments(value);
    System.out.println(name + '=' + value);
    //staff chrome args in to DesiredCapabilities
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
}

 

теперь добавлением в chrome.capabilities строки chromeOptions=-disable-infobars можно убрать то самое сообщение, аналогично через пробел добавляются любые другие ключи.

Используя похожий подход можно научить драйвер читать ключи и для FF.


  • 0



Темы с аналогичным тегами Chrome, Options, WebDriverFactory

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

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