เรียกใช้การทดสอบ Robo (Android)

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

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

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

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

สถิติการรวบรวมข้อมูลการทดสอบ Robo

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

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

  • กิจกรรม: จำนวนกิจกรรมที่แตกต่างกันซึ่งครอบคลุมระหว่างการรวบรวมข้อมูล

  • หน้าจอ: จำนวนหน้าจอที่แตกต่างกันที่เข้าชมระหว่างการรวบรวมข้อมูล

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

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

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

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

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

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

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

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

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

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

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

บูรณาการกับ Google Play

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

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

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

เข้าสู่ระบบ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การสนับสนุนการออกใบอนุญาตแอป

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

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