Bağımlılıklar
ChromeDriver ikili programları, çeşitli ana makinelere ait ZIP dosyaları olarak paketlenmiş olarak bulunabilir platformlar için indirme sayfası.
Desteklenen uygulamalar
ChromeDriver, Chrome tarayıcıda (sürüm 30 ve sonraki sürümler) testlerin çalıştırılmasını destekler ve Android 4.4 (KitKat) sürümünden başlayarak web'de hata ayıklama ve JavaScript'in etkinleştirildiği WebView tabanlı uygulamalar. Chrome uygulamasını şuradan yükleyebilirsiniz:
Mevcut ürün: https://play.google.com/store/apps/details?id=com.android.chrome
Selenyum WebDriver Dil Bağlamaları
Testlerinizi yazarken, standart selenyum projesi WebDriver dil bağlamalarının seçtiğiniz dilde yüklenmesi gerekir. Bu kitaplığa yerel paket yöneticiniz veya selenium projesinden (https://www.seleniumhq.org/download/) erişebilirsiniz. Örneğin, Python için dil bağlamaları pip ile yüklenebilir.
$ pip install selenium
Android SDK
SDK şuradan indirilebilir: developer.android.com/sdk/
Cihaz gereksinimleri
Chrome sürüm 33'ten itibaren, rootlanmış bir cihaz artık gerekli değildir. Test çalıştırılıyorsa
Chrome'un eski sürümlerinde, cihazların ChromeDriver olarak rootlanması gerekiyordu
Chrome'un komutunu ayarlamak için /data/local
dizinine yazma erişimi gerekli
satır bağımsız değişkenleridir.
ChromeDriver'ı çalıştırın
Android SDK'nın Android Debug Bridge (adb) sunucusunu başlatın:
$ adb start-server
Sürüm 33'ten önceki bir Chrome uygulamasında test ediliyorsa adb kabuğunun cihazdaki/data /local dizinine okuma/yazma erişiminin olduğundan emin olun:
$ adb shell su -c chmod 777 /data/local
ChromeDriver'ı genellikle Selenium kitaplığından başlatmanız önerilir, ancak komut satırından da manuel olarak başlatabilirsiniz. Daha fazla bilgi için Başlarken konusuna bakın.
$ ./chromedriver
Android'e Özgü Seçenekler
Aşağıdaki Chrome Seçenekleri hem Chrome hem de WebView uygulamaları için geçerlidir:
androidPackage
: Chrome veya WebView uygulamasının paket adı.androidDeviceSerial
: (İsteğe bağlı) Uygulamanın başlatılacağı cihazın seri numarası (Aşağıdaki Birden Fazla Cihaz bölümüne bakın).androidUseRunningApp
: (İsteğe bağlı) Uygulamayı net bir veri diziniyle başlatmak yerine, çalışan bir uygulamaya ekleyin.
Aşağıdaki özellikler yalnızca Web Görünümü uygulamaları için geçerlidir.
- androidActivity: Web Görünümü'nü barındıran Etkinliğin adı.
- androidProcess: (İsteğe bağlı) Web Görünümü'nü barındıran Etkinliğin işlem adı (ps tarafından belirtildiği şekilde). Belirtilmezse işlem adının
androidPackage
ile aynı olduğu varsayılır.
Test Çalıştır
Testler, uygulamanın paket adını androidPackage
seçeneği aracılığıyla ChromeDriver'a iletmelidir. Örneğin, minimal bir Python testi aşağıdaki gibi görünür:
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()
Birden fazla cihazda
Bir oturumda belirli bir cihazı kullanmak için androidDeviceSerial
değerini
Chrome seçeneği.
Seri numarası belirtilmezse sunucu şu adresten kullanılmayan bir cihazı seçer: rastgele atanacak şekilde ayarlanır. Tüm cihazlar aşağıdaki gibi olduğunda hata döndürülür: zaten etkin oturumlar vardır, dolayısıyla testler tamamlandı.
wd/hub
adlı veri kaynağına bağlan
Testleriniz wd/hub
ağına bağlanmayı bekliyorsa --url-base=wd/hub
ekleyebilirsiniz
şunu yapalım:
$ ./chromedriver --url-base=wd/hub