Android

Dependensi

Biner untuk ChromeDriver dapat ditemukan dikemas sebagai file ZIP untuk berbagai platform host di halaman download.

Aplikasi yang didukung

ChromeDriver mendukung pengujian di browser Chrome (versi 30+) dan aplikasi berbasis WebView mulai Android 4.4 (KitKat) yang telah mengaktifkan proses debug web dan JavaScript. Anda dapat menginstal aplikasi Chrome dari:

Stabil: https://play.google.com/store/apps/details?id=com.android.chrome

Binding Bahasa WebDriver Selenium

Binding bahasa WebDriver project selenium standar perlu diinstal untuk bahasa pilihan Anda saat menulis pengujian. Library ini tersedia dari pengelola paket lokal yang sesuai atau project selenium (https://www.seleniumhq.org/download/). Misalnya, binding bahasa untuk Python dapat diinstal dengan pip.

$ pip install selenium

Android SDK

SDK dapat didownload dari developer.android.com/sdk/

Persyaratan perangkat

Mulai Chrome versi 33, perangkat yang telah di-root tidak lagi diperlukan. Jika menjalankan pengujian pada Chrome versi lebih rendah, perangkat harus di-root karena ChromeDriver memerlukan akses tulis ke direktori /data/local untuk menyetel argumen command line Chrome.

Menjalankan ChromeDriver

  1. Mulai server Android Debug Bridge (adb) Android SDK:

    $ adb start-server
    
  2. Jika menguji pada aplikasi Chrome sebelum versi 33, pastikan shell adb memiliki akses baca/tulis ke /data/local direktori di perangkat:

     $ adb shell su -c chmod 777 /data/local
    
  3. Sebaiknya Anda memulai ChromeDriver melalui library Selenium, meskipun Anda juga dapat memulainya secara manual dari command line. Lihat bagian Memulai untuk informasi selengkapnya.

    $ ./chromedriver
    

Opsi khusus Android

Opsi Chrome berikut berlaku untuk aplikasi Chrome dan WebView:

  • androidPackage: Nama paket aplikasi Chrome atau WebView.
  • androidDeviceSerial: (Opsional) Nomor seri perangkat yang digunakan untuk meluncurkan aplikasi (Lihat bagian Beberapa Perangkat di bawah).
  • androidUseRunningApp: (Opsional) Melampirkan ke aplikasi yang sudah berjalan, bukan meluncurkan aplikasi dengan direktori data yang jelas.

Kemampuan berikut hanya berlaku untuk aplikasi WebView.

  • androidActivity: Nama Aktivitas yang menghosting WebView.
  • androidProcess: (Opsional) Nama proses Aktivitas yang menghosting WebView (seperti yang diberikan oleh ps). Jika tidak diberikan, nama proses dianggap sama dengan androidPackage.

Jalankan Tes

Pengujian harus meneruskan nama paket aplikasi ke ChromeDriver melalui opsi androidPackage. Misalnya, pengujian Python minimal terlihat seperti ini:

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()

Dapat dijalankan di berbagai perangkat

Agar dapat menggunakan perangkat tertentu untuk sesi, tentukan androidDeviceSerial sebagai opsi Chrome.

Jika nomor seri tidak ditentukan, server akan memilih perangkat yang tidak digunakan secara acak untuk dikaitkan dengan setiap sesi. Error akan ditampilkan jika semua perangkat sudah memiliki sesi aktif, jadi pengujian harus memastikan untuk memanggil keluar setelah selesai.

Hubungkan ke wd/hub

Jika pengujian Anda diperkirakan akan terhubung ke wd/hub, Anda dapat menambahkan --url-base=wd/hub saat meluncurkan server:

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