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

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

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

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

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

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

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

  • การดำเนินการ: จำนวนการดำเนินการทั้งหมดที่ทำระหว่างการ Crawl ซึ่งรวมถึงการดำเนินการของสคริปต์ Robo, การดำเนินการของ Monkey และคำสั่ง 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 Actions เพื่อทดสอบหน้าจอดังกล่าว การดำเนินการ Monkey จะจำลองเหตุการณ์การแตะในตำแหน่งกึ่งสุ่มบนหน้าจอของอุปกรณ์ ซึ่งต่างจากการดำเนินการทดสอบ Robo ที่เป็นระบบมากกว่า

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

การผสานรวมกับ 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 ให้กับแอปของคุณเป็น Android ACTION_VIEW Intent ดังนั้น แต่ละลิงก์ต้องตรงกับตัวกรอง 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

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