Framework Pengujian Espresso - Lihat Tindakan

Seperti yang dipelajari sebelumnya, tindakan tampilan mengotomatiskan semua kemungkinan tindakan yang dapat dilakukan oleh pengguna dalam aplikasi android. Espresso onView dan "onData" menyediakan metode perform , yang menerima tindakan tampilan dan memanggil / mengotomatiskan tindakan pengguna yang sesuai di lingkungan pengujian. Misalnya, "click ()" adalah tindakan tampilan, yang ketika diteruskan ke metode onView ( R.id.myButton ) .perform (click ()) , akan mengaktifkan peristiwa klik tombol (dengan id: "myButton" ) di lingkungan pengujian.

Di bab ini, mari kita pelajari tentang tindakan tampilan yang disediakan oleh framework pengujian espresso.

typeText ()

typeText () menerima satu argumen (teks) dari tipe String dan mengembalikan aksi tampilan. Tindakan tampilan yang dikembalikan mengetik teks yang disediakan ke dalam tampilan. Sebelum menempatkan teks, itu mengetuk tampilan sekali. Konten dapat ditempatkan pada posisi sewenang-wenang jika sudah berisi teks.

onView(withId(R.id.text_view)).perform(typeText("Hello World!"))

typeTextIntoFocusedView ()

typeTextIntoFocusedView () mirip dengan typeText () kecuali bahwa ini menempatkan teks tepat di sebelah posisi kursor dalam tampilan.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

replaceText ()

replaceText () mirip dengan typeText () kecuali itu menggantikan konten tampilan.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

teks bersih()

clearText () tidak memiliki argumen dan mengembalikan tindakan tampilan, yang akan menghapus teks dalam tampilan.

onView(withId(R.id.text_view)).perform(clearText())

tekan tombol()

pressKey () menerima kode kunci (misalnya KeyEvent.KEYCODE_ENTER) dan mengembalikan aksi tampilan, yang akan menekan tombol yang sesuai dengan kode kunci.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER))

pressMenuKey ()

pressMenuKey () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan menekan tombol menu perangkat keras.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER), pressMenuKey())

closeSoftKeyboard ()

closeSoftKeyboard () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan menutup keyboard, jika ada yang dibuka.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", closeSoftKeyboard())

klik()

click () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan memanggil aksi klik dari tampilan.

onView(withId(R.id.button)).perform(click())

klik dua kali()

doubleClick () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan memanggil aksi klik ganda pada tampilan.

onView(withId(R.id.button)).perform(doubleClick())

longClick ()

longClick () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan memanggil aksi klik panjang tampilan.

onView(withId(R.id.button)).perform(longClick())

pressBack ()

pressBack () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan mengklik tombol kembali.

onView(withId(R.id.button)).perform(pressBack())

pressBackUnconditionally ()

pressBackUnconditionally () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan mengklik tombol kembali dan tidak memunculkan pengecualian jika aksi tombol kembali keluar dari aplikasi itu sendiri.

onView(withId(R.id.button)).perform(pressBack())

Buka tautan()

openLink () memiliki dua argumen. Argumen pertama (teks tautan) adalah jenis Pencocokan dan merujuk teks dari tag jangkar HTML. Argumen kedua (url) adalah dari jenis Matcher dan merujuk url dari tag anchor HTML. Ini hanya berlaku untuk TextView . Ini mengembalikan aksi tampilan, yang mengumpulkan semua tag jangkar HTML yang tersedia dalam konten tampilan teks, menemukan tag jangkar yang cocok dengan argumen pertama (teks tautan) dan argumen kedua (url) dan akhirnya membuka url yang sesuai. Mari kita pertimbangkan tampilan teks yang memiliki konten sebagai -

<a href="http://www.google.com/">copyright</a>

Kemudian, tautan dapat dibuka dan diuji menggunakan kasus uji di bawah ini,

onView(withId(R.id.text_view)).perform(openLink(is("copyright"),
   is(Uri.parse("http://www.google.com/"))))

Di sini, openLink akan mendapatkan konten tampilan teks, mencari link yang memiliki hak cipta sebagai teks, www.google.com sebagai url dan membuka url di browser.

openLinkWithText ()

openLinkWithText () memiliki satu argumen, yang bisa berupa tipe ** String * atau Matcher. Ini hanyalah jalan pintas ke metode openLink *.

onView(withId(R.id.text_view)).perform(openLinkWithText("copyright"))

openLinkWithUri ()

openLinkWithUri () memiliki satu argumen, yang bisa berupa tipe String atau Matcher. Ini adalah hanya sebuah pendek memotong ke openLink metode *.

onView(withId(R.id.text_view)).perform(openLinkWithUri("http://www.google.com/"))

pressImeActionButton ()

pressImeActionButton () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan mengeksekusi set aksi dalam konfigurasi android: imeOptions . Misalnya, jika android: imeOptions sama dengan actionNext, ini akan memindahkan kursor ke kemungkinan tampilan EditText berikutnya di layar.

onView(withId(R.id.text_view)).perform(pressImeActionButton())

scrollTo ()

scrollTo () tidak memiliki argumen dan mengembalikan tindakan tampilan, yang akan menggulir scrollView yang cocok di layar.

onView(withId(R.id.scrollView)).perform(scrollTo())

geser ke bawah()

swipeDown () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan mengaktifkan aksi gesek ke bawah di layar.

onView(withId(R.id.root)).perform(swipeDown())

geser ke atas()

swipeUp () tidak memiliki argumen dan mengembalikan tindakan tampilan, yang akan mengaktifkan tindakan geser ke atas di layar.

onView(withId(R.id.root)).perform(swipeUp())

geser kanan()

swipeRight () tidak memiliki argumen dan mengembalikan tindakan tampilan, yang akan mengaktifkan tindakan geser ke kanan di layar.

onView(withId(R.id.root)).perform(swipeRight())

geser ke kiri()

swipeLeft () tidak memiliki argumen dan mengembalikan aksi tampilan, yang akan mengaktifkan aksi gesek ke kiri di layar.

onView(withId(R.id.root)).perform(swipeLeft())