Espresso Android Testing

Espresso Android Testing

Espresso is a testing framework for Android to make it easy to write reliable user interface tests — unkown

Dasar Espresso

onView(ViewMatcher)       // Finds the view          
.perform(ViewAction) // Performs an action on the view
.check(ViewAssertion); // Validates a assertion

Pengaturan Espresso

  • Atur Android Support Repository, caranya Tools>Android>SDK Manager>SDK Tools>Support Repository. Kemudian check semua daftar repository dan apply. Apply dan Ok.
  • Konfigurasi JUnit sebagai framework pengujian (Espresso dan UI Automator). JUnit adalah framework pengujian unit yang paling populer dan banyak digunakan untuk Java. Jika Anda belum memiliki JUnit, dapatkan di http://junit.org/junit4/. (Disarankan menggunakan JUnit versi 4.12).
  • Kemudian pada gradle.app tambahkan dependencies :
dependencies
androidTestCompile (‘com.android.support.test.espresso:espresso-core:2.2.2’, { exclude group: ‘com.android.support’, module: ‘support-annotations’

testCompile ‘junit:junit:4.12’

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}
  • Tambahkan JUNIT_HOME dengan cara My Computer>Properties> Advances system settings>Advanced>Environtment variables>System variables>New>…
%CLASSPATH%;%JUNIT_HOME%junit-4.12.jar;.;
  • Nonaktifkan Animasi dikarenakan animasi bersifat berat dan memperlambat kinerja sistem sehingga memungkinkan terjadinya gagal dalam pengujian. Cara menonaktifkannya yaitu ubah pengaturan pada smartphone. Settings>Developer options>Drawing>Non aktifkan Window animation scale, Transition animation scale, dan Animator duration scale. Ok.

Contoh Espresso Testing

  • Buka projek Android Studio dengan tipe Project
  • Cari direktori src/androidTest/java/com.example.package dan buka class ExampleInstrumentedTest.
  • Ubah class ExampleInstrumentedTest menjadi :
import android.support.test.InstrumentationRegistry
import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.action.ViewActions.click
import android.support.test.espresso.matcher.ViewMatchers.withId
import android.support.test.rule.ActivityTestRule
import android.support.test.runner.AndroidJUnit4
import com.app.macbook.trykotlin.activity.BangunDatarActivity

import org.junit.Test
import org.junit.runner.RunWith

import org.junit.Assert.*
import com.app.macbook.trykotlin.activity.MainActivity
import org.junit.Rule
import android.support.test.espresso.matcher.ViewMatchers.isDisplayed
import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.assertion.ViewAssertions.matches


/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ActivityInputOutputTest {

@Rule
var mActivityRule = ActivityTestRule(
BangunDatarActivity::class.java)

@Test
fun activityLaunch() {
onView(withId(R.id.btn_hitung)).perform(click())
onView(withId(R.id.tv_total)).check(matches(isDisplayed()))
}
}

@RunWith : inisialisasi kelas pengujian

@Rule : deklar semua function yang digunakan

onView : deklar semua variabel yang digunakan

  • Klik kanan pada kelas ExampleInstrumentedTest kemudian ‘Run ExampleInstrumentedTest’. Hasil pengujian akan ditampilkan di logcat. Tentunya hasil pengujian ini lebih detail jika dibandingkan dengan pengujian manual. Selesai selamat mencoba.

“Espresso Android Testing” Posted first on ” Android on Medium “
Author: Silfy Ashvia

Author: Pawan Kumar

Leave a Reply

Close Menu
%d bloggers like this:
Skip to toolbar