เครื่องมือ Espresso Test Recorder ช่วยให้คุณสร้างการทดสอบ UI สำหรับแอปได้โดยไม่ต้องเขียนโค้ดทดสอบ การบันทึกสถานการณ์การทดสอบจะช่วยให้คุณบันทึกการโต้ตอบกับอุปกรณ์และเพิ่มข้อความยืนยันเพื่อตรวจสอบองค์ประกอบ UI ในสแนปช็อตบางรายการของแอปได้ จากนั้น Espresso Test Recorder จะใช้การบันทึกที่บันทึกไว้และสร้างการทดสอบ UI ที่เกี่ยวข้องโดยอัตโนมัติ ซึ่งคุณสามารถเรียกใช้เพื่อทดสอบแอปได้
Espresso Test Recorder จะเขียนการทดสอบโดยอิงตาม เฟรมเวิร์กการทดสอบ Espresso ซึ่งเป็น API ใน AndroidX Test Espresso API สนับสนุนให้คุณสร้างการทดสอบ UI ที่กระชับและเชื่อถือได้โดยอิงตามการกระทำของผู้ใช้ โครงสร้างนี้จะป้องกันไม่ให้การทดสอบไม่เสถียรและเพิ่มประสิทธิภาพความเร็วในการเรียกใช้การทดสอบด้วยการระบุความคาดหวัง การโต้ตอบ และข้อความยืนยันโดยไม่ต้องเข้าถึงกิจกรรมและมุมมองของแอปที่อยู่เบื้องหลังโดยตรง
ปิดภาพเคลื่อนไหวในอุปกรณ์ทดสอบ
ก่อนใช้ Espresso Test Recorder ให้ตรวจสอบว่าคุณได้ปิดภาพเคลื่อนไหวในอุปกรณ์ทดสอบแล้วเพื่อป้องกันไม่ให้เกิดผลลัพธ์ที่ไม่คาดคิด ทำตามวิธีการตั้งค่า Espresso แต่โปรดทราบว่าคุณไม่จำเป็นต้องตั้งค่าการอ้างอิงทรัพยากร Dependency ไลบรารี Espresso ด้วยตนเอง เนื่องจาก Test Recorder จะดำเนินการนี้โดยอัตโนมัติเมื่อคุณ บันทึกการบันทึก คุณต้องทำตามขั้นตอนเหล่านี้เพียงครั้งเดียวสำหรับโปรเจ็กต์ที่กำหนด
บันทึกการทดสอบ Espresso
การทดสอบ Espresso ประกอบด้วยคอมโพเนนต์หลัก 2 รายการ ได้แก่ การโต้ตอบ UI และข้อความยืนยันในองค์ประกอบ View การโต้ตอบ UI ได้แก่ การแตะและการพิมพ์ ซึ่งเป็นการกระทำที่ผู้ใช้อาจใช้เพื่อโต้ตอบกับแอป ส่วนข้อความยืนยันจะตรวจสอบการมีอยู่หรือเนื้อหาขององค์ประกอบภาพบนหน้าจอ ตัวอย่างเช่น การทดสอบ Espresso สำหรับแอปทดสอบ Notesอาจรวมถึงการโต้ตอบ UI สำหรับการคลิกปุ่มและการเขียนโน้ตใหม่ แต่จะใช้ ข้อความยืนยันเพื่อตรวจสอบการมีอยู่ของปุ่มและเนื้อหาของโน้ต
ส่วนนี้จะอธิบายวิธีสร้างคอมโพเนนต์การทดสอบทั้ง 2 รายการนี้โดยใช้ Espresso Test Recorder รวมถึงวิธีบันทึกการบันทึกที่เสร็จสมบูรณ์เพื่อสร้างการทดสอบ
บันทึกการโต้ตอบ UI
หากต้องการเริ่มบันทึกการทดสอบด้วย Espresso Test Recorder ให้ทำดังนี้
- คลิกเรียกใช้> บันทึกการทดสอบ Espresso
- ในหน้าต่างเลือกเป้าหมายการติดตั้งใช้งาน ให้เลือกอุปกรณ์ ที่ต้องการบันทึกการทดสอบ สร้างอุปกรณ์เสมือน Android ใหม่หากจำเป็น คลิกตกลง
- Espresso Test Recorder จะทริกเกอร์บิลด์ของโปรเจ็กต์ และแอปต้องติดตั้งและเปิดตัวก่อนที่ Espresso Test Recorder จะอนุญาตให้คุณโต้ตอบกับแอป หน้าต่างบันทึกการทดสอบ จะปรากฏขึ้นหลังจากที่แอปเปิดตัว และ เนื่องจากคุณยังไม่ได้โต้ตอบกับอุปกรณ์ แผงหลักจึงแสดงข้อความว่า "ยังไม่มีการบันทึกเหตุการณ์" โต้ตอบกับอุปกรณ์เพื่อเริ่มบันทึกเหตุการณ์ต่างๆ เช่น "แตะ" และ "พิมพ์"
หมายเหตุ: ก่อนที่จะเริ่มบันทึกการโต้ตอบ คุณอาจเห็น กล่องโต้ตอบในอุปกรณ์ที่ระบุว่า "กำลังรอดีบักเกอร์" หรือ "กำลังแนบดีบักเกอร์" Espresso Test Recorder ใช้ดีบักเกอร์เพื่อบันทึกเหตุการณ์ UI เมื่อดีบักเกอร์แนบแล้ว กล่องโต้ตอบจะปิดโดยอัตโนมัติ โปรดอย่าคลิกบังคับปิด
การโต้ตอบที่บันทึกไว้จะปรากฏในแผงหลักในหน้าต่างบันทึกการทดสอบ ดังที่แสดงในรูปที่ 1 ด้านล่าง เมื่อคุณเรียกใช้การทดสอบ การทดสอบ Espresso จะพยายามดำเนินการเหล่านี้ตามลำดับเดียวกัน
รูปที่ 1 หน้าต่างบันทึกการทดสอบ ที่มีการโต้ตอบ UI ที่บันทึกไว้
เพิ่มข้อความยืนยันเพื่อตรวจสอบองค์ประกอบ UI
ข้อความยืนยันจะตรวจสอบการมีอยู่หรือเนื้อหาขององค์ประกอบ View ผ่าน 3 ประเภทหลัก ได้แก่
- ข้อความคือ: ตรวจสอบเนื้อหาข้อความขององค์ประกอบ View ที่เลือก
- มีอยู่: ตรวจสอบว่าองค์ประกอบ View ปรากฏในลำดับชั้น View ปัจจุบัน ที่แสดงบนหน้าจอ
- ไม่มีอยู่: ตรวจสอบว่าองค์ประกอบ View ไม่ปรากฏในลำดับชั้น View ปัจจุบัน
หากต้องการเพิ่มข้อความยืนยันในการทดสอบ ให้ทำดังนี้
- คลิกเพิ่มข้อความยืนยัน กล่องโต้ตอบการจับภาพหน้าจอ จะปรากฏขึ้นขณะที่ Espresso ดึงข้อมูลลำดับชั้น UI และข้อมูลอื่นๆ เกี่ยวกับสถานะแอปปัจจุบัน กล่องโต้ตอบจะปิดโดยอัตโนมัติเมื่อ Espresso จับภาพหน้าจอแล้ว
- เลย์เอาต์ของหน้าจอปัจจุบันจะปรากฏในแผงทางด้านขวาของ หน้าต่างบันทึกการทดสอบ หากต้องการเลือกองค์ประกอบ View ที่จะสร้างข้อความยืนยัน ให้คลิกองค์ประกอบในภาพหน้าจอ หรือใช้เมนูแบบเลื่อนลงแรกในช่องแก้ไขข้อความยืนยัน ที่ ด้านล่างของหน้าต่าง ออบเจ็กต์ View ที่เลือกจะไฮไลต์ในกรอบสีแดง
- เลือกข้อความยืนยันที่ต้องการใช้จากเมนูแบบเลื่อนลงที่ 2 ใน
แก้ไขข้อความยืนยัน ช่อง Espresso จะป้อนข้อความยืนยันที่ถูกต้องสำหรับองค์ประกอบ View ที่เลือกในเมนู
- หากคุณเลือกข้อความยืนยัน "ข้อความคือ" Espresso จะแทรกข้อความที่อยู่ในองค์ประกอบ View ที่เลือกโดยอัตโนมัติ คุณสามารถแก้ไขข้อความให้ตรงกับ ข้อความยืนยันที่ต้องการได้โดยใช้ช่องข้อความในช่องแก้ไขข้อความยืนย1น
- คลิกบันทึกและเพิ่มอีกรายการ เพื่อสร้างข้อความยืนยันอื่น หรือ คลิกบันทึกข้อความยืนยัน เพื่อปิดแผงข้อความยืนยัน
ภาพหน้าจอในรูปที่ 2 แสดงข้อความยืนยัน "ข้อความคือ" ที่สร้างขึ้นเพื่อยืนยันว่าชื่อของโน้ตคือ "Happy Testing!"
รูปที่ 2 ช่องแก้ไขข้อความยืนยัน หลังจากเลือกองค์ประกอบ View (สีแดง)
ขณะสร้างข้อความยืนยัน คุณสามารถโต้ตอบกับแอปต่อไปได้ แม้ว่าแผงข้อความยืนยันจะยังเปิดอยู่ภายในหน้าต่างบันทึกการทดสอบ Espresso Test Recorder จะบันทึกการกระทำของคุณต่อไป แต่ข้อความยืนยันที่คุณกำลังแก้ไขจะปรากฏก่อนการโต้ตอบเหล่านี้เมื่อบันทึกแล้ว ภาพหน้าจอสำหรับข้อความยืนยันจะยังคงเลย์เอาต์ที่อุปกรณ์หรือโปรแกรมจำลองมีอยู่เมื่อคุณคลิกปุ่มเพิ่มข้อความยืนยัน
บันทึกการบันทึก
เมื่อโต้ตอบกับแอปและเพิ่มข้อความยืนยันเสร็จแล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อบันทึกการบันทึกและสร้างการทดสอบ Espresso
- คลิกบันทึกเสร็จสมบูรณ์ หน้าต่างเลือกชื่อคลาสทดสอบสำหรับการทดสอบ จะปรากฏขึ้น
- Espresso Test Recorder จะตั้งชื่อที่ไม่ซ้ำให้การทดสอบภายในแพ็กเกจ
โดยอิงตามชื่อของกิจกรรมที่เปิดตัว ใช้ช่องข้อความชื่อคลาส
ทดสอบ หากต้องการเปลี่ยนชื่อที่แนะนำ คลิก
บันทึก.
- หากคุณไม่ได้เพิ่มการพึ่งพา Espresso ลงในแอป กล่องโต้ตอบ
การพึ่งพา Espresso ที่ขาดหายไป จะปรากฏขึ้นเมื่อคุณพยายาม
บันทึกการทดสอบ คลิกใช่ เพื่อเพิ่มการพึ่งพาลงในไฟล์
build.gradleโดยอัตโนมัติ
- หากคุณไม่ได้เพิ่มการพึ่งพา Espresso ลงในแอป กล่องโต้ตอบ
การพึ่งพา Espresso ที่ขาดหายไป จะปรากฏขึ้นเมื่อคุณพยายาม
บันทึกการทดสอบ คลิกใช่ เพื่อเพิ่มการพึ่งพาลงในไฟล์
- ระบบจะเปิดไฟล์โดยอัตโนมัติหลังจากที่ Espresso Test Recorder สร้างไฟล์ และ
Android Studio จะแสดงคลาสทดสอบเป็นคลาสที่เลือกในหน้าต่างโปรเจ็กต์
ของ IDE
- ตำแหน่งที่บันทึกการทดสอบจะขึ้นอยู่กับตำแหน่งของรูทการทดสอบการวัดประสิทธิภาพ รวมถึงชื่อแพ็กเกจของกิจกรรมที่เปิดตัว ตัวอย่างเช่น การทดสอบสำหรับ แอปทดสอบ Notes จะบันทึกในโฟลเดอร์ src > androidTest > java > com.example.username.appname ของ โมดูลแอปที่คุณบันทึกการทดสอบ
เรียกใช้การทดสอบ Espresso ภายในเครื่อง
หากต้องการเรียกใช้การทดสอบ Espresso ให้ใช้หน้าต่างโปรเจ็กต์
ทางด้านซ้ายของ
Android Studio IDE
- เปิดโฟลเดอร์โมดูลแอปที่ต้องการ แล้วไปที่การทดสอบที่ต้องการเรียกใช้
ตำแหน่งของการทดสอบจะขึ้นอยู่กับตำแหน่งของรูทการทดสอบการวัดประสิทธิภาพ
และชื่อแพ็กเกจของกิจกรรมที่เปิดตัว ตัวอย่างต่อไปนี้
แสดงตำแหน่งที่ระบบจะบันทึกการทดสอบสำหรับแอปทดสอบ Notes:
- หากคุณใช้Android มุมมอง ภายในหน้าต่าง ให้ไปที่ java > com.example.username.appname (androidTest)
- หากคุณใช้มุมมองโปรเจ็กต์ ภายในหน้าต่าง ให้ไปที่ src > androidTest > java > com.example.username.appname ภายใน โฟลเดอร์โมดูล
- คลิกขวาที่การทดสอบ แล้วคลิกเรียกใช้ 'testName'
- หรือคุณจะเปิดไฟล์ทดสอบแล้วคลิกขวาที่คลาสหรือเมธอดทดสอบที่สร้างขึ้นก็ได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเรียกใช้การทดสอบได้ในหน้าทดสอบ แอป
- ในหน้าต่างเลือกเป้าหมายการติดตั้งใช้งาน ให้เลือกอุปกรณ์ ที่ต้องการเรียกใช้การทดสอบ สร้างอุปกรณ์เสมือน Android ใหม่หากจำเป็น คลิกตกลง
ตรวจสอบความคืบหน้าของการทดสอบในหน้าต่างเรียกใช้ ที่ด้านล่างของ IDE Android Studio จะสร้างโปรเจ็กต์ทั้งหมดและเปิดแท็บที่มีชื่อการทดสอบในหน้าต่างเรียกใช้ ดังที่แสดงในรูปที่ 3 คุณสามารถตรวจสอบว่าการทดสอบผ่านหรือไม่ผ่านในแท็บนี้ รวมถึงระยะเวลาที่ใช้ในการเรียกใช้การทดสอบ เมื่อการทดสอบเสร็จสิ้น แท็บจะบันทึกข้อความว่า "การทดสอบเสร็จสมบูรณ์"
รูปที่ 3 ตัวอย่างเอาต์พุตในหน้าต่างเรียกใช้ หลังจากเรียกใช้การทดสอบ Espresso ภายในเครื่อง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเขียนการกำหนดค่าการเรียกใช้การทดสอบได้ในส่วน "การกำหนดค่าการทดสอบสำหรับ คลาสหรือเมธอด" ใน สร้างและแก้ไข การกำหนดค่าการเรียกใช้/การดีบัก
เรียกใช้การทดสอบ Espresso ด้วย Firebase Test Lab สำหรับ Android
คุณสามารถใช้การทดสอบที่สร้างโดย Espresso Test Recorder กับ Firebase Test Lab เพื่อทดสอบ แอปในระบบคลาวด์ในการกำหนดค่าอุปกรณ์หลายร้อยรายการ การทดสอบแอปด้วย Test Lab ภายใน โควต้าฟรีรายวันในแพ็กเกจ Sparkไม่มีค่าใช้จ่าย หากต้องการเรียกใช้การทดสอบ Espresso ด้วย Firebase Test Lab, สร้างโปรเจ็กต์ Firebase สำหรับแอป แล้วทำตามวิธีการเพื่อ เรียกใช้การทดสอบด้วย Firebase Test Lab จาก Android Studio
รูปที่ 4 ตัวอย่างเอาต์พุตในหน้าต่างเรียกใช้ หลังจากเรียกใช้การทดสอบด้วย Firebase Test Lab ในอุปกรณ์หลายเครื่อง