Pengujian Seluler - Kerangka Selendroid
Selendroid adalah framework otomatisasi pengujian untuk menguji aplikasi asli dan hybrid Android. Tes selendroid ditulis menggunakan API klien Selenium Webdriver.
Manfaat Selendroid
Sepenuhnya kompatibel dengan JSON Wire Protocol / Selenium 3 Ready.
Tidak diperlukan modifikasi aplikasi yang sedang diuji untuk mengotomatiskannya.
Menguji web seluler menggunakan aplikasi webview driver Android bawaan.
Konsep yang sama untuk mengotomatiskan aplikasi asli atau hibrida.
Elemen UI dapat ditemukan oleh jenis pencari lokasi yang berbeda.
Gestur yang didukung: API Interaksi Pengguna Lanjutan.
Emulator yang ada dimulai secara otomatis.
Selendroid mendukung penyumbatan perangkat keras secara panas.
Integrasi penuh sebagai node ke Selenium Grid untuk penskalaan dan pengujian paralel.
Beberapa dukungan API target Android (10 hingga 19).
Dibangun di Inspector untuk menyederhanakan pengembangan kasus uji.
Selendroid dapat diperpanjang saat runtime dengan ekstensi Anda sendiri.
Selendroid dapat berinteraksi dengan beberapa perangkat Android (emulator atau perangkat keras) secara bersamaan.
Kekurangan Selendroid
Kekurangan dari alat ini adalah cukup lambat dan pada beberapa mesin dengan RAM kurang dari 4GB, alat ini tidak dapat digunakan.
Cara Menggunakan Selendroid
Step 1- Prasyarat untuk menggunakan Robotium adalah Java SDK (minimal 1.6). Jika Anda belum menginstal Java di sistem Anda, ikuti langkah-langkah yang diberikan di bawah ini.
Unduh JDK dan JRE dari Oracle JavaSE
Terima perjanjian lisensi.
Instal JDK dan JRE.
Atur variabel lingkungan seperti yang ditunjukkan pada gambar di bawah.
Step 2- Unduh Android Studio dari SDK Android (Ini akan memakan waktu karena ukuran file).
- Klik dua kali exe dan jalankan penginstal.
- Lanjutkan dengan semua opsi default.
- Setel ANDROID_HOME.
Step 3- Unduh file jar Selenium dan uji aplikasi dari Selendroid
- Unduh file jar selenium dan uji aplikasi.
- Tempatkan ke folder mana saja yaitu D: \ SelendroidJars.
Step 4 - Perangkat fisik dengan kabel USB.
Pastikan perangkat terhubung ke workstation dengan kabel USB.
Pastikan mode debugging USB (di bawah pengaturan → Opsi pengembang) diaktifkan.
Uji Aplikasi dengan Selendroid
Untuk menguji Aplikasi menggunakan Selendroid, ikuti langkah-langkah yang diberikan di bawah ini -
Step 1 - Pasang Eclipse.
Step 2 - Buat proyek Java.
Step 3 - Tambahkan file jar Selendroid yang diunduh ke proyek yang baru dibuat.
Step 4 - Tambahkan file jar Selenium yang diunduh ke proyek yang baru dibuat.
Step 5 - Konfigurasi testNG di Eclipse.
Step 6- Hubungkan perangkat seluler dengan sistem menggunakan kabel USB. Atur mode debugging USB dari opsi pengembang di bawah pengaturan.
Step 7- Jalankan server Selendroid. Buka command prompt dan tulis kode berikut dan tekan Enter -
java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk
Selendroid-standalone akan memulai server http pada port 4444 dan akan memindai semua perangkat virtual Android (avd) yang telah dibuat pengguna (~ / .android / avd /).
Buka browser web dan navigasikan ke: http://localhost:4444/wd/hub/status.
Step 8- Buat Proyek Java; menambahkan library Selendroid Standalone, Selenium jar, dan library JUnit di jalur build.
Step 9 - Buat paket di bawah proyek Java.
Step 10 - Buat kelas di bawah paket dan tulis kode berikut.
package selTest;
import io.selendroid.SelendroidDriver;
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;
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;
public class SelendroidTest {
private WebDriver driver ;
@BeforeSuite
public void setUp() throws Exception {
SelendroidConfiguration config = new SelendroidConfiguration();
config.addSupportedApp("selendroid-test-app-0.9.0.apk");
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
SelendroidCapabilities caps = new
SelendroidCapabilities("io.selendroid.testapp:0.9.0");
driver = new SelendroidDriver(caps);
}
@Test
public void selendroidTest() throws Exception {
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
WebElement button = driver.findElement(By.id("buttonTest"));
button.click();
button = driver.findElement(By.id("button2"));
button.click();
Thread.sleep(5000);
button = driver.findElement(By.id("startUserRegistration"));
button.click();
Thread.sleep(10000);
WebElement element = driver.findElement(By.id("label_username"));
String text = element.getText();
System.out.println(text);
element = driver.findElement(By.id("inputUsername"));
element.sendKeys("bob");
element = driver.findElement(By.id("inputEmail"));
element.sendKeys("[email protected]");
element = driver.findElement(By.id("inputPassword"));
element.clear();
element.sendKeys("test1233");
element = driver.findElement(By.id("inputName"));
element.clear();
element.sendKeys("My Name ");
element = driver.findElement(By.id("input_preferedProgrammingLanguage"));
element.click();
element = driver.findElement(By.id("text1"));
element.click();
element = driver.findElement(By.id("input_adds"));
element.click();
element = driver.findElement(By.id("btnRegisterUser"));
element.click();
element = driver.findElement(By.id("buttonRegisterUser"));
element.click();
}
@AfterSuite
public void tearDown(){
driver.quit();
}
}
Step 11 - Jalankan kelas dengan konfigurasi run testNG.