Android

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

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

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