Bağımlılıklar
ChromeDriver için ikili programlar, indirmeler sayfasında çeşitli ana makine platformları için zip dosyası olarak paketlenmiş olarak bulunabilir.
Desteklenen uygulamalar
ChromeDriver, Chrome tarayıcıda (sürüm 30+) ve Android 4.4 (KitKat) sürümünden başlayan ve web hata ayıklama ile JavaScript'i etkinleştiren Web Görünümü tabanlı uygulamalarda test çalıştırmayı destekler. Chrome uygulamasını şuradan yükleyebilirsiniz:
Kararlı: https://play.google.com/store/apps/details?id=com.android.chrome
Selenyum WebDriver Dil Bağlamaları
Testlerinizi yazarken seçtiğiniz dil için standart selenyum projesi WebDriver dil bağlamalarının yüklenmesi gerekir. Bu kütüphaneye yerel paket yöneticinizden veya selenium projenizden (https://www.seleniumhq.org/download/) ulaşabilirsiniz. Örneğin, Python için dil bağlamaları pip ile yüklenebilir.
$ pip install selenium
Android SDK
SDK'yı developer.android.com/sdk/ adresinden indirebilirsiniz.
Cihaz gereksinimleri
Chrome sürüm 33'ten itibaren rootlanmış bir cihaza artık gerek yoktur. Chrome'un daha düşük sürümlerinde test çalıştırıyorsanız ChromeDriver'ın, Chrome'un komut satırı bağımsız değişkenlerini ayarlamak için /data/local
dizinine yazma erişimi gerektirdiğinden cihazların rootlanmış olması gerekir.
ChromeDriver'ı çalıştırın
Android SDK'sının Android Debug Bridge (adb) sunucusunu başlatın:
$ adb start-server
33'ten önce Chrome uygulamasında test yapıyorsanız adb kabuğunun cihazdaki/data /local dizinine okuma/yazma erişimine sahip olduğundan emin olun:
$ adb shell su -c chmod 777 /data/local
ChromeDriver'ı genellikle Selenium kitaplığından başlatmanız önerilir, ancak manuel olarak da komut satırından başlatabilirsiniz. Daha fazla bilgi için Başlarken bölümüne bakın.
$ ./chromedriver
Android'e Özel Seçenekler
Aşağıdaki Chrome Seçenekleri hem Chrome hem de Web Görünümü uygulamaları için geçerlidir:
androidPackage
: Chrome veya Web Görünümü 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ı temiz bir veri diziniyle başlatmak yerine halihazırda ç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 ile 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 üzerinden 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 Chrome seçeneği olarak androidDeviceSerial
değerini belirtin.
Seri numarası belirtilmemişse sunucu her oturumla ilişkilendirmek için kullanılmayan bir cihazı rastgele seçer. Tüm cihazlarda zaten etkin oturumlar varsa bir hata döndürülür. Bu nedenle, testler bittiğinde çıkış çağrısı yapıldığından emin olunmalıdır.
wd/hub
adlı veri kaynağına bağlan
Testlerinizin wd/hub
ağına bağlanması bekleniyorsa sunucuyu başlatırken --url-base=wd/hub
ekleyebilirsiniz:
$ ./chromedriver --url-base=wd/hub