Вплоть до сих пор я использовал chromium
как мой браузер по умолчанию и выполняли автоматизацию тестирования селена Java с chromedriver
(который я загрузил и вручную указал его местоположение к автоматизации progmatically).
Я смог использовать обоих бок о бок, до сих пор. Я установил defacto google-chrome-stable
приложение, и теперь если у меня есть он открытый chromedriver
сбои для инстанцирования экземпляра и автоматизации зависают.
Если я закрываюсь google-chrome-stable
и открытый хром (как я делаю теперь для задавания этого вопроса), я могу выполнить автоматизацию тестирования однако шоу единицы chromedriver
с google-chrome-stable
значок в средстве запуска. Я подозреваю, что это - признак того, что происходит, но я не могу вообразить что.
Как действительно фиксируют это так, я могу выполнить их бок о бок, когда я раньше делал с chromium
?
После прочтения и проведения некоторого исследования, я понял, что у меня было очень важное неверное толкование того, как chromedriver
работал. От их README.txt :
ChromeDriver будет использовать систему, установленную Chrome по умолчанию.
... [раздел, опущенный для краткости/уместности]...
===== архитектура =====
ChromeDriver поставляется отдельно от Chrome. Это управляет Chrome из процесса через DevTools. ChromeDriver является автономным сервером, который общается с клиентом WebDriver по протоколу провода WebDriver, который является чрезвычайно синхронными командами JSON по HTTP. Клиенты WebDriver доступны на многих языках, и многие доступны от открытого исходного кода selenium/webdriver проект: http://code.google.com/p/selenium . ChromeDriver использует веб-сервер от сети/сервера.
Эта фундаментальная часть того, как это работает, - то, почему google-chrome-stable
начал вызывать проблемы с ним. Это также означает, что даже при том, что я думал, что использовал chromium
бок о бок с chromedriver
, я, вероятно, по ошибке совместно использовал тот же chromium
экземпляр одновременно.