Los binarios más recientes de ChromeDriver se empaquetan como archivos ZIP para varias plataformas de host.
Puedes encontrar versiones anteriores de ChromeDriver en Descargas.
Apps compatibles
ChromeDriver admite la ejecución de pruebas en el navegador Chrome (versión 30 y versiones posteriores) y en apps basadas en WebView a partir de Android 4.4 (KitKat) que hayan habilitado la depuración web y JavaScript.
Puedes instalar la app de Chrome desde los siguientes lugares:
Versión estable: https://play.google.com/store/apps/details?id=com.android.chrome
Vinculaciones de lenguajes de Selenium WebDriver
Se deben instalar las vinculaciones de idioma WebDriver del proyecto Selenium estándar para que el idioma que elijas escriba tus pruebas. Esta biblioteca está disponible en tu administrador de paquetes local o en el proyecto Selenium.
Por ejemplo, las vinculaciones de lenguaje para Python se pueden instalar con pip.
$ pip install selenium
SDK de Android
Puedes descargar el SDK desde developer.android.com/sdk/.
Requisitos del dispositivo
A partir de la versión 33 de Chrome, no se requiere un dispositivo con permisos de administrador. Si se ejecutan pruebas en versiones anteriores de Chrome, los dispositivos deben tener permisos de administrador, ya que ChromeDriver requiere acceso de escritura al directorio /data/local
para establecer los argumentos de línea de comandos de Chrome.
Ejecuta ChromeDriver
Inicia el servidor Android Debug Bridge (adb) del SDK de Android:
$ adb start-server
Si realizas pruebas en la app de Chrome anterior a la versión 33, asegúrate de que la shell de adb tenga acceso de lectura y escritura al directorio
/data/local
en el dispositivo:$ adb shell su -c chmod 777 /data/local
Te recomendamos que inicies ChromeDriver a través de la biblioteca de Selenium, aunque también puedes iniciarlo de forma manual desde la línea de comandos.
$ ./chromedriver
Opciones solo para Android
Las siguientes opciones de Chrome se aplican a las apps de Chrome y WebView:
androidPackage
: Es el nombre del paquete de la app de Chrome o WebView.androidDeviceSerial
: (Opcional) Es el número de serie del dispositivo en el que se iniciará la app (consulta la sección Varios dispositivos a continuación).androidUseRunningApp
: (Opcional) Se conecta a una app que ya se está ejecutando en lugar de iniciarla con un directorio de datos claro.
Las siguientes funciones solo se aplican a las apps de WebView.
- androidActivity: Es el nombre de la actividad que aloja el WebView.
- androidProcess: (Opcional) Es el nombre del proceso de la actividad que aloja el WebView (como lo indica ps). Si no se proporciona, se supone que el nombre del proceso es el mismo que
androidPackage
.
Ejecutar una prueba
Las pruebas deben pasar el nombre del paquete de la app a ChromeDriver a través de la opción androidPackage
. Por ejemplo, una prueba mínima de Python se ve de la siguiente manera:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
driver = webdriver.Chrome('./chromedriver', options=options)
driver.get('https://google.com')
driver.quit()
Varios dispositivos
Para usar un dispositivo en particular para una sesión, especifica androidDeviceSerial
como una opción de Chrome.
Si no se especifica el número de serie, el servidor selecciona un dispositivo sin usar de forma aleatoria para asociarlo con cada sesión. Se muestra un error si todos los dispositivos already tienen sesiones activas, por lo que las pruebas deben asegurarse de llamar a quit cuando finish.
Conectarse a wd/hub
Si tus pruebas esperan conectarse a wd/hub
, puedes agregar --url-base=wd/hub
cuando inicies el servidor:
$ ./chromedriver --url-base=wd/hub