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

การทดสอบ 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 ที่มีชุดการแตะและการโต้ตอบตามสคริปต์ ผ่าน การทดสอบ Game Loop ของ Firebase Test Lab

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

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

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

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

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

การทดสอบ Robo มีวิธีรองรับการลงชื่อเข้าใช้ 2 วิธีแยกกันต่างหาก ดังนี้

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

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

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

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

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

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