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