Dipendenze
I file binari per ChromeDriver sono pacchettizzati come file ZIP per vari host piattaforme nella pagina dei download.
App supportate
ChromeDriver supporta l'esecuzione di test sul browser Chrome (versione 30 e successive) e App basate su WebView a partire da Android 4.4 (KitKat) in cui sono stati attivati il debug web e JavaScript. Puoi installare l'app Chrome da:
Stabile: https://play.google.com/store/apps/details?id=com.android.chrome
Associazioni linguistiche Selenium WebDriver
Le associazioni di lingue del progetto Selenium WebDriver devono essere installate nella lingua che preferisci per la scrittura dei test. Questa libreria è disponibile tramite il tuo intuitivo gestore di pacchetti locale o tramite il progetto Selenium (https://www.seleniumhq.org/download/). Ad esempio, le associazioni di linguaggio per Python possono essere installate con pip.
$ pip install selenium
SDK per Android
L'SDK può essere scaricato da developer.android.com/sdk/
Requisiti del dispositivo
A partire dalla versione 33 di Chrome, non è più necessario un dispositivo rooted. Se esegui test
nelle versioni precedenti di Chrome, i dispositivi dovevano essere rooted come ChromeDriver
necessario accesso in scrittura alla directory /data/local
per impostare il comando di Chrome
di riga di comando.
Esegui ChromeDriver
Avvia il server Android Debug Bridge (adb) dell'SDK Android:
$ adb start-server
Se esegui test sull'app di Chrome prima della versione 33, assicurati che la shell adb abbia accesso in lettura/scrittura alla directory /data/local sul dispositivo:
$ adb shell su -c chmod 777 /data/local
In genere è consigliabile avviare ChromeDriver tramite la libreria Selenium, ma puoi anche avviarlo manualmente dalla riga di comando. Per ulteriori informazioni, consulta la sezione Introduzione.
$ ./chromedriver
Opzioni specifiche per Android
Le seguenti opzioni di Chrome sono valide per le app Chrome e WebView:
androidPackage
: il nome del pacchetto dell'app Chrome o WebView.androidDeviceSerial
: (facoltativo) il numero di serie del dispositivo su cui avviare l'app (vedi la sezione Più dispositivi di seguito).androidUseRunningApp
(Facoltativo) Collega l'app a un'app già in esecuzione anziché avviarla con una directory di dati trasparente.
Le seguenti funzionalità sono applicabili solo alle app WebView.
- androidActivity: nome dell'attività che ospita WebView.
- androidProcess: (facoltativo) il nome del processo dell'attività che ospita il componente WebView (come fornito da ps). Se non viene specificato, si presume che il nome del processo sia lo stesso di
androidPackage
.
Esegui un test
I test devono trasmettere il nome del pacchetto dell'app al ChromeDriver tramite l'opzione androidPackage
. Ad esempio, un test Python minimo è simile al seguente:
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()
Più dispositivi
Per utilizzare un determinato dispositivo per una sessione, specifica androidDeviceSerial
come
Opzione di Chrome.
Se il numero di serie non è specificato, il server seleziona un dispositivo inutilizzato all'indirizzo casuale da associare a ogni sessione. Viene restituito un errore se tutti i dispositivi hanno già sessioni attive, quindi i test devono essere sicuri di chiudere quando completato.
Collegati a wd/hub
Se i test prevedono di connettersi a wd/hub
, puoi aggiungere --url-base=wd/hub
quando avvii il server:
$ ./chromedriver --url-base=wd/hub