Как запустить ChromeDriver.exe без лицензионного соглашения? - PullRequest
2 голосов
/ 30 марта 2012

Я учусь использовать Selenium (v2.20), чтобы опередить некоторых наших программистов, которые скоро будут создавать для него некоторые браузерные тесты.Я хотел бы раскрыть подводные камни, прежде чем они попадут туда, и я наткнулся на них.

Когда я создаю свой ChromeDriver, он всегда вызывает «Google Chrome EULA» и представляет две кнопки: «Принять»и запустить »и« Отмена ».Поскольку я хочу, чтобы это был автоматический тест, не может быть и речи о том, чтобы пользователь нажимал кнопку.

Я просмотрел список Командных переключателей Chromium , но не нашел ни одного работающего.Ни то, что упоминается EULA.Тест работает нормально, если я (в точке останова) нажимаю «Принять и запустить», а затем продолжаю код.

Ниже приведен код до строки, вызывающей проблему:

using (var driverService = ChromeDriverService.CreateDefaultService(@"C:\Apps\ChromeDriver\"))
{
    driverService.Start();

    // This line pops up the EULA
    IWebDriver driver = new ChromeDriver(@"C:\Apps\ChromeDriver\");

    // rest of test...
}

Кто-нибудь еще сталкивался с этой проблемой?Если да, то как вы решили это?

ОБНОВЛЕНИЕ 4/4/12
Я только что запустил один и тот же код на своем компьютере на работе, и у меня все получилось без запуска лицензионного соглашения (последовательнос опытом Slanec).Это приводит меня к мысли, что причина заключается в окружающей среде.Я смотрю на различия между двумя системами (обе Win7 x64), чтобы определить причину.Я обновлю, как только у меня будет больше информации.

Большое спасибо,

-Seth

Ответы [ 2 ]

1 голос
/ 09 января 2013

Шаги:

  1. Скопируйте ваш chromedriver.exe в Windows / System32
  2. Теперь перейдите в папку Chrome, для меня это: C: \ Users \ "% USERNAME%"\ AppData \ Local \ Google \ Chrome \
  3. Существует файл master_preferences.
  4. Откройте его и укажите неверное лицензионное соглашение.

Это работает для меня, надеюсьбудет работать и для вас всех.

1 голос
/ 14 апреля 2012

Если у вас все еще есть эта проблема, ошибка возникает, потому что вы открываете новый экземпляр браузера Chrome каждый раз, когда запускаете тест, тем самым вызывая лицензионное соглашение.Если вы скопируете профиль chrome по умолчанию в выбранное вами место, а затем добавите флаг «--user-data-dir = yourcustomlocation» в ChromeOptions, вы можете обойти лицензионное соглашение и открыть вместо него существующий профиль.

ChromeOptions crOptions = new ChromeOptions();
crOptions.AddArgument(@"--user-data-dir=C:\custom location"); 
return new ChromDriver(crOptions);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...