การทดสอบ Robo เป็นเครื่องมือทดสอบที่ผสานรวมกับ Firebase Test Lab การทดสอบด้วยหุ่นยนต์จะวิเคราะห์โครงสร้างของอินเทอร์เฟซผู้ใช้ (UI) ของแอป จากนั้นจะสำรวจอย่างเป็นระบบโดยจำลองกิจกรรมของผู้ใช้โดยอัตโนมัติ การทดสอบด้วย Robo จะจำลองกิจกรรมของผู้ใช้แบบเดิมตามลำดับเดิมเสมอเมื่อคุณใช้เพื่อทดสอบแอปในการกำหนดค่าอุปกรณ์ที่เฉพาะเจาะจงด้วยการตั้งค่าเดียวกัน แนวทางการทดสอบแบบทําซ้ำนี้ช่วยให้คุณใช้การทดสอบ Robo เพื่อตรวจสอบการแก้ไขข้อบกพร่องและทดสอบหาการเกิดซ้ำได้
การทดสอบด้วยหุ่นยนต์จะบันทึกไฟล์บันทึก บันทึกภาพหน้าจอที่มีคำอธิบายประกอบชุดหนึ่ง แล้วสร้างวิดีโอจากภาพหน้าจอเหล่านั้นเพื่อแสดงการดำเนินการของผู้ใช้จำลองที่ดำเนินการ บันทึก ภาพหน้าจอ และวิดีโอเหล่านี้จะช่วยคุณระบุสาเหตุของข้อขัดข้องของแอป ฟีเจอร์การทดสอบด้วยหุ่นยนต์เหล่านี้ยังช่วยค้นหาปัญหาเกี่ยวกับ UI ของแอปได้ด้วย
นอกเหนือจากการทดสอบ Robo แบบปกติแล้ว คุณยังปรับแต่งการทดสอบได้โดยใช้สคริปต์ Robo ซึ่งเป็นฟีเจอร์ของการทดสอบ Robo ดูข้อมูลเพิ่มเติมได้ที่เรียกใช้สคริปต์ Robo
หากต้องการลองใช้ Robo รุ่นเบต้าสำหรับ iOS ขึ้นไป โปรดดูเรียกใช้การทดสอบ Robo
สถิติการ Crawl ของการทดสอบ Robo
การทดสอบ Robo จะบันทึกสถิติระหว่างการ Crawl การทดสอบแต่ละครั้งเพื่อช่วยให้คุณตีความผลการทดสอบได้ Test Lab จะแสดงสถิติที่ด้านบนสุดของแท็บการทดสอบ Robo ในหน้าผลการค้นหาของคุณ
การดําเนินการ: จํานวนการดําเนินการทั้งหมดที่ทําระหว่างการ Crawl ซึ่งรวมถึงการดําเนินการของสคริปต์ Robo, การดําเนินการของ Monkey และคําแนะนําสําหรับ Robo
กิจกรรม: จํานวนกิจกรรมที่แตกต่างกันที่ครอบคลุมระหว่างการ 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 จะเปลี่ยนไปใช้การดําเนินการของ Monkey เพื่อทดสอบหน้าจอนั้น การดำเนินการของ Monkey เป็นการจําลองเหตุการณ์การแตะในตําแหน่งแบบสุ่มบางส่วนบนหน้าจอของอุปกรณ์ ซึ่งแตกต่างจากการดําเนินการทดสอบ Robo ที่ใช้วิธีการที่เป็นระบบมากขึ้น
คุณสามารถแทนที่การแตะ Monkey Action ที่กำหนดเองด้วยชุดการแตะและการโต้ตอบตามสคริปต์ ผ่าน Firebase Test Lab Game Loop Tests เพื่อทดสอบหน้าจอที่ไม่ได้ใช้วิดเจ็ต UI ของ Android ได้ดียิ่งขึ้น
การผสานรวมกับ Google Play
คุณสามารถใช้การทดสอบด้วย Robo ใน Google Play Console เมื่ออัปโหลดและเผยแพร่ไฟล์ APK ของแอปโดยใช้ช่องทางอัลฟ่าหรือเบต้า การทดสอบ Robo ทำงานด้วยชุดอุปกรณ์จริงยอดนิยมจากสถานที่ตั้งทางภูมิศาสตร์ต่างๆ ทำให้การทดสอบครอบคลุมอุปกรณ์รูปแบบต่างๆ และการกำหนดค่าฮาร์ดแวร์ที่หลากหลาย ดูข้อมูลเพิ่มเติมได้ที่ใช้รายงานก่อนการเปิดตัวเพื่อระบุปัญหา
ทดสอบการลงชื่อเข้าใช้บัญชีและการป้อนข้อความที่กำหนดไว้ล่วงหน้า
การทดสอบ Robo รองรับการลงชื่อเข้าใช้บัญชีทดสอบ และให้คุณป้อนข้อความที่กําหนดไว้ล่วงหน้าในช่องของแอปได้ สําหรับการลงชื่อเข้าใช้ที่กําหนดเองและอินพุตข้อความที่กําหนดไว้ล่วงหน้าอื่นๆ การทดสอบ Robo จะป้อนข้อความลงในช่อง EditText
ในแอปได้ สําหรับสตริงแต่ละรายการ คุณต้องระบุช่อง EditText
โดยใช้ชื่อทรัพยากร Android ดูข้อมูลเพิ่มเติมได้ที่การเข้าถึงทรัพยากร
ลงชื่อเข้าใช้
การทดสอบ Robo มีวิธีรองรับการลงชื่อเข้าใช้ 2 วิธีแยกกันต่างหาก ดังนี้
การลงชื่อเข้าใช้ที่กําหนดเอง: หากระบุข้อมูลเข้าสู่ระบบของบัญชีทดสอบ คุณต้องบอกการทดสอบ Robo ว่าจะป้อนข้อมูลเข้าสู่ระบบที่ใด รวมถึงระบุข้อมูลเข้าสู่ระบบเหล่านั้นด้วย
การลงชื่อเข้าใช้โดยอัตโนมัติ: หากแอปมีหน้าจอลงชื่อเข้าใช้ที่ใช้บัญชี Google สำหรับการรับรองความถูกต้อง การทดสอบ Robo จะใช้บัญชีทดสอบ Google เว้นแต่คุณจะระบุข้อมูลเข้าสู่ระบบของบัญชีทดสอบสำหรับการลงชื่อเข้าใช้ที่กำหนดเอง
หากต้องการระบุข้อมูลเข้าสู่ระบบบัญชีทดสอบสำหรับการลงชื่อเข้าใช้ที่กำหนดเอง ให้ทำดังนี้
ในหน้าเลือกมิติข้อมูล ให้เลือกตัวเลือกเพิ่มเติม
ภายใต้ข้อมูลรับรองของบัญชีทดสอบ (ไม่บังคับ) ให้ป้อนชื่อผู้ใช้และชื่อทรัพยากรรหัสผ่าน รวมถึงชื่อผู้ใช้และรหัสผ่านของบัญชีทดสอบ
การป้อนข้อความที่กําหนดไว้ล่วงหน้า
คุณสามารถระบุข้อความอินพุตที่กำหนดเองสำหรับช่องข้อความอื่นๆ ที่แอปใช้ หากต้องการระบุอินพุตข้อความสำหรับช่องเพิ่มเติม ให้ทำดังนี้
ในหน้าเลือกมิติข้อมูล ให้เลือกตัวเลือกเพิ่มเติม
ในส่วนช่องเพิ่มเติม (ไม่บังคับ) ให้ป้อนชื่อทรัพยากรอย่างน้อย 1 รายการ และป้อนสตริงในช่องข้อความที่เกี่ยวข้อง
ข้อผิดพลาดของอินพุตข้อความที่กําหนดไว้ล่วงหน้า {:#predefined-text}
การทดสอบ Robo จะค้นหาช่อง EditText
ที่มีชื่อทรัพยากร Android ที่ตรงกับนิพจน์ทั่วไปที่ระบุ หากไม่พบช่องที่ตรงกัน Robo จะไม่ป้อนข้อความของคุณ แต่จะไปทำการ Crawl ต่อตามปกติ
Deep Link
คุณระบุ Deep Link ที่แอปรองรับสำหรับการทดสอบได้สูงสุด 3 รายการ
ระบบจะออก Deep Link ให้กับแอปของคุณเป็น Intent ของ Android
ACTION_VIEW
ดังนั้น แต่ละลิงก์ต้องตรงกับตัวกรอง Intent ในแอป
หากระบุ Deep Link อย่างน้อย 1 รายการ ระบบจะเปิดแอปตามปกติก่อน (โดยใช้ Intent ACTION_MAIN
) และทำการ Crawl จนถึงการหมดเวลาตามที่ระบุ หลังจากทำการ Crawl หลักแล้ว ระบบจะทำการ Crawl Deep Link แต่ละรายการเป็นเวลา 30 วินาที
ข้อผิดพลาดเกี่ยวกับ Deep Link
หากการทดสอบ Robo ไม่พบกิจกรรมที่ตรงกับ Deep Link ของคุณ Test Lab จะละเว้นลิงก์นั้น ปัญหา Deep Link มักเป็นผลมาจากความคลาดเคลื่อนระหว่าง Deep Link ที่ให้ไว้กับคำจำกัดความในแอป โปรดตรวจสอบทั้ง URL ที่ให้ไว้และแอปของคุณเพื่อหาการพิมพ์ผิดหรือความไม่สอดคล้องกันอื่นๆ
การรองรับการอนุญาตให้ใช้สิทธิแอป
Test Lab รองรับแอปที่ใช้บริการการอนุญาตให้ใช้แอปที่ Google Play นำเสนอ หากต้องการตรวจสอบการอนุญาตให้ใช้สิทธิให้เสร็จสมบูรณ์เมื่อทดสอบแอปด้วย Test Lab คุณต้องเผยแพร่แอปไปยังช่องทางเวอร์ชันที่ใช้งานจริงใน Play Store หากต้องการทดสอบแอปในช่องทางอัลฟ่าหรือเบต้าโดยใช้ Test Lab ให้นำการตรวจสอบการอนุญาตให้ใช้สิทธิออกก่อนอัปโหลดแอปไปยัง Test Lab
ขั้นตอนถัดไป
- ปรับแต่งการทดสอบ โดยใช้สคริปต์ Robo