Selendroid Tutorial untuk Pemula dengan Contoh
Pernahkah Anda mengembangkan Android aplikasi dan publikasikan ke Google Play? Apa yang akan Anda lakukan jika Anda mendapatkan ulasan pengguna seperti –
Saat Anda memublikasikan aplikasi ke Google Play, aplikasi tersebut harus diuji dengan baik untuk menghindari potensi bug. Ada banyak sekali skenario pengujian yang harus dijalankan sebelum memublikasikan aplikasi. Untuk menyimpan pengujian usaha, Anda memerlukan alat pengujian. Salah satu alat pengujian terbaik untuk Android aplikasi Selendroid.
Apa itu Selendroid?
Selendroid adalah kerangka otomatisasi pengujian untuk berbagai jenis aplikasi seluler: asli dan hibrida Android aplikasi dan mobil web.
Anda dapat menulis tes menggunakan Selenium 2 API klien. Karena Selendroid masih menggunakan kembali yang sudah ada Selenium infrastruktur untuk web
Selendroid adalah alat pengujian yang ampuh. Ini dapat digunakan pada emulator dan nyata perangkat
Mengapa kita membutuhkan Selendroid?
Selendroid adalah alat pengujian yang hebat. Namun Anda mungkin masih meragukan kegunaannya.
Bagian ini akan memperkenalkan fitur-fitur penting dari Selendroid untuk menjawab pertanyaan mengapa Anda membutuhkannya Selendroid.
- Anda dapat menguji aplikasi yang sedang diuji menggunakan Selendroid tanpa modifikasi apa pun pada aplikasi. Anda hanya perlu file biner (APK) diinstal pada komputer. Untuk menginstal file biner pada perangkat, aplikasi pengujian dan aplikasi seluler harus ditandatangani dengan kunci tanda yang sama
- Selendroid aplikasi pengujian dapat berinteraksi dengan beberapa perangkat atau simulator secara bersamaan. Ini adalah keuntungan besar Selendroid. Jadi Anda dapat menguji aplikasi Anda dengan berbagai macam Android perangkat untuk memeriksa kompatibilitas.
- Selendroid dapat menyimulasikan tindakan pengguna manusia pada suatu aplikasi, seperti sentuhan, geser, seret, dan lepas pada perangkat
- Anda dapat mengganti perangkat keras (Pasang dan cabut) selama pengujian tanpa memulai ulang atau menghentikan pengujian. Selendroid mengenali perangkat baru secara otomatis
- Sesuai dengan Android Versi API lebih tinggi, Selendroid juga mendukung yang baru Android API (Dari API 10 hingga API 19)
- Selendroid juga memiliki beberapa alat inspektur bawaan untuk membantu Anda mengidentifikasi elemen UI aplikasi yang sedang diuji. Misalnya tombol ID, kolom teks, tampilan teks…
Selendroid Architekstur
Selendroid didasarkan pada Android kerangka instrumentasi. Selendroid tes ditulis berdasarkan Selenium API klien driver web, sehingga mendukung integrasi penuh dengan saat ini Selenium kerangka kerja.
Gambar berikut menggambarkan arsitektur Selendroid
Selendroid mengandung 4 komponen utama:
- Klien Driver Web – Itu Java perpustakaan klien berdasarkan Selenium. Pustaka ini harus diinstal di komputer (yang digunakan untuk mengembangkan kasus uji)
- Selendroid-Server – Server yang menjalankan aplikasi yang sedang diuji Android perangkat atau simulator. Ini adalah komponen utama dari a Selendroid arsitektur
- Android Aplikasi Pengemudi – Aplikasi bawaan Android driver, aplikasi Tampilan Web untuk menguji web seluler.
- Selendroid-Standalone – Komponen ini digunakan untuk menginstal Selendroid server dan aplikasi yang diuji (AUT)
Memulai dengan Selendroid
Anda sudah mengetahui pentingnya Selendroid. Sekarang mari kita mengotori tangan kita Selendroid.
Ada 3 langkah yang harus dilakukan sebelum tes pertama Selendroid
Menyiapkan a Selendroid lingkungan Hidup
Selendroid dapat bekerja di Jendela, Linux dan Mac OS. Dalam tutorial ini, kita akan melakukan pengaturan Selendroid di OS Jendela.
Sebelum menggunakan Selendroid, Anda perlu menginstal paket berikut terlebih dahulu
- Java SDK (minimal 1.6)
Anda harus menerima perjanjian lisensi dan mengunduh penginstal java (Pilih basis x64 atau x86 pada OS Anda)
Men-download dan menginstal Java SDK sebagai perangkat lunak biasa
- Versi terbaru dari Android SDK
- Komputer Anda harus memiliki setidaknya satu Android Perangkat Virtual (AVD), atau nyata Android perangkat dicolokkan ke PC.
- Selendroid Mandiri dengan ketergantungan, Selendroid Pelanggan, dan Selenium Pelanggan
- Eclipse perangkat lunak
- Siapkan JAVA_HOME dan ANDROID_HOME
Langkah 1) Di Jendela, klik kanan Komputer -> Properties -> Pengaturan Sistem Tingkat Lanjut
Langkah 2) Tampilan jendela System Properties, pilih tab Advanced -> Variabel Lingkungan
Langkah 3) Tampilan jendela Environment, klik New -> Masukkan variabel ANDROID_HOME sebagai berikut
Nilai variabel adalah path ke Android-sdks yang sudah Anda instal.
Temukan variabel sistem Path -> Sunting -> Tambahkan baris berikut setelah baris saat ini
Mirip dengan ANDROID_HOME, tambahkan variabel baru JAVA_HOME dengan nilai seperti di bawah ini
Nilainya adalah Jalan menuju Anda Java instalasi JDK
Langkah 4) Nyalakan kembali PC Anda -> Done
Cara meluncurkan Selendroid
Langkah 1) Mendapatkan aplikasi yang sedang diuji
Anda dapat menggunakan yang sudah ada Selendroid uji aplikasi untuk memeriksa caranya Selendroid bekerja (Link untuk contoh aplikasi yang sedang diuji)
Setelah unduhan selesai, salin APK ini dan yang di atas Selendroid Stoples mandiri file ke folder dengan nama “Guru99″
Langkah 2) Luncurkan Selendroid
Buka terminal di Windows & arahkan ke folder yang dibuat Guru99 pada langkah 1.
Jalankan perintah berikut
Output akan ditampilkan sebagai berikut
Setelah menjalankan perintah ini, Selendroid-Server HTTP mandiri dimulai! Nomor port default server ini adalah 4444. Semua perangkat keras, serta Android Perangkat Virtual, akan dipindai dan dikenali secara otomatis. Selendroid akan mengidentifikasi Android versi target dan ukuran layar perangkat.
Untuk memeriksa Android versi target serta informasi perangkat, Anda dapat meluncurkan URL berikut di browser: http://localhost:4444/wd/hub/status
.
Selendroid perintah dasar
Bagian ini memperkenalkan Anda beberapa hal mendasar Selendroid-Baris perintah mandiri. Anda dapat menggunakannya untuk mengatur Selendroid lingkungan pengujian
- Pengaturan port Selendroid
Port default dari Selendroid adalah 4444. Namun Anda dapat mengubah ke port lain dengan menambahkan parameter ke perintah yang akan diluncurkan Selendroid
Parameter: -pelabuhan [nomor pelabuhan]
Sebagai contoh:
Pada perintah di atas, 5555 adalah port baru.
Jadi URL untuk memeriksa Android versi target diubah menjadi: http://localhost:5555/wd/hub/status
- Tentukan lokasi aplikasi yang sedang diuji (file APK Biner). Selendroid sering kali memerlukan jalur absolut untuk file ini
Parameter: -aplikasi [jalur file]
Sebagai contoh:
Dalam perintah di atas, itu Selendroid secara otomatis menemukan file biner berdasarkan “C:\Guru99App.apk” untuk mendapatkan informasi aplikasi yang sedang diuji.
Periksa URL-nya
http://localhost:4444/wd/hub/status
, Anda akan melihat informasi ini - Ubah port tersebut Selendroid digunakan untuk berkomunikasi dengan server instrumentasi. Selendroid menggunakan port 8080 sebagai default
Parameter: -selendroidServerPort [nomor pelabuhan]
Example
Port sekarang diubah menjadi 9000
- Ubah batas waktu untuk memulai emulator. Satuannya adalah milidetik.
Parameter: -timeoutEmulatorStart
Secara default, Selendroid akan menunggu 300,000 milidetik hingga emulator dimulai. Anda dapat mengubah ke batas waktu baru (200,000 ms) dengan perintah
Setelah masa berlaku kami habis, jika emulator tidak dapat dijalankan, maka Selendroid akan memunculkan kesalahan pengecualian (Terjadi kesalahan saat mencari perangkat/emulator.) lalu berhenti berjalan
- Ketika Anda memulai Selendroid perintah pada terminal, Anda akan melihat log yang tercetak di layar. Anda dapat mengubah jenis log yang Anda lihat dengan menambahkan parameter berikut
Parameter: -tingkat log [jenis log]
Nilai tingkat log adalah ERROR, WARNING, INFO, DEBUG, dan VERBOSE. Bawaan: KESALAHAN.
Misalnya, atur Selendroid untuk mencetak log PERINGATAN saja, Anda dapat menggunakan perintah ini
Selendroid hanya mencetak log PERINGATAN
Mulai tes pertama Anda dengan Selendroid
Bagian ini adalah panduan langkah demi langkah untuk membuat skrip pengujian pertama Anda menggunakan Selendroid
Misalkan kita memiliki file Android aplikasi dengan nama tes Guru99App. Aplikasi ini menyertakan kolom teks dan nama tombol "Tampilkan Teks".
Kita perlu melakukan hal berikut Uji Kasus menggunakan Selendroid
Kasus Uji | Kondisi | Keluaran yang diharapkan |
---|---|---|
|
Biner aplikasi yang diuji tersedia
Sebuah perangkat terhubung ke PC |
Teks “Teks Tampilkan di sini” diubah menjadi teks
pengguna mana yang memasukkan dalam bidang teks |
Langkah 1) Membuat Java proyek di Eclipse
Langkah 2) Tambahkan selenium dan Selendroid file jar di lingkungan eclipse
Klik kanan Proyek Guru99Test -> Bangun Jalur -> Tambahkan Eksternal Archives
Arahkan ke folder tempat menyimpan file jar
Ada 3 file jar yang harus ditambahkan
- selendroid-client-0.10.0.jar : Selendroid perpustakaan klien Java
- selendroid-standalone-0.11.0-dengan-dependensi : Selendroid perpustakaan server mandiri
- selenium-java-2.40.0.jar : Selenium Perpustakaan Pengemudi Web
Pilih semua -> Pilih Buka untuk menambahkan file jar ke proyek
Langkah 3) setelah menambahkan perpustakaan di atas, perpustakaan tersebut akan ditambahkan ke Perpustakaan Referensi proyek pengujian. Seorang penguji dapat menggunakan API dari perpustakaan tersebut untuk mengembangkan program pengujian
Buat paket “com.guru.test” dan tambahkan file java “Guru99Test.java” seperti di bawah ini
Klik Kanan Guru99Test -> New -> Paket
Ketik com.guru.test pada kolom Nama di Baru Java Dialog paket à Selesai
Eclipse akan membuat daftar folder dan subfolder seperti ini dalam struktur kode sumber
Langkah 4) Install TestNG untuk Eclipse
In Eclipse, Bantuan -> Instal Perangkat Lunak Baru, di Dialog Instal, klik Tambah dan masukkan yang berikut ini
- Nama: TestNG
- Lokasi: https://github.com/selendroid/selendroid
Tekan OK -> Selanjutnya untuk menginstal TestNG
Langkah 5) Salin Guru99App.apk ke folder Test App
Langkah 6) Dapatkan ID aplikasi yang sedang diuji.
Misalkan kita memiliki nama file APK Guru99App.apk. Ikuti langkah yang dijelaskan di bagian sebelumnya, jalankan perintah di terminal
Buka tautan berikut di browser: http://localhost:4444/wd/hub/status
.
Informasi perangkat ditampilkan, salin nilai appId “com.guru99app:1.0”
Langkah 7) Buka file Guru99Test.java (dalam kode contoh) dan ubah sebagai berikut
Untuk membuat sesi tes baru dengan Selendroid, Anda harus memberikan id aplikasi dalam format: com.guru99app:1.0. Id aplikasi ini dapat diidentifikasi pada langkah 6. Jika Anda tidak mengatur ID aplikasi yang cocok dengan Android perangkat, sesi pengujian akan menimbulkan kesalahan dan tidak dapat dimulai.
Setelah menginisialisasi perangkat yang ditemukan, Selendroid membuat selendroid-server yang disesuaikan dan menginstalnya Selendroid server di atasnya
Selendroid juga menginstal aplikasi yang diuji dan memulai selendroid-server di perangkat
Setelah berhasil menginisialisasi sesi pengujian, perintah pengujian mulai dijalankan pada perangkat. (Seperti memasukkan teks, tekan tombol…). Jika pengujian menambahkan sesi pengujian, emulator akan berhenti secara otomatis
Langkah 8) Mulai sesi tes baru
Peluncuran Selendroid server menggunakan perintah berikut di terminal seperti langkah 6
Setelah Selendroid Server dimulai, buka proyek uji sampel Guru99test Eclipse, tetapkan breakpoint pada baris 77 pada file Guru99Test.java dengan mengklik dua kali pada baris 77 -> Sebuah titik akan muncul seperti di bawah ini
Mulai sesi tes dengan Klik kanan untuk proyek Guru99Test -> Debug Sebagai -> Pengujian Uji.
Sesi tes akan dimulai seperti di bawah ini
Langkah 9) Dapatkan Id elemen GUI dari aplikasi yang sedang diuji
Setelah sesi pengujian berhasil dimulai, buka browser, navigasikan ke URL http://localhost:4444/inspector
Anda akan melihat Aplikasi yang Sedang Diuji diluncurkan seperti di bawah ini
Gunakan mouse hover ke setiap elemen UI AUT (Button, TextField, Text Label), ID setiap elemen akan disorot di panel kanan
Setelah langkah ini, Anda bisa mendapatkan ID setiap elemen UI di atas
- Tombol Tampilkan ID Teks: “btnTunjukkan"
- ID Bidang Teks: “edtTeks"
- ID Teks Label: “Tampilan txt"
ID tersebut akan digunakan pada langkah berikutnya
Langkah 10) Masukkan program tes seperti di bawah ini
Sebuah program uji menggunakan Selendroid mencakup 3 bagian
Tes Pengaturan:
Berikut ini adalah kode untuk pengaturan pengujian, ini akan mengatur kondisi untuk sesi pengujian. Jika terjadi kesalahan, Selendroid akan mengeluarkan pengecualian dan aplikasi pengujian akan berhenti.
Kode tersebut menyertakan komentar untuk menjelaskan setiap pernyataan.
package com.guru.test; import io.selendroid.SelendroidCapabilities; import io.selendroid.SelendroidConfiguration; import io.selendroid.SelendroidDriver; import io.selendroid.SelendroidLauncher; import io.selendroid.device.DeviceTargetPlatform; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.Assert; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; /** * @author Guru99 Test App using Selendroid * Application under test: Guru99App * */ public class Guru99Test { //Declare web driver variable private WebDriver driver; /** * Setup the environment before testing * @throws Exception */ @BeforeSuite public void setUp() throws Exception { //Start selendroid-standalone during test SelendroidConfiguration config = new SelendroidConfiguration(); // Add the selendroid-test-app to the standalone server config.addSupportedApp("Guru99App.apk"); //start the standalone server SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); // Create the selendroid capabilities SelendroidCapabilities capa = new SelendroidCapabilities(); // Specify to use selendroid's test app capa.setAut("com.guru99app:1.0"); // Specify to use the Android device API 19 capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19); // Don't request simulator, use real device capa.setEmulator(false); //capa.wait(10000000); // Create instance of Selendroid Driver driver = new SelendroidDriver(capa); }
Jalankan Tes
Di bawah ini adalah kode untuk menjalankan tes. Kode tersebut menyertakan komentar
Berikut langkah pengujiannya lagi
- Masukkan teks “Halo Guru”
- Klik Tampilkan Tombol Teks
- Tunggu sebentar
- Verifikasi bahwa aplikasi menampilkan teks saat pengguna masuk ke kolom teks (Mis. Menampilkan teks “Halo Guru”)
/** * Start execute the test case * 01. Enter the text "Selendroid" to the textfield * 02. Press OK button * @throws Exception */ @Test public void selendroidTest() throws Exception { // Print the log System.out.print("Start executing test"); // Find the input text field on screen // The id of this text field was get from step 9 WebElement inputField = driver.findElement(By.id("edtText")); // Verify that the text field enabled so user can enter text Assert.assertEquals("true", inputField.getAttribute("enabled")); // Enter a text to text field inputField.sendKeys("Hello Guru"); // click Show Text button // The id of this button was get from step 9 WebElement button = driver.findElement(By.id("btnShow")); button.click(); // Delay time to take effect Thread.sleep(5000); //Find the label "Text Show Here" on screen // The id of this label was get from step 9 WebElement txtView = driver.findElement(By.id("txtView")); //Get the text display on screen String expected = txtView.getText(); // Verify that the text which user enter on text field is same as text display on screen Assert.assertEquals(expected, inputField.getText()); }
Selesai Tes
Kode berikut akan menyelesaikan pengujian dengan menghentikan Selendroid sopir.
/** * Stop the Selendroid driver * */ @AfterSuite public void tearDown() { driver.quit(); }
Anda dapat melihat detailnya pada contoh kode yang disertakan dalam artikel ini.
Langkah 10) Terhubung Android perangkat ke PC melalui kabel USB. Hal-hal yang perlu diperhatikan –
- Harap pastikan perangkat tidak memiliki kunci layar yang dikonfigurasi.
- Perangkat harus dicolokkan melalui USB ke komputer tempat komponen mandiri selendroid dijalankan.
- Setidaknya perangkat harus diinstal Android Target Versi API 10
Langkah 11) Jalankan Aplikasi Tes: Klik kanan Guru99test -> Jalankan sebagai -> TestNG uji
Langkah 10) Script mulai dijalankan sebagai berikut
Langkah 12) Setelah pengujian selesai dijalankan, TestNG otomatis menghasilkan laporan pengujian sebagai berikut
Kerja bagus, Anda sudah selesai ujiannya sekarang.
Ringkasan
- Selendroid adalah alat yang sangat ampuh untuk pengujian Android aplikasi asli, aplikasi hybrid, dan aplikasi web.
- Ini dapat digunakan pada perangkat nyata dan juga simulator.
- Ini juga memungkinkan Anda menjalankan pengujian secara paralel dengan menjalankan pengujian di beberapa perangkat.
- Seluruhnya Selendroid suite terdiri dari empat komponen:
- klien Pengemudi Web,
- Selendroid-Server,
- Android Aplikasi Pengemudi
- Selendroid-berdiri sendiri
- Untuk menggunakan Selendroid kamu perlu Java JDK, Android SDK dan Eclipse diinstal.