Apa itu Robotium?
Robotium adalah kerangka Ujian android untuk mengautomasikan kes ujian untuk aplikasi asli dan hibrid. Dengan menggunakan Robotium, pembangun dapat membuat kotak ujian GUI automatik yang kuat untuk aplikasi Android. Di samping itu, pembangun dapat menulis senario ujian fungsi, sistem dan penerimaan, menyebarkan banyak aktiviti Android.
Dalam tutorial ini, anda akan belajar-
- Rangka kerja ujian robot
- Cara menggunakan Robotium
- LANGKAH 1) Spesifikasi ujian reka bentuk
- LANGKAH 2) Tulis program UJIAN
- LANGKAH 3) Ujian Larian
- LANGKAH 4) Dapatkan keputusan ujian
Rangka kerja ujian robot
Kerangka ujian Android standard mempunyai beberapa batasan seperti di bawah
- Tidak dapat menangani pelbagai aktiviti
- Prestasi pelaksanaan ujian adalah perlahan
- Kes ujian itu kompleks & sukar dilaksanakan
Rangka kerja robot adalah pilihan yang lebih baik untuk melakukan pengujian pada aplikasi Android
Robotium adalah kerangka sumber terbuka dan dianggap sebagai lanjutan dari kerangka ujian Android. Dengan menggunakan Robotium, pembangun dapat membuat kes ujian GUI automatik yang kuat untuk aplikasi Android. Lebih-lebih lagi, pembangun dapat menulis senario ujian fungsi, sistem dan penerimaan, merangkumi pelbagai aktiviti Android.
Ciri maju Robotium
Kelas Kes Ujian Robotium
Robotium menggunakan sekumpulan kelas ( com.jayway.android.robotium.solo ) untuk ujian . Kelas ini menyokong kes ujian yang merangkumi pelbagai aktiviti. Solo disatukan dengan ActivityInstrumentationTestCase2.
Integrasi Robotium dan AktivitiInstrumentasiTestCase2
Penguji boleh menulis kes ujian tanpa pengetahuan reka bentuk aplikasi (ujian kotak hitam) dengan menggunakan kelas kes ujian Robotium. Ini adalah ciri yang luar biasa berbanding dengan kelas kes ujian Android.
Cara menggunakan Robotium
Untuk menggunakan Robotium dalam projek ujian Android anda, anda perlu mengikuti langkah-langkah di bawahMenggunakan Robotium untuk menjalankan ujian pada aplikasi Android. Untuk menjamin kualiti aplikasi Android anda, anda harus mengikuti prosedur di bawah
- Spesifikasi ujian reka bentuk
- Membangunkan program ujian
- Jalankan Uji Kes pada peranti sasaran
- Kumpulkan keputusan ujian
Prosedur ujian aplikasi Android
LANGKAH 1) Spesifikasi ujian reka bentuk
- Ini adalah langkah pertama untuk menguji aplikasi anda. Pada langkah ini anda Tentukan sasaran yang akan diuji. Dalam aplikasi Android anda, ada banyak sasaran yang perlu diuji seperti UI, Aktiviti, komponen, perkhidmatan. Menentukan sasaran dengan jelas dalam aplikasi anda akan membantu mencapai liputan ujian yang luas.
- Rancang jenis ujian yang harus dijalankan (Ujian unit, Ujian fungsional, Uji sistem).
- Reka bentuk kes ujian untuk liputan maksimum tetapi minimumkan jumlah kes ujian. Semakin banyak kod yang diuji lebih banyak kemungkinan pengesanan bug awal.
LANGKAH 2) Tulis program UJIAN
Bahagian ini membimbing anda cara menulis program ujian Android menggunakan Android Junit Test dan Robotium. Anggaplah bahawa anda sudah mengembangkan nama program Android HelloAndroid. Program ini mempunyai beberapa fungsi yang dijelaskan di bawah:
- Paparkan teks "Hello world!" pada skrin.
- Paparkan mesej HelloAndroid ketika pengguna menekan butang "Mula"
Aplikasi HelloAndroid
Keperluan Sistem
- Platform Android dilengkapi dengan rangka kerja JUnit 3.0 yang telah diintegrasikan sebelumnya.
- Untuk membuat Projek Uji Android dari Eclipse, komputer anda mesti memasang:
- Platform Android versi terkini (kini Android 8.1)
Anda boleh memuat turun Eclipse IDE dengan ADT terbina dalam (Alat Pembangun Android). Ia merangkumi komponen SDK Android yang penting dan versi Eclipse IDE.
Untuk rangka ujian Robotium, anda perlu menurunkan pustaka Robotium dari laman web Robotium.
Buat Projek Ujian Android
- Klik Fail -> Baru -> Lain-lain
- Pilih: Android -> Projek Uji Android seperti gambar di bawah -> Pilih Seterusnya
Buat projek ujian Android baru
Tulis nama projek ujian anda. Sebagai konvensyen penamaan, projek ujian anda mestilah nama "HelloAndroidTest"
Tambahkan nama projek ujian berdasarkan konvensyen penamaan
Pilih aplikasi sasaran yang sedang diuji. Dalam kes ini, ini adalah HelloAndroid klik Selesai
Pilih aplikasi sasaran yang sedang diuji
Buat Uji Suara
Berdasarkan spesifikasi ujian anda, anda mula membuat suite ujian untuk program ujian anda. Anda boleh memilih pelbagai rangka Ujian. Dalam tutorial ini, saya memilih kerangka ujian Android standard ActivityInstrumentationTestCase2 . Anda harus menambahkan fail perpustakaan Robotium ke direktori libs di folder projek anda sekiranya anda ingin menguji dengan rangka kerja Robotium. (Anda membuat folder lib di folder projek anda).
Kes ujian menentukan lekapan untuk menjalankan beberapa ujian. Untuk menentukan kes ujian, anda mesti mengikuti struktur program di bawah:
- Laksanakan subkelas dari
TestCase
. - Tentukan pemboleh ubah contoh yang menyimpan keadaan lekapan
- Memulakan keadaan lekapan dengan mengatasi setUp ()
- Bersihkan selepas ujian dengan mengatasi tearDown ().
Struktur program ujian
pakej com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;import com.jayway.android.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;import android.widget.TextView;kelas awam HelloAndroidTest meluaskan ActivityInstrumentationTestCase2{mActivity HelloAndroid peribadi;TextView mView peribadi;sumber String peribadiString;solo solo persendirian;HelloAndroidTest awam () {// TODO Stub konstruktor yang dihasilkan secara automatiksuper ("com.example.helloandroid", HelloAndroid.class);}@Selamatdilindungi setUp () melontarkan Pengecualian {// TODO Kaedah penjanaan automatik// super.setUp ();mActivity = this.getActivity ();solo = Solo baru (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Selamatdilindungi tearDown () melontarkan Pengecualian {// TODO Kaedah penjanaan automatik//super.tearDown ();solo.finishOpenedActivities ();}ujian kekosongan awamPersyaratan () {assertNotNull (mView);}/ * Aplikasi uji sasaran berisi paparan teks "Hello World!" * /ujian kekosongan awamSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * Uji HelloAndroid Activity pada aplikasi target ada * /ujian kekosongan awamCurrentActivity () membuang Pengecualian {solo.assertCurrentActivity ("aktiviti yang salah", HelloAndroid.class);}/ * UI Aplikasi ujian mengandungi butang "Mula" * // * hantar butang klik acara untuk menargetkan aplikasi * /ujian kekosongan awamSearchButton () membuang Pengecualian {boolean found = solo.searchButton ("Mula");solo.clickOnButton ("Mula");assertTrue (dijumpai);}}
Menambah Kes Ujian
- Dalam pakej yang sama dengan TestSuite, kami membuat kelas TestCase
- Untuk menguji aktiviti tertentu iaitu HelloAndroid, buat sejauh mana kes ujian ActivityInstrumentationTestCase2
- Di kelas ini, penguji dapat memperoleh aktiviti pengujian melalui kaedah getActivity ().
- Anda secara bebas boleh membuat ujian untuk aktiviti pengujian dengan membuat kaedah dengan nama "test + original Method Name"
- Dalam kaedah ujian, penguji dapat menggunakan fungsi Android JUnit untuk membandingkan nilai sebenar dan nilai yang diharapkan. Kaedah ini ditunjukkan di bawah.
Contoh kaedah kerangka Robotium dan Ujian Android
Suite ujian di atas mengesahkan bahawa Aplikasi GUI mesti memaparkan teks "Hello World!", Dan mengandungi nama butang "Mula".
LANGKAH 3) Ujian Larian
Setelah selesai menulis program ujian anda, jalankan ujian menggunakan langkah-langkah di bawah
- Sambungkan peranti Android ke PC anda (atau mulakan Emulator sekiranya anda tidak mempunyai peranti sebenar).
- Di IDE anda, klik kanan àJalankan Uji Unit Android
Menjalankan program ujian
Selain menjalankan ujian di IDE, anda boleh menjalankan ujian pada baris perintah. Dalam program ujian ini, pakej ujian adalah com.example.helloandroid.test. Di terminal Linux , anda boleh menggunakan perintah berikut untuk menjalankan semua ujian dalam pakej ini:
$ adb shell am instrument -w -e package com.example.helloandroid.test
LANGKAH 4) Dapatkan keputusan ujian
Setelah ujian dijalankan, anda akan mendapat keputusan ujian.
Dalam program ujian ini, 4 kaedah ujian dijalankan. Dalam kes ini, semua kes ujian dilalui.
Hasil keputusan ujian sekiranya semua kes ujian lulus
Sekiranya kes ujian gagal, output akan dipaparkan dan menunjukkan kepada anda kes ujian mana yang gagal
Hasil keputusan ujian sekiranya semua kes ujian gagal
Contoh kod sumber
Artikel ini merangkumi beberapa contoh Kod Sumber yang membantu anda memahami tutorial dengan lebih jelas dan cepat mendapatkan pengetahuan teknikal
- HelloAndroid: Aplikasi dalam ujian.
- HelloAndroidTest: Program ujian menggunakan kerangka Uji Android