Hasta ahora he estado usando chromium
como mi navegador predeterminado y he estado ejecutando la automatización de prueba de Java-Selenium con chromedriver
(que he descargado y especificado manualmente su ubicación a la automatización de forma progmática).
He podido usar ambos lado a lado, hasta hoy. Instalé la aplicación de facto google-chrome-stable
, y ahora si la tengo abierta chromedriver
no puede crear una instancia y la automatización se bloquea.
Si cierro google-chrome-stable
y abro el cromo (como estoy haciendo ahora para hacer esta pregunta), puedo ejecutar la automatización de prueba, sin embargo la unidad muestra chromedriver
con el icono google-chrome-stable
en el iniciador. Sospecho que esto es un síntoma de lo que está sucediendo, pero no puedo imaginar qué.
¿Cómo soluciono esto para poder ejecutarlos uno al lado del otro, como solía hacer con chromium
?
Después de leer e investigar un poco, me di cuenta de que tenía un malentendido muy importante sobre cómo funcionaba chromedriver
. De su README.txt :
ChromeDriver utilizará el sistema instalado Chrome por defecto.
... [sección omitida por brevedad/relevancia] ...
===== Arquitectura =====
ChromeDriver se envía por separado de Chrome. Controla Chrome fuera de proceso a través de DevTools. ChromeDriver es un servidor independiente que se comunica con el cliente WebDriver a través del protocolo de cable WebDriver, que es esencialmente comandos JSON síncronos a través de HTTP. Los clientes de WebDriver están disponibles en muchos idiomas, y muchos están disponibles en el proyecto de código abierto Selenium/webdriver: http://code.google.com/p/Selenium . ChromeDriver utiliza el servidor web desde la red/servidor.
Esta parte fundamental de cómo funciona es por qué google-chrome-stable
comenzó a causar problemas con él. También significa que, aunque pensé que estaba usando chromium
junto con chromedriver
, probablemente compartía por error la misma instancia chromium
al mismo tiempo.