Android

Dependensi

Biner untuk ChromeDriver dapat ditemukan dikemas sebagai file ZIP untuk berbagai 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 harus diinstal untuk bahasa pilihan Anda saat menulis pengujian. Library ini tersedia dari pengelola paket lokal yang ramah atau project selenium (https://www.seleniumhq.org/download/). Misalnya, binding bahasa untuk Python dapat diinstal dengan pip.

$ pip install selenium

Android SDK

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

Persyaratan perangkat

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

Menjalankan ChromeDriver

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

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

     $ adb shell su -c chmod 777 /data/local
    
  3. Sebaiknya mulai ChromeDriver melalui library Selenium, meskipun Anda juga dapat memulainya secara manual dari command line. Lihat Memulai untuk mengetahui 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) Lampirkan 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 diasumsikan sama dengan androidPackage.

Jalankan Tes

Pengujian harus meneruskan nama paket aplikasi ke ChromeDriver melalui opsi androidPackage. Misalnya, pengujian Python minimal akan 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 Chrome.

Jika nomor seri tidak ditentukan, server akan memilih perangkat yang tidak digunakan di acak untuk dikaitkan dengan setiap sesi. Pesan error akan muncul jika semua perangkat sudah memiliki sesi aktif, jadi pengujian harus memastikan untuk menghentikan saat selesai.

Hubungkan ke wd/hub

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

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