ทำการทดสอบ Robo (Android)

การทดสอบ Robo เป็นเครื่องมือทดสอบที่ผสานรวมกับ Firebase Test Lab การทดสอบ Robo จะวิเคราะห์โครงสร้างของอินเทอร์เฟซผู้ใช้ (UI) ของแอป จากนั้น จะสำรวจอย่างเป็นระบบโดยจำลองกิจกรรมของผู้ใช้โดยอัตโนมัติ การทดสอบ Robo จะจำลองกิจกรรมของผู้ใช้เดียวกันตามลำดับเดียวกันเสมอเมื่อคุณใช้เพื่อ ทดสอบแอปในการกำหนดค่าอุปกรณ์ที่เฉพาะเจาะจงด้วยการตั้งค่าเดียวกัน แนวทางการทดสอบที่ทำซ้ำได้นี้ช่วยให้คุณใช้การทดสอบ Robo เพื่อตรวจสอบการแก้ไขข้อบกพร่องและทดสอบการถดถอยได้

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

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

หากต้องการลองใช้ Robo เวอร์ชันเบต้าสำหรับ iOS+ โปรดดูเรียกใช้ Robo Test

สถิติการ Crawl ของการทดสอบ Robo

การทดสอบ Robo จะบันทึกสถิติระหว่างการ Crawl แต่ละครั้งเพื่อช่วยให้คุณตีความผลการทดสอบ Robo ได้ Test Lab จะแสดงสถิติที่ด้านบนของแท็บการทดสอบ Robo ในหน้าผลการทดสอบ

  • การดำเนินการ: จำนวนการดำเนินการทั้งหมดที่ทำระหว่างการ Crawl รวมถึงการดำเนินการของสคริปต์ Robo, การดำเนินการแบบสุ่ม และคำสั่ง Robo

  • กิจกรรม: จำนวนกิจกรรมที่ไม่ซ้ำกันที่ครอบคลุมระหว่างการ Crawl

  • หน้าจอ: จำนวนหน้าจอที่ไม่ซ้ำกันที่เข้าชมระหว่างการ Crawl

Test Lab ยังใช้สถิติเพื่อสร้างการแสดงข้อมูลผ่านภาพของการทดสอบ Robo ในรูปแบบของกราฟการ Crawl กราฟมีหน้าจอเป็นโหนดและ การดำเนินการเป็นขอบ การดูขอบระหว่างหน้าจอจะช่วยให้คุณทราบ วิธีที่การทดสอบ Robo ข้ามผ่านแอปของคุณตลอดการ Crawl

การทดสอบ Robo หมดเวลา

การทดสอบ Robo อาจใช้เวลา 5 นาทีขึ้นไปในการโต้ตอบ UI อย่างละเอียด ทั้งนี้ขึ้นอยู่กับความซับซ้อนของ UI ของแอป เรา ขอแนะนำให้ตั้งค่าการหมดเวลาทดสอบเป็นอย่างน้อย 120 วินาที (2 นาที) สำหรับแอปส่วนใหญ่ และ 300 วินาที (5 นาที) สำหรับแอปที่มีความซับซ้อนปานกลาง ค่าเริ่มต้น สำหรับระยะหมดเวลาคือ 300 วินาที (5 นาที) สำหรับการทดสอบที่เรียกใช้จาก Android Studio และ Firebase คอนโซล และ 900 วินาที (15 นาที) สำหรับการทดสอบที่เรียกใช้จาก gcloud บรรทัดคำสั่ง

ข้อผิดพลาดการหมดเวลาในการเริ่มต้นแอป

หากแอปใช้เวลานานในการเริ่มต้นการทดสอบ Robo อาจแสดงข้อผิดพลาดและไม่สามารถ ทำการ Crawl แอปได้ กรณีนี้จะเกิดขึ้นเฉพาะในกรณีที่ใช้เวลานานมากในการเริ่มต้น และแก้ไขได้โดยการแก้ไขแอปให้เริ่มต้นเร็วขึ้นเท่านั้น

ควบคุมได้มากขึ้นด้วยสคริปต์ Robo

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

การทดสอบ Robo และวิดเจ็ต UI ที่ไม่ใช่ Android

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

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

หากต้องการทดสอบหน้าจอที่ไม่ได้ใช้วิดเจ็ต UI ของ Android ให้ดียิ่งขึ้น คุณสามารถแทนที่ การแตะแบบสุ่มของ Monkey Action ด้วยชุดการแตะและการโต้ตอบที่เขียนสคริปต์ไว้ ผ่านFirebase Test Labการทดสอบ Game Loop ได้

การผสานรวมกับ Google Play

คุณใช้การทดสอบ Robo ใน Google Play Console ได้เมื่ออัปโหลดและ เผยแพร่ไฟล์ APK ของแอปโดยใช้ช่องอัลฟ่าหรือเบต้า การทดสอบ Robo ทํางานบนชุดอุปกรณ์จริงยอดนิยมจากสถานที่ทางภูมิศาสตร์ต่างๆ จึงให้ความครอบคลุมการทดสอบในรูปแบบและฮาร์ดแวร์ที่หลากหลาย ดูข้อมูลเพิ่มเติมได้ที่ใช้รายงานก่อนการเปิดตัวเพื่อระบุปัญหา

ทดสอบการลงชื่อเข้าใช้บัญชีและการป้อนข้อความที่กำหนดไว้ล่วงหน้า

การทดสอบ Robo รองรับการลงชื่อเข้าใช้บัญชีทดสอบ และยังช่วยให้คุณป้อนข้อความที่กำหนดไว้ล่วงหน้าลงในช่องต่างๆ ในแอปได้ด้วย สำหรับการลงชื่อเข้าใช้ที่กำหนดเองและการป้อนข้อความอื่นๆ ที่กำหนดไว้ล่วงหน้า การทดสอบ Robo สามารถป้อนข้อความลงในช่อง EditText ในแอปได้ สำหรับแต่ละสตริง คุณต้องระบุช่อง EditText โดยใช้ชื่อทรัพยากร Android ดูข้อมูลเพิ่มเติมได้ที่ การเข้าถึงทรัพยากร

ลงชื่อเข้าใช้

การทดสอบ Robo มี 2 วิธีที่ใช้แทนกันได้เพื่อรองรับการลงชื่อเข้าใช้

  • การลงชื่อเข้าใช้ที่กำหนดเอง: หากระบุข้อมูลเข้าสู่ระบบของบัญชีทดสอบ คุณต้องบอก การทดสอบ Robo ว่าจะป้อนข้อมูลเข้าสู่ระบบที่ใด และต้องระบุข้อมูลเข้าสู่ระบบเหล่านั้นด้วย

  • การลงชื่อเข้าใช้โดยอัตโนมัติ: หากคุณไม่ได้ระบุข้อมูลเข้าสู่ระบบของบัญชีทดสอบสำหรับการลงชื่อเข้าใช้ที่กำหนดเอง ระบบจะใช้การลงชื่อเข้าใช้โดยอัตโนมัติ การทดสอบ Robo สามารถลงชื่อเข้าใช้แอปที่สร้างด้วยวิดเจ็ต Android มาตรฐานหรือแอปพลิเคชัน Compose โดยอัตโนมัติได้โดยใช้บัญชีทดสอบ Google

หากต้องการระบุข้อมูลเข้าสู่ระบบของบัญชีทดสอบสำหรับการลงชื่อเข้าใช้ที่กำหนดเอง ให้ทำดังนี้

  1. ในหน้าเลือกมิติข้อมูล ให้เลือกตัวเลือกเพิ่มเติม

  2. ในส่วนข้อมูลเข้าสู่ระบบของบัญชีทดสอบ (ไม่บังคับ) ให้ป้อนชื่อทรัพยากรชื่อผู้ใช้และรหัสผ่าน รวมถึงชื่อผู้ใช้และรหัสผ่านสำหรับบัญชีทดสอบ

การป้อนข้อความที่กำหนดไว้ล่วงหน้า

คุณสามารถระบุข้อความอินพุตที่กำหนดเองสำหรับช่องข้อความอื่นๆ ที่แอปใช้ได้ หากต้องการระบุข้อความอินพุตสำหรับช่องเพิ่มเติม ให้ทำดังนี้

  1. ในหน้าเลือกมิติข้อมูล ให้เลือกตัวเลือกเพิ่มเติม

  2. ในส่วนฟิลด์เพิ่มเติม (ไม่บังคับ) ให้ป้อนชื่อทรัพยากรอย่างน้อย 1 รายการ และ สตริงที่จะป้อนในช่องข้อความที่เกี่ยวข้อง

ข้อผิดพลาดของอินพุตข้อความที่กำหนดไว้ล่วงหน้า {:#predefined-text}

การทดสอบ Robo จะค้นหาEditTextฟิลด์ที่มีชื่อทรัพยากร Android ซึ่ง ตรงกับนิพจน์ทั่วไปที่ระบุ หาก Robo ไม่พบช่องที่ตรงกัน ระบบจะไม่ป้อนข้อความ แต่จะทำการ Crawl ต่อไปตามปกติ

คุณระบุ Deep Link ได้สูงสุด 3 รายการ ที่แอปของคุณรองรับเพื่อใช้ในการทดสอบ Deep Link จะออกให้แอปของคุณเป็น Intent ของ Android ACTION_VIEW ดังนั้นแต่ละลิงก์ต้องตรงกับตัวกรอง Intent ในแอป

หากระบุ Deep Link อย่างน้อย 1 รายการ ระบบจะเปิดแอปตามปกติก่อน (ใช้ Intent ACTION_MAIN) และทำการ Crawl จนถึงการหมดเวลาที่ระบุ หลังจากการ Crawl หลัก ระบบจะทำการ Crawl Deep Link แต่ละรายการเพิ่มเติมอีก 30 วินาที

หากการทดสอบ Robo ไม่พบกิจกรรมที่ตรงกับ Deep Link Test Lab ระบบจะไม่สนใจลิงก์ โดยปกติแล้ว ปัญหาเกี่ยวกับ Deep Link เกิดจากความคลาดเคลื่อน ระหว่าง Deep Link ที่ระบุกับคำจำกัดความในแอปของคุณ โปรดตรวจสอบทั้ง URL ที่ระบุและแอปของคุณเพื่อหาการพิมพ์ผิดหรือความไม่สอดคล้องอื่นๆ

การสนับสนุนด้านการอนุญาตให้ใช้สิทธิแอป

Test Lab รองรับแอปที่ใช้บริการการอนุญาตให้ใช้สิทธิแอป ที่ Google Play นำเสนอ หากต้องการตรวจสอบการอนุญาตให้ใช้สิทธิเมื่อทดสอบ แอปด้วย Test Lab ให้สำเร็จ คุณต้องเผยแพร่แอปไปยังแชแนลเวอร์ชันที่ใช้งานจริง ใน Play Store หากต้องการทดสอบแอปในช่องอัลฟ่าหรือเบต้าโดยใช้ Test Lab ให้นำการตรวจสอบการอนุญาตให้ออกก่อนอัปโหลดแอปไปยัง Test Lab

ขั้นตอนถัดไป