เอสเพรสโซ

ใช้ Espresso เพื่อเขียนการทดสอบ UI ของ Android ที่กระชับ สวยงาม และเชื่อถือได้

ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างการทดสอบ Espresso

Kotlin

@Test
fun greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"))
    onView(withId(R.id.greet_button)).perform(click())
    onView(withText("Hello Steve!")).check(matches(isDisplayed()))
}

Java

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

API หลักมีขนาดเล็ก คาดเดาได้ และเรียนรู้ได้ง่าย และยังเปิดกว้างสำหรับ การปรับแต่งได้มากขึ้น เอสเพรสโซทดสอบความคาดหวัง การโต้ตอบ และการยืนยันสถานะ โดยไม่มีสิ่งรบกวนจากเนื้อหาสำเร็จรูป โครงสร้างพื้นฐานที่กำหนดเอง หรือรายละเอียดการนำไปใช้ที่ไม่เป็นระเบียบ

การทดสอบเอสเปรสโซทำงานได้ดีที่สุด ช่วยให้คุณไม่ต้องรอ ซิงค์ นอนหลับ และโพลที่อยู่เบื้องหลังขณะ ปรับแต่งและยืนยันแอปพลิเคชัน UI เมื่อไม่มีการใช้งาน

กลุ่มเป้าหมาย

Espresso กำหนดเป้าหมายไปยังนักพัฒนาซอฟต์แวร์ ซึ่งเชื่อว่าการทดสอบอัตโนมัติเป็น เป็นส่วนสำคัญของวงจรการพัฒนา ในขณะที่สามารถใช้กับกล่องดำได้ ความสามารถเต็มรูปแบบของ Espresso จะปลดล็อกได้โดยผู้ที่คุ้นเคยกับ ฐานของโค้ดอยู่ ภายใต้การทดสอบ

ความสามารถในการซิงค์

ทุกครั้งที่มีการเรียกใช้การทดสอบ onView() Espresso รอให้ดำเนินการหรือยืนยัน UI ที่เกี่ยวข้องจนกระทั่ง ตรงกับเงื่อนไขการซิงค์ข้อมูลต่อไปนี้

  • คิวข้อความไม่มีข้อความที่ Espresso จำเป็นต้องกระทำทันที ขั้นตอนได้
  • ไม่มีอินสแตนซ์ของ AsyncTask ที่กำลังดำเนินการอยู่ในขณะนี้ งาน
  • กำหนดโดยนักพัฒนาแอปทั้งหมด ทรัพยากรที่ไม่ได้ใช้งาน

การดำเนินการตรวจสอบเหล่านี้ ทำให้ Espresso เพิ่มความเป็นไปได้อย่างมากที่ จะมีการดำเนินการหรือการยืนยันสำหรับ UI ได้เพียงรายการเดียวในช่วงเวลาหนึ่งๆ ความสามารถนี้ ทำให้ผลการทดสอบมีความน่าเชื่อถือและน่าเชื่อถือมากขึ้น

แพ็กเกจ

  • espresso-core - มีตัวจับคู่ การดำเนินการ และ View หลักและพื้นฐาน การยืนยันของคุณ โปรดดู พื้นฐาน และ Recipes
  • espresso-web - มีทรัพยากรสำหรับการสนับสนุนของ WebView
  • espresso-idling-resource กลไกของ Espresso สำหรับการซิงค์ข้อมูลกับงานที่ทำอยู่เบื้องหลัง
  • espresso-contrib - การสนับสนุนภายนอกที่มี DatePicker การดำเนินการ RecyclerView และ Drawer การตรวจสอบการช่วยเหลือพิเศษ และ CountingIdlingResource
  • espresso-intents การขยายเวลาเพื่อตรวจสอบและระงับความตั้งใจสำหรับการทดสอบแบบแยกต่างหาก
  • espresso-remote - ตำแหน่งของฟังก์ชันการประมวลผลแบบหลากหลายของ Espresso

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับเวอร์ชันล่าสุดได้โดยอ่าน บันทึกประจำรุ่น

แหล่งข้อมูลเพิ่มเติม

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Espresso ในการทดสอบ Android โปรดดู แหล่งข้อมูลต่อไปนี้

ตัวอย่าง