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

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

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

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

หากต้องการลองใช้ Robo รุ่นเบต้าสำหรับ iOS ขึ้นไป โปรดดูเรียกใช้การทดสอบ Robo

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

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

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

  • กิจกรรม: จํานวนกิจกรรมที่แตกต่างกันที่ครอบคลุมระหว่างการ Crawl

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

Test Lab ยังใช้สถิติเพื่อสร้างภาพการทดสอบด้วย Roboast ในรูปแบบกราฟการ Crawl ด้วย กราฟมีหน้าจอเป็นโหนดและ เป็นขอบ การติดตามขอบระหว่างหน้าจอจะช่วยให้คุณทราบคร่าวๆ ว่า Robo Test ไปยังส่วนต่างๆ ของแอปอย่างไรตลอดการ 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 จะกลับมาใช้งานอีกครั้ง การดำเนินการแบบสุ่มเพื่อทดสอบหน้าจอนั้น ซึ่งแตกต่างจากการดําเนินการทดสอบ Robo ที่เป็นแบบเป็นขั้นตอนมากกว่า Monkey Actions จะจําลองเหตุการณ์การแตะในตําแหน่งแบบสุ่มบางส่วนบนหน้าจอของอุปกรณ์

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

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

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

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

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

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

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

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

  • ลงชื่อเข้าใช้โดยอัตโนมัติ: หากแอปมีหน้าจอลงชื่อเข้าใช้ที่ใช้บัญชี Google สำหรับการตรวจสอบสิทธิ์ การทดสอบ Robo จะใช้บัญชีทดสอบของ 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 รายการ แอปจะเปิดขึ้นมาครั้งแรก ตามปกติ (โดยใช้ ACTION_MAIN Intent) และทำการ Crawl จนถึงระยะหมดเวลาที่ระบุไว้ หลังจากทำการ Crawl หลักแล้ว ระบบจะทำการ Crawl Deep Link แต่ละรายการเป็นเวลา 30 วินาที

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

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

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

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