Robotium Tutorial: Android Kerangka Kerja Pengujian dengan Contoh
⚡ Ringkasan Cerdas
Robotium adalah sumber terbuka Android Kerangka kerja otomatisasi pengujian yang menggerakkan aplikasi native dan hybrid melalui antarmuka penggunanya, memungkinkan penguji untuk membuat skrip skenario fungsional, sistem, dan penerimaan yang mencakup beberapa hal. Android kegiatan.
Apa itu Robotium?
Robotium adalah Android Kerangka kerja pengujian yang mengotomatiskan kasus uji untuk aplikasi native dan hybrid. Menggunakan Robotium, seorang pengembang dapat membuat kasus uji GUI otomatis yang tangguh untuk Android aplikasi. Seorang pengembang juga dapat menulis skenario pengujian fungsional, sistem, dan penerimaan yang mencakup beberapa Android kegiatan.
Robotium Kerangka Pengujian
Standar Android Kerangka pengujian memiliki keterbatasan yang tercantum di bawah ini.
- Tidak dapat menangani banyak aktivitas
- Performa eksekusi pengujian lambat
- Kasus uji bersifat kompleks dan sulit untuk diimplementasikan.
The Robotium framework adalah pilihan yang lebih baik untuk melakukan pengujian pada sebuah Android aplikasi.
Robotium adalah kerangka kerja sumber terbuka dan dianggap sebagai perluasan dari Android kerangka kerja pengujian. Menggunakan Robotium, seorang pengembang dapat membuat kasus uji GUI otomatis yang tangguh untuk Android Selain itu, seorang pengembang dapat menulis skenario pengujian fungsional, sistem, dan penerimaan yang mencakup berbagai aplikasi. Android kegiatan.
Tabel di bawah ini merangkum fitur-fitur canggih yang membedakannya. Robotium dari kerangka instrumentasi sederhana.
Fitur lanjutan dari Robotium
Robotium Kelas Kasus Uji
Robotium menyediakan sejumlah kecil kelas untuk pengujian, dan contoh dalam artikel tersebut mengimpor versi lama. com.jayway.android.robotium.solo paket. Kelas-kelas ini mendukung kasus uji yang mencakup berbagai aktivitas, dan Solo terintegrasi dengan ActivityInstrumentationTestCase2.
Catatan: arus Robotium rilis tersebut mengekspos kelas yang sama dalam versi yang lebih pendek. com.robotium.solo paket, sementara koordinat Maven tetap sama com.jayway.android.robotium:robotium-soloSesuaikan impor agar sesuai dengan versi JAR yang sebenarnya Anda tambahkan ke proyek.
Diagram di bawah ini menunjukkan bagaimana kelas Solo berada di atas kasus uji instrumentasi.
Integrasi dari Robotium dan ActivityInstrumentationTestCase2
Seorang penguji dapat menulis kasus uji tanpa mengetahui desain aplikasi, yang menjadikan pendekatan ini sebagai suatu bentuk pengujian kotak hitamItu adalah keunggulan luar biasa dibandingkan dengan yang biasa saja. Android kelas kasus uji.
Cara Menggunakan Robotium
Untuk menggunakan Robotium di Anda Android Untuk proyek uji coba, Anda perlu mengikuti langkah-langkah di bawah ini.
Cara penggunaan Robotium
Untuk menjamin kualitas Anda Android Untuk mengajukan permohonan, ikuti prosedur empat tahap di bawah ini.
- Rancang spesifikasi pengujian.
- Kembangkan program pengujian
- Jalankan kasus uji pada perangkat target.
- Kumpulkan hasil tesnya
Diagram alur di bawah ini menempatkan keempat tahapan tersebut secara berurutan.
Android prosedur pengujian aplikasi
LANGKAH 1) Merancang Spesifikasi Uji
Ini adalah langkah pertama dalam menguji aplikasi Anda. Pada langkah ini, Anda menentukan target yang akan diuji. Sebuah Android Sebuah aplikasi memiliki banyak target yang perlu diuji, seperti UI, aktivitas, komponen, dan layanan. Mendefinisikan target dengan jelas membantu Anda mencapai cakupan pengujian yang luas.
- Rencanakan jenis pengujian yang perlu dilakukan (pengujian unit, pengujian fungsional, pengujian sistem).
- Rancang setiap Kasus cobaan untuk cakupan maksimal sambil tetap menjagaping Jumlah kasus uji yang sedikit. Semakin banyak kode yang Anda uji, semakin tinggi peluang deteksi bug sejak dini.
LANGKAH 2) Tulis Program Pengujian
Bagian ini memandu Anda dalam menulis sebuah Android program uji menggunakan Android JUnit tes dan RobotiumAnggaplah Anda sudah mengembangkan sebuah Android program bernama HelloAndroidProgram ini memiliki fungsi-fungsi yang dijelaskan di bawah ini.
- Tampilkan teks “Hello world!” di layar.
- Tampilkan HaloAndroid pesan yang muncul saat pengguna menekan tombol “Mulai”.
Tangkapan layar di bawah ini menunjukkan aplikasi yang sedang diuji berjalan di sebuah perangkat.
HaloAndroid aplikasi
Persyaratan sistem
- The Android platform dikirim dengan pra-terintegrasi JUnit 3 kerangka kerja, yang merupakan apa
ActivityInstrumentationTestCase2membangun. - Untuk membuat file Android proyek uji dari EclipseMesin Anda membutuhkan sesuatu yang berfungsi. Android Instalasi SDK.
- Instal yang terbaru Android SDK platform, bukan rilis lama yang sudah ditentukan.
Tangkapan layar dalam panduan ini menggunakan Eclipse dengan plugin ADT, yang merupakan toolchain standar saat contoh tersebut ditulis. Eclipse ADT sudah tidak lagi didukung, jadi pada mesin modern Anda akan Download Android Studio sebagai gantinya, gunakan kembali kode pengujian yang sama di dalam sebuah Gradle modul.
Untuk Robotium kerangka kerja pengujian, unduh Robotium perpustakaan dari Robotium halaman proyek.
Buat Android Proyek Uji
- Klik File -> Baru -> Lainnya
- Pilih Android -> Android Jalankan Proyek Uji seperti yang ditunjukkan pada gambar di bawah ini, lalu pilih Berikutnya.
Buat yang baru Android proyek uji
Tuliskan nama proyek pengujian Anda. Sesuai konvensi penamaan, proyek pengujian harus diberi nama “Hello”.AndroidTes".
Tambahkan nama proyek pengujian berdasarkan konvensi penamaan.
Pilih aplikasi target yang akan diuji. Dalam hal ini, aplikasi targetnya adalah Hello.Android, lalu klik Selesai.
Pilih aplikasi target yang akan diuji.
Buat Rangkaian Tes
Berdasarkan spesifikasi pengujian Anda, sekarang Anda membuat rangkaian pengujian untuk program pengujian Anda. Anda dapat memilih dari berbagai pilihan yang tersedia. pengujian perangkat lunak kerangka kerja. Tutorial ini menggunakan standar. Android kerangka pengujian ActivityInstrumentationTestCase2Untuk menguji dengan Robotium, Tambahkan Robotium berkas perpustakaan ke sebuah libs direktori di dalam folder proyek Anda.
Sebuah kasus uji mendefinisikan fixture yang digunakan untuk menjalankan beberapa pengujian. Untuk mendefinisikan sebuah kasus uji, ikuti struktur program di bawah ini.
- Implementasikan subkelas dari TestCase.
- Definisikan variabel instance yang menyimpan status fixture.
- Inisialisasi status fixture dengan menimpa metode setUp().
- Bersihkan setelah pengujian dengan menimpa metode tearDown().
Diagram di bawah ini memetakan struktur tersebut ke dalam program pengujian yang akan Anda tulis.
Struktur program pengujian
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
Menambahkan Kasus Uji
- Dalam paket yang sama dengan rangkaian pengujian, buat kelas TestCase.
- Untuk menguji aktivitas tertentu, misalnya HaloAndroid, buatlah sebuah test case yang memperluas ActivityInstrumentationTestCase2Android>.
- Di dalam kelas tersebut, penguji mendapatkan aktivitas yang sedang diuji melalui metode getActivity().
- Buat pengujian untuk aktivitas tersebut secara bebas dengan menambahkan metode bernama “test + nama metode asli”.
- Di dalam metode pengujian, penguji dapat menggunakan Android JUnit Fungsi-fungsi untuk membandingkan nilai aktual dengan nilai yang diharapkan. Metode-metode ini ditunjukkan di bawah ini.
Tabel di bawah ini mencantumkan metode pernyataan dan interaksi yang paling sering digunakan dalam kedua kerangka kerja tersebut.
Contoh metode Robotium dan Android kerangka pengujian
Rangkaian pengujian di atas memverifikasi bahwa GUI aplikasi menampilkan teks “Hello World!” dan berisi tombol bernama “Start”.
LANGKAH 3) Jalankan Tes
Setelah Anda selesai menulis program pengujian, jalankan pengujian menggunakan langkah-langkah di bawah ini.
- Hubungkan sebuah Android Hubungkan perangkat ke PC Anda, atau jalankan emulator jika tidak ada perangkat sungguhan yang tersedia.
- Di IDE Anda, klik kanan proyek pengujian dan pilih Jalankan Sebagai → Android Uji Unit.
Tangkapan layar di bawah ini menunjukkan proses pengujian yang diluncurkan dari IDE.
Menjalankan program pengujian
Selain menjalankan pengujian dari IDE, Anda juga dapat menjalankannya dari baris perintah. Dalam program pengujian ini, paket pengujiannya adalah... com.example.helloandroid.testDi terminal Linux, gunakan perintah berikut untuk menjalankan semua pengujian dalam paket tersebut.
$ adb shell am instrument -w -e package com.example.helloandroid.test
LANGKAH 4) Dapatkan Hasil Tes
Setelah pengujian dijalankan, Anda mengumpulkan hasil pengujian.
Dalam program pengujian ini, empat metode pengujian dijalankan. Pada eksekusi di bawah ini, semua kasus uji berhasil.
Hasil keluaran pengujian ketika semua kasus uji berhasil
Jika sebuah kasus uji gagal, output akan ditampilkan dan menunjukkan kasus uji mana yang gagal.
Output hasil pengujian ketika sebuah kasus uji gagal
sumber Code contoh
Artikel ini menyertakan contoh kode sumber yang membantu Anda mengikuti tutorial dengan lebih jelas dan memahami detail teknis dengan cepat.
- HaloAndroid: aplikasi yang sedang diuji.
- HaloAndroiduji: program pengujian yang menggunakan Android kerangka kerja pengujian.
Jika Anda ingin membandingkan Robotium Untuk opsi lain di bidang ini, lihat pengujian aplikasi seluler panduan, itu Appium tutorial dan rangkuman dari alat pengujian aplikasi seluler.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)