ใช้ 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
หลักและพื้นฐาน การยืนยันของคุณ โปรดดู พื้นฐาน และ Recipesespresso-web
- มีทรัพยากรสำหรับการสนับสนุนของWebView
espresso-idling-resource
กลไกของ Espresso สำหรับการซิงค์ข้อมูลกับงานที่ทำอยู่เบื้องหลังespresso-contrib
- การสนับสนุนภายนอกที่มีDatePicker
, การดำเนินการRecyclerView
และDrawer
การตรวจสอบการช่วยเหลือพิเศษ และCountingIdlingResource
espresso-intents
การขยายเวลาเพื่อตรวจสอบและระงับความตั้งใจสำหรับการทดสอบแบบแยกต่างหากespresso-remote
- ตำแหน่งของฟังก์ชันการประมวลผลแบบหลากหลายของ Espresso
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับเวอร์ชันล่าสุดได้โดยอ่าน บันทึกประจำรุ่น
แหล่งข้อมูลเพิ่มเติม
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Espresso ในการทดสอบ Android โปรดดู แหล่งข้อมูลต่อไปนี้
ตัวอย่าง
- ตัวอย่างโค้ด Espresso มีตัวอย่างเอสเปรสโซให้เลือกทั้งหมด
- BasicSample: ตัวอย่างเอสเปรสโซพื้นฐาน
- (เพิ่มเติม...)