ใช้ 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: ตัวอย่างเอสเปรสโซพื้นฐาน
- (เพิ่มเติม...)