Pengujian Seluler - Kerangka Robotium

Robotium adalah kerangka kerja pengujian sumber terbuka untuk menulis kasus pengujian kotak abu-abu otomatis untuk aplikasi Android. Dengan dukungan Robotium, pengembang kasus uji dapat menulis skenario pengujian fungsi, sistem, dan penerimaan, yang mencakup beberapa aktivitas Android.

Robotium dapat digunakan baik untuk menguji aplikasi di mana kode sumber tersedia dan aplikasi yang hanya tersedia file APK.

Manfaat Robotium

  • Mudah ditulis, kode lebih pendek. Waktu minimal yang diperlukan untuk menulis kasus uji yang solid.

  • Anda dapat mengembangkan kasus uji yang kuat, dengan pengetahuan minimal tentang aplikasi yang diuji.

  • Framework ini menangani beberapa aktivitas Android secara otomatis. Keterbacaan kasus uji sangat meningkat, dibandingkan dengan uji instrumentasi standar.

  • Waktu dan penundaan otomatis.

  • Secara otomatis mengikuti Aktivitas saat ini.

  • Secara otomatis menemukan Views.

  • Secara otomatis membuat keputusannya sendiri (mis .: Kapan menggulir, dll.)

  • Tidak ada modifikasi pada platform Android.

  • Eksekusi uji cepat.

  • Kasus pengujian lebih kuat karena pengikatan waktu proses ke komponen GUI.

  • Terintegrasi dengan mulus dengan Maven atau Ant.

Kekurangan Robotium

  • Robotium tidak dapat menangani komponen Flash atau Web.

  • Ini hanya menangani satu aplikasi dalam satu waktu.

  • Itu tidak dapat mensimulasikan klik pada soft keyboard menggunakan Robotium (perlu menggunakan 'enterText ()' untuk memasukkan teks ke dalam bidang EditText)

  • Robotium tidak dapat berinteraksi dengan Pemberitahuan Bilah Status - yaitu, tarik ke bawah area Pemberitahuan dan klik Pemberitahuan yang ditentukan.

  • Bisa agak lambat, terutama berjalan di perangkat lama.

Cara Menggunakan Robotium

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 Technology Network

  • Terima perjanjian lisensi.

  • Instal JDK dan JRE.

  • Atur variabel lingkungan seperti yang ditunjukkan pada gambar di bawah.

Step 2- Unduh Android Studio dari Android Studio

  • Klik dua kali exe dan jalankan penginstal.
  • Lanjutkan dengan semua opsi default.
  • Setel ANDROID_HOME.

Step 3 - Instal gambar dan alat Android.

  • Klik pada SDK Manager -
  • Pilih paket yang diperlukan. Misalnya, jika kita membuat Aplikasi untuk Android 4.4.2, pastikan paket berikut dicentang di bawah bagian Alat -

    • Android SDK Tools rev 22.6.3
    • Alat Platform Android rev 19.0.1
    • Android SDK Build-tools rev 19.1

Step 4 - Buat Perangkat Virtual Android.

  • Buka Android Studio dan klik AVD Manager di toolbar. AVD memungkinkan kami menguji dan menjalankan aplikasi Android kami.
  • Gunakan pengaturan berikut untuk Nexus5 AVD -

    • Perangkat - Nexus 5 (4.95, 1080 x 1920; xxhdpi)
    • Target - Google API x86 (Google Inc.) - API Level 19
    • (Pastikan Anda memilih target dengan Google API di namanya.)
    • CPU - Intel Atom (x86)
    • Centang kotak untuk Use Host GPU
    • Klik OK
  • Sekarang Anda akan melihat AVD yang Anda buat di AVD Manager, tempat Anda dapat memulainya, menghapusnya, atau membuat yang lain!

Step 5- File Jar Robotium Unduh file Jar Robotium dari RobotiumTech

Uji Aplikasi dengan Robotium

Untuk menguji Aplikasi dengan Robotium, ikuti langkah-langkah yang diberikan di bawah ini -

Step 1 - Buat Proyek uji di Android Studio dengan nama "RobotiumTest".

Pilih semua opsi default hingga Anda mencapai halaman utama.

Step 2 - Salin file jar Robotium ke dalam folder Lib proyek.

Step 3 - Tambahkan ketergantungan di file build.gradle di bawah src map.

androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'

Step 4 - Sinkronkan Gradle.

Step 5 - Buat kelas Tes sebagai berikut -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Simpan semua perubahan. Pastikan tidak ada kesalahan.

Step 7- Sekarang, jalankan test case. Jika kasus uji berhasil, Anda akan melihat keluaran berikut!