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