เอสเพรสโซ

ใช้ 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 โปรดดู แหล่งข้อมูลต่อไปนี้

ตัวอย่าง