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

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

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

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

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

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

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

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

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

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

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

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

การทดสอบ Robo อาจใช้เวลาอย่างน้อย 5 นาทีเพื่อดำเนินการกับชุดการโต้ตอบกับ UI ที่สมบูรณ์ ทั้งนี้ขึ้นอยู่กับความซับซ้อนของ 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 เพื่อดำเนินการในวิดเจ็ต UI ของ Android โดยตรง วิธีนี้ช่วยให้การทดสอบสำรวจ UI ของคุณได้โดยอัตโนมัติ แต่ก็หมายความว่าผู้ทดสอบต้องสามารถแยกลำดับชั้น UI ของ Android สำหรับหน้าจอเพื่อทำการทดสอบ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

หากมี Deep Link อย่างน้อย 1 รายการ ระบบจะเปิดแอปครั้งแรกตามปกติ (โดยใช้ความตั้งใจ ACTION_MAIN) และทำการ 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

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