Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

ทำการทดสอบ Robo

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

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

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

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

สถิติการรวบรวมข้อมูลการทดสอบ Robo

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

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

  • กิจกรรม: จำนวนกิจกรรมที่แตกต่างกันระหว่างการรวบรวมข้อมูล

  • หน้าจอ: จำนวนหน้าจอที่แตกต่างกันที่เข้าชมระหว่างการรวบรวมข้อมูล

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

หมดเวลาการทดสอบโรโบ

ขึ้นอยู่กับความซับซ้อนของ UI ของแอปของคุณ การทดสอบ Robo อาจใช้เวลาห้านาทีขึ้นไปเพื่อดำเนินการชุดการโต้ตอบ 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 เพื่อดำเนินการกับวิดเจ็ต Android UI โดยตรง ซึ่งช่วยให้การทดสอบสำรวจ UI ของคุณโดยอัตโนมัติ แต่ยังหมายความว่าต้องสามารถแยกลำดับชั้นของ Android UI สำหรับหน้าจอเพื่อทำการทดสอบได้

หากหน้าจอในแอปของคุณไม่ได้ใช้วิดเจ็ต UI ของ Android การทดสอบ Robo จะกลับไปใช้ Monkey Actions เพื่อทดสอบหน้าจอนั้น ต่างจากการทดสอบ Robo ที่มีระเบียบมากกว่า Monkey Actions เพียงแค่จำลองเหตุการณ์การแตะบนตำแหน่งกึ่งสุ่มบนหน้าจอของอุปกรณ์

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

บูรณาการกับ Google Play

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

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

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

เข้าสู่ระบบ

การทดสอบ Robo มีวิธีที่ไม่เกิดร่วมกันสองวิธีเพื่อสนับสนุนการลงชื่อเข้าใช้:

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

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

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

  1. ในหน้า เลือกมิติ ให้เลือก ตัวเลือกเพิ่มเติม

  2. ภายใต้ ข้อมูลรับรองบัญชีทดสอบ (ไม่บังคับ) ให้ป้อนชื่อผู้ใช้และชื่อทรัพยากรรหัสผ่าน และชื่อผู้ใช้และรหัสผ่านสำหรับบัญชีทดสอบ

การป้อนข้อความที่กำหนดไว้ล่วงหน้า

คุณสามารถระบุข้อความป้อนแบบกำหนดเองสำหรับช่องข้อความอื่นๆ ที่แอปของคุณใช้ ในการป้อนข้อความสำหรับฟิลด์เพิ่มเติม ให้ทำดังนี้:

  1. ในหน้า เลือกมิติ ให้เลือก ตัวเลือกเพิ่มเติม

  2. ภายใต้ ฟิลด์เพิ่มเติม (ไม่บังคับ) ให้ป้อนชื่อทรัพยากรตั้งแต่หนึ่งชื่อขึ้นไป และสตริงที่จะป้อนในฟิลด์ข้อความที่เกี่ยวข้อง

ข้อผิดพลาดในการป้อนข้อความที่กำหนดไว้ล่วงหน้า

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

คุณระบุ ลิงก์ ในรายละเอียดที่แอปของคุณรองรับได้ไม่เกิน 3 รายการสำหรับการทดสอบ ลิงก์ในรายละเอียดจะออกให้กับแอปของคุณตามเจตนาของ Android ACTION_VIEW ดังนั้น แต่ละลิงก์จะต้องตรงกับตัวกรองเจตนาในแอปของคุณ

หากมีลิงก์ในรายละเอียดอย่างน้อยหนึ่งลิงก์ แอปจะเปิดขึ้นตามปกติในครั้งแรก (โดยใช้เจตนา ACTION_MAIN ) และรวบรวมข้อมูลจนถึงระยะหมดเวลาที่ระบุ หลังจากการตระเวนหลัก ลิงก์ในรายละเอียดแต่ละรายการจะได้รับการตระเวนเพิ่มอีก 30 วินาทีในแต่ละครั้ง

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

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

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

ปัญหาที่ทราบ

การทดสอบ Robo ในปัจจุบันมีข้อจำกัดที่ทราบดังต่อไปนี้:

  • รองรับเฟรมเวิร์ก UI: การทดสอบ Robo ใช้งานได้กับแอปที่ใช้องค์ประกอบ UI จากเฟรมเวิร์ก Android UI เท่านั้น (รวมถึงออบเจ็กต์ View และ ViewGroup แต่ไม่รวมออบเจ็กต์ WebView ) หากคุณใช้การทดสอบ Robo เพื่อฝึกใช้งานแอปที่ใช้เฟรมเวิร์ก UI อื่นๆ รวมถึงแอปที่ใช้เอ็นจิ้นเกม Unity การทดสอบอาจออกโดยไม่สำรวจนอกหน้าจอแรก
  • Captcha สำหรับการลงชื่อเข้าใช้: การทดสอบ Robo ไม่สามารถเลี่ยงผ่านหน้าจอการลงชื่อเข้าใช้ที่กำหนดให้ผู้ใช้ดำเนินการเพิ่มเติมนอกเหนือจากการป้อนข้อมูลประจำตัวเพื่อลงชื่อเข้าใช้ เช่น กรอก Captcha

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