Dépendances
Les binaires pour ChromeDriver peuvent être empaquetés sous forme de fichiers ZIP pour différents hôtes plates-formes sur la page des téléchargements.
Applis compatibles
ChromeDriver permet d'exécuter des tests sur le navigateur Chrome (version 30+) et Applications basées sur WebView à partir d'Android 4.4 (KitKat) et pour lesquelles le débogage Web et JavaScript sont activés. Vous pouvez installer l'application Chrome depuis:
Version stable: https://play.google.com/store/apps/details?id=com.android.chrome
Liaisons de langage Selenium WebDriver
Les liaisons de langage WebDriver du projet Selenium standard doivent être installées dans le langage de votre choix pour écrire vos tests. Cette bibliothèque est disponible auprès de votre gestionnaire de packages local convivial ou auprès du projet Selenium (https://www.seleniumhq.org/download/). Par exemple, les liaisons de langage pour Python peuvent être installées avec pip.
$ pip install selenium
SDK Android
Vous pouvez télécharger le SDK depuis developer.android.com/sdk/
Configuration requise pour l'appareil
Depuis la version 33 de Chrome, un appareil en mode root n'est plus nécessaire. Si vous effectuez des tests
Dans les versions antérieures de Chrome, les appareils devaient être en mode root en tant que ChromeDriver
Accès en écriture au répertoire /data/local
requis pour définir la commande Chrome
des arguments de ligne de commande.
Exécuter ChromeDriver
Démarrez le serveur Android Debug Bridge (adb) du SDK Android:
$ adb start-server
Si vous effectuez des tests sur l'application Chrome avant la version 33, assurez-vous que l'interface système adb dispose d'un accès en lecture/écriture au répertoire /data/local sur l'appareil:
$ adb shell su -c chmod 777 /data/local
Il est généralement recommandé de démarrer ChromeDriver via la bibliothèque Selenium, mais vous pouvez également le démarrer manuellement à partir de la ligne de commande. Pour en savoir plus, consultez la section "Premiers pas".
$ ./chromedriver
Options spécifiques à Android
Les options Chrome suivantes s'appliquent à la fois aux applications Chrome et WebView:
androidPackage
: nom du package de l'application Chrome ou WebView.androidDeviceSerial
(facultatif) : numéro de série de l'appareil sur lequel lancer l'application (voir la section "Plusieurs appareils" ci-dessous).androidUseRunningApp
(facultatif) : associez-le à une application déjà en cours d'exécution au lieu de la lancer avec un répertoire de données clair.
Les fonctionnalités suivantes ne s'appliquent qu'aux applications WebView.
- androidActivity: nom de l'activité hébergeant la WebView.
- androidProcess: (facultatif) nom du processus de l'activité hébergeant la WebView (tel qu'indiqué par ps). S'il n'est pas fourni, le nom du processus est supposé être identique à
androidPackage
.
Exécuter un test
Les tests doivent transmettre le nom du package de l'application au pilote Chrome via l'option androidPackage
. Par exemple, un test Python minimal se présente comme suit:
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()
Multi-appareils
Pour utiliser un appareil spécifique pour une session, spécifiez androidDeviceSerial
comme
Option Chrome.
Si le numéro de série n'est pas indiqué, le serveur sélectionne un périphérique inutilisé à l'adresse de manière aléatoire à associer à chaque session. Une erreur s'affiche si tous les appareils ont déjà des sessions actives, les tests doivent donc s'assurer d'appeler l'arrêt terminé.
Se connecter à wd/hub
Si vos tests prévoient de se connecter à wd/hub
, vous pouvez ajouter --url-base=wd/hub
lors du lancement du serveur:
$ ./chromedriver --url-base=wd/hub