De nieuwste binaire bestanden voor ChromeDriver zijn verpakt als zip-bestanden voor verschillende hostplatforms.
Eerdere versies van ChromeDriver kunt u vinden in Downloads .
Ondersteunde apps
ChromeDriver ondersteunt het uitvoeren van tests in de Chrome-browser (versie 30+) en op WebView gebaseerde apps vanaf Android 4.4 (KitKat) die webfoutopsporing en JavaScript hebben ingeschakeld.
U kunt de Chrome-app installeren vanaf:
Stabiel: https://play.google.com/store/apps/details?id=com.android.chrome
Selenium WebDriver taalbindingen
De standaard WebDriver-taalbindingen van het Selenium-project moeten worden geïnstalleerd voor de taal van uw keuze om uw tests te schrijven. Deze bibliotheek is beschikbaar in uw lokale pakketbeheerder of in het Selenium-project .
De taalbindingen voor Python kunnen bijvoorbeeld met pip worden geïnstalleerd.
$ pip install selenium
Android-SDK
De SDK kan worden gedownload van developer.android.com/sdk/ .
Apparaatvereisten
Vanaf Chrome-versie 33 is een geroot apparaat niet vereist. Als er tests worden uitgevoerd op eerdere versies van Chrome, moeten apparaten geroot zijn, omdat ChromeDriver schrijftoegang tot de map /data/local
nodig heeft om de opdrachtregelargumenten van Chrome in te stellen.
Voer ChromeDriver uit
Start de Android Debug Bridge (adb)-server van de Android SDK:
$ adb start-server
Als u test met de Chrome-app vóór versie 33, zorg er dan voor dat adb shell lees- en schrijftoegang heeft tot de map
/data/local
op het apparaat:$ adb shell su -c chmod 777 /data/local
We raden u aan ChromeDriver te starten via de Selenium-bibliotheek, maar u kunt het ook handmatig starten vanaf de opdrachtregel.
$ ./chromedriver
Opties voor alleen Android
De volgende Chrome-opties zijn van toepassing op zowel Chrome- als WebView-apps:
-
androidPackage
: de pakketnaam van de Chrome- of WebView-app. -
androidDeviceSerial
: (Optioneel) Het serienummer van het apparaat waarop de app moet worden gestart (zie het gedeelte Meerdere apparaten hieronder). -
androidUseRunningApp
: (Optioneel) Koppel aan een reeds actieve app in plaats van de app te starten met een duidelijke gegevensmap.
De volgende mogelijkheden zijn alleen van toepassing op WebView-apps.
- androidActivity : Naam van de activiteit die de WebView host.
- androidProcess : (Optioneel) Procesnaam van de activiteit die de WebView host (zoals gegeven door ps). Als deze niet wordt opgegeven, wordt aangenomen dat de procesnaam hetzelfde is als
androidPackage
.
Voer een test uit
Tests moeten de pakketnaam van de app doorgeven aan de ChromeDriver via de optie androidPackage
. Een minimale Python-test ziet er bijvoorbeeld als volgt uit:
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()
Meerdere apparaten
Als u een bepaald apparaat voor een sessie wilt gebruiken, geeft u androidDeviceSerial
op als Chrome-optie.
Als het serienummer niet is opgegeven, selecteert de server willekeurig een ongebruikt apparaat om aan elke sessie te koppelen. Er wordt een fout geretourneerd als alle apparaten al actieve sessies hebben. Tests moeten er dus voor zorgen dat er quit wordt aangeroepen als ze klaar zijn.
Maak verbinding met wd/hub
Als uw tests verwachten verbinding te maken met wd/hub
, kunt u --url-base=wd/hub
toevoegen bij het starten van de server:
$ ./chromedriver --url-base=wd/hub