Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

เริ่มต้นกับการทดสอบ Robo

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

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

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

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

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

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

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

ขึ้นอยู่กับความซับซ้อนของ UI ของแอปของคุณ การทดสอบ Robo อาจใช้เวลาห้านาทีขึ้นไปเพื่อดำเนินการชุดการโต้ตอบ UI อย่างละเอียด เราแนะนำให้ตั้งค่าระยะหมดเวลาการทดสอบเป็นอย่างน้อย 120 วินาที (2 นาที) สำหรับแอปส่วนใหญ่ และ 300 วินาที (5 นาที) สำหรับแอปที่ซับซ้อนปานกลาง ค่าเริ่มต้นสำหรับการหมดเวลา 300 วินาที (5 นาที) สำหรับการทดสอบวิ่งจาก Android สตูดิโอและคอนโซลนักพัฒนาซอฟต์แวร์ Google และ 1,500 วินาที (25 นาที) สำหรับการทดสอบการเรียกใช้จาก gcloud บรรทัดคำสั่ง

ข้อผิดพลาดหมดเวลาเริ่มต้นแอป

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

ควบคุมได้มากขึ้นด้วยสคริปต์ Robo

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

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

เริ่มต้นใช้งานสคริปต์ Robo ผ่านเครื่องมือ Firebase ใน Android Studio:

  1. เปิด Android Studio
  2. ในเมนูหลักเลือกเครื่องมือ> Firebase
  3. เลือกห้องปฏิบัติการทดสอบและคลิกบันทึก Robo สคริปต์และใช้มันเพื่อคู่มือ Robo ทดสอบ
  4. ทำตามขั้นตอนที่เหลือในเครื่องมือเพื่อบันทึก Robo Script ของคุณ
  5. อัปโหลด Robo Script นั้นไปที่ Test Lab แล้วเริ่มการทดสอบของคุณ

ข้อผิดพลาดของสคริปต์ Robo

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

การทดสอบ Robo และวิดเจ็ต UI ที่ไม่ใช่ Android

การทดสอบ Robo ใช้ Android API เพื่อดำเนินการกับวิดเจ็ต Android UI โดยตรง ซึ่งช่วยให้การทดสอบสำรวจ UI ของคุณโดยอัตโนมัติ แต่ยังหมายความว่าต้องสามารถแยกลำดับชั้นของ Android UI สำหรับหน้าจอเพื่อทำการทดสอบได้

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

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

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

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

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

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

เข้าสู่ระบบ

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

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

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

  1. บนหน้าเลือกขนาดให้เลือกตัวเลือกเพิ่มเติม
  2. ภายใต้การทดสอบข้อมูลบัญชี (อุปกรณ์เสริม) ป้อนชื่อผู้ใช้และรหัสผ่านและทรัพยากรชื่อผู้ใช้และรหัสผ่านสำหรับบัญชีการทดสอบ

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

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

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

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

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

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

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

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

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

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

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

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

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