Selendroid Tutorial untuk Pemula dengan Contoh
Pernahkah Anda mengembangkan Android aplikasi dan mempublikasikannya ke Google Bermain? Apa yang akan kamu lakukan jika mendapatkan ulasan pengguna seperti โ
Saat Anda mempublikasikan aplikasi ke Google Sebelum diluncurkan, aplikasi harus diuji dengan baik untuk menghindari potensi bug. Ada banyak skenario pengujian yang harus dijalankan sebelum menerbitkan aplikasi. Untuk menghemat waktu... 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 ke 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 (mencolok dan mencabut) selama pengujian tanpa perlu memulai ulang atau menghentikan proses.ping ujian. 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 Konfirmasi, dan Selenium Konfirmasi
- 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 tersebut Guru99 dibuat 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 Dengan mengetahui versi target dan informasi perangkat, Anda dapat menjalankan perintah berikut. URL di peramban: 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.
Sehingga 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:\GuruKetik "99App.apk" untuk mendapatkan informasi tentang aplikasi yang sedang diuji.
Periksalah URL
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
The 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 di bawah nama uji Guru99App. Aplikasi ini menyertakan kolom teks dan tombol bernama โ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 GuruProyek 99Test -> 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 Guru99Tes -> New -> Paket
Ketik com.guru.test pada kolom Nama di Baru Java Dialog paket ร Selesai
The 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 GuruSalin file 99App.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 seperti 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 sudah berjalan, buka proyek uji coba contoh. Guru99 tes pada Eclipse, atur breakpoint di baris 77 pada file GuruBuka file 99Test.java dengan mengklik dua kali baris 77. -> Sebuah titik akan muncul seperti di bawah ini
Mulai sesi pengujian dengan klik kanan untuk GuruProyek 99Test -> 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, lalu 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
- Pastikan aplikasi menampilkan teks sesuai dengan yang dimasukkan pengguna ke dalam kolom teks (Contoh: Tampilkan 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 berhenti.ping itu 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 Uji Coba: Klik kanan Guru99tes -> 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.


































