Android

ChromeDriver için en son ikili dosyalar, çeşitli ana makine platformları için zip dosyaları olarak paketlenir.

ChromeDriver'ın eski sürümlerini İndirilenler bölümünde bulabilirsiniz.

Desteklenen uygulamalar

ChromeDriver, Chrome tarayıcıda (30 ve sonraki sürümler) ve Android 4.4 (KitKat)'ten itibaren web hata ayıklama ve JavaScript'in etkinleştirildiği WebView 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

Selenium WebDriver Dil Bağlamaları

Testlerinizi yazabilmeniz için seçtiğiniz dilde standart Selenium projesi WebDriver dil bağlamalarının yüklenmesi gerekir. Bu kitaplık, yerel paket yöneticinizde veya Selenium projesinde kullanılabilir.

Ö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 33 sürümü itibarıyla, köklenmiş bir cihaz gerekmez. Chrome'un önceki sürümlerinde testler çalıştırılıyorsa 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 root erişimine sahip olması gerekir.

ChromeDriver'ı çalıştırma

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

    $ adb start-server
    
  2. Chrome uygulamasında 33 sürümünden önceki bir sürümde test yapıyorsanız adb kabuğunun cihazdaki /data/local dizinine okuma ve yazma erişimi olduğundan emin olun:

    $ adb shell su -c chmod 777 /data/local
    
  3. ChromeDriver'ı Selenium kitaplığı üzerinden başlatmanızı öneririz ancak komut satırından manuel olarak da başlatabilirsiniz.

    $ ./chromedriver
    

Yalnızca Android'e özel 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 Çok Cihaz bölümüne bakın).
  • androidUseRunningApp: (İsteğe bağlı) Uygulamayı temiz bir veri dizini ile başlatmak yerine, zaten çalışan bir uygulamaya ekleyin.

Aşağıdaki özellikler yalnızca WebView uygulamaları için geçerlidir.

  • androidActivity: WebView'i barındıran etkinliğin adı.
  • androidProcess: (İsteğe bağlı) WebView'i barındıran Etkinlik'in işlem adı (ps tarafından sağlanır). Belirtilmediği takdirde işlem adının androidPackage ile aynı olduğu varsayılır.

Test yayını yapın

Testler, uygulamanın paket adını androidPackage seçeneği aracılığıyla ChromeDriver'a iletmelidir. Örneğin, en basit Python testi şu şekilde 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 oturum için belirli bir cihazı kullanmak istiyorsanız Chrome seçeneği olarak androidDeviceSerial'yi belirtin.

Seri numarası belirtilmezse sunucu, her oturumla ilişkilendirmek için kullanılmayan bir cihazı rastgele seçer. Tüm cihazlarda zaten etkin oturumlar varsa hata döndürülür. Bu nedenle, testler tamamlandığında quit işlevini çağırmalıdır.

wd/hub adlı veri kaynağına bağlan

Testleriniz wd/hub adresine bağlanmayı bekliyorsa sunucuyu başlatırken --url-base=wd/hub ekleyebilirsiniz:

$ ./chromedriver --url-base=wd/hub