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 –

Selendroid Tutorial

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.

Apa itu Selendroid

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

Apa itu Selendroid

Mengapa kita membutuhkan Selendroid?

Selendroid adalah alat pengujian yang hebat. Namun Anda mungkin masih meragukan kegunaannya.

Mengapa kita membutuhkan Selendroid

Bagian ini akan memperkenalkan fitur-fitur penting dari Selendroid untuk menjawab pertanyaan mengapa Anda membutuhkannya Selendroid.

Mengapa kita membutuhkan 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 Architekstur

Selendroid mengandung 4 komponen utama:

Selendroid Architekstur

  • 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

Memulai dengan 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)

    Menyiapkan a Selendroid Lingkungan Hidup

    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

    Menyiapkan a Selendroid Lingkungan Hidup

    Langkah 2) Tampilan jendela System Properties, pilih tab Advanced -> Variabel Lingkungan

    Menyiapkan a Selendroid Lingkungan Hidup

    Langkah 3) Tampilan jendela Environment, klik New -> Masukkan variabel ANDROID_HOME sebagai berikut

    Menyiapkan a Selendroid Lingkungan Hidup

    Nilai variabel adalah path ke Android-sdks yang sudah Anda instal.

    Temukan variabel sistem Path -> Sunting -> Tambahkan baris berikut setelah baris saat ini

    Menyiapkan a Selendroid Lingkungan Hidup

    Menyiapkan a Selendroid Lingkungan Hidup

    Mirip dengan ANDROID_HOME, tambahkan variabel baru JAVA_HOME dengan nilai seperti di bawah ini

    Menyiapkan a Selendroid Lingkungan Hidup

    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

Launch Selendroid

Output akan ditampilkan sebagai berikut

Launch Selendroid

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.

Launch Selendroid

Selendroid perintah dasar

Bagian ini memperkenalkan Anda beberapa hal mendasar Selendroid-Baris perintah mandiri. Anda dapat menggunakannya untuk mengatur Selendroid lingkungan pengujian

  1. 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:

    Selendroid Perintah Dasar

    Pada perintah di atas, 5555 adalah port baru.

Jadi URL untuk memeriksa Android versi target diubah menjadi: http://localhost:5555/wd/hub/status

  1. Tentukan lokasi aplikasi yang sedang diuji (file APK Biner). Selendroid sering kali memerlukan jalur absolut untuk file ini

    Parameter: -aplikasi [jalur file]

    Sebagai contoh:

    Selendroid Perintah Dasar

    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

    Selendroid Perintah Dasar

  2. Ubah port tersebut Selendroid digunakan untuk berkomunikasi dengan server instrumentasi. Selendroid menggunakan port 8080 sebagai default

    Parameter: -selendroidServerPort [nomor pelabuhan]

    Example

    Selendroid Perintah Dasar

    Port sekarang diubah menjadi 9000

  3. 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

    Selendroid Perintah Dasar

    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

  4. 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 Perintah Dasar

    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".

UNDUH APK DI SINI

Tes Pertama dengan Selendroid

Kita perlu melakukan hal berikut Uji Kasus menggunakan Selendroid

Kasus Uji Kondisi Keluaran yang diharapkan
  1. Luncurkan aplikasi
  2. Masukkan teks “Tes Guru99” ke bidang teks
  3. Tekan tombol "Tampilkan Teks".
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

Tes Pertama dengan Selendroid

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

Tes Pertama dengan Selendroid

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

Tes Pertama dengan Selendroid

Ketik com.guru.test pada kolom Nama di Baru Java Dialog paket à Selesai

Tes Pertama dengan Selendroid

Eclipse akan membuat daftar folder dan subfolder seperti ini dalam struktur kode sumber

Tes Pertama dengan Selendroid

Langkah 4) Install TestNG untuk Eclipse

In Eclipse, Bantuan -> Instal Perangkat Lunak Baru, di Dialog Instal, klik Tambah dan masukkan yang berikut ini

Tekan OK -> Selanjutnya untuk menginstal TestNG

Tes Pertama dengan Selendroid

Langkah 5) Salin Guru99App.apk ke folder Test App

Tes Pertama dengan Selendroid

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

Tes Pertama dengan Selendroid

Buka tautan berikut di browser: http://localhost:4444/wd/hub/status.

Informasi perangkat ditampilkan, salin nilai appId “com.guru99app:1.0”

Tes Pertama dengan Selendroid

Langkah 7) Buka file Guru99Test.java (dalam kode contoh) dan ubah sebagai berikut

Tes Pertama dengan Selendroid

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

Tes Pertama dengan Selendroid

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

Tes Pertama dengan Selendroid

Mulai sesi tes dengan Klik kanan untuk proyek Guru99Test -> Debug Sebagai -> Pengujian Uji.

Sesi tes akan dimulai seperti di bawah ini

Tes Pertama dengan Selendroid

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

Tes Pertama dengan Selendroid

Gunakan mouse hover ke setiap elemen UI AUT (Button, TextField, Text Label), ID setiap elemen akan disorot di panel kanan

Tes Pertama dengan Selendroid

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

  1. Masukkan teks “Halo Guru”
  2. Klik Tampilkan Tombol Teks
  3. Tunggu sebentar
  4. 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

Tes Pertama dengan Selendroid

Langkah 10) Script mulai dijalankan sebagai berikut

Tes Pertama dengan Selendroid

Langkah 12) Setelah pengujian selesai dijalankan, TestNG otomatis menghasilkan laporan pengujian sebagai berikut

Tes Pertama dengan Selendroid

Tes Pertama dengan Selendroid

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.