Android

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

  1. Android SDK'nın Android Debug Bridge (adb) sunucusunu başlatın:

    $ adb start-server
    
  2. 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
    
  3. 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