เรียกใช้สคริปต์ Robo (Android)

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

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

สคริปต์ Robo ใช้ การทดสอบ Robo เป็นเครื่องมือทดสอบ ในรูปแบบพื้นฐานที่สุด สคริปต์ Robo ประกอบด้วย ลำดับการดำเนินการใน UI เช่น ป้อนข้อความ "ชื่อผู้ใช้" และ จากนั้นแตะปุ่ม "ตกลง" สคริปต์ Robo ยังอาจมีการดำเนินการต่างๆ เช่น การรอ องค์ประกอบจะปรากฏขึ้น ให้แตะที่จุดใดจุดหนึ่งภายในองค์ประกอบหนึ่ง และ กำลังเรียกใช้คำสั่ง Shell ของ Android Debug Bridge (adb)

สคริปต์ Robo มีข้อดีเหนือเฟรมเวิร์กการทดสอบแบบดั้งเดิมดังต่อไปนี้

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

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

  • เงื่อนไขในการเรียกใช้ต่างๆ เช่น ชื่อแพ็กเกจของแอป ใช้งานอยู่ (หรือไม่ได้ใช้งาน) หรือองค์ประกอบที่เฉพาะเจาะจงแสดงอยู่ในหน้าจอ (หรือไม่)
  • การควบคุมการดำเนินการ เช่น จำนวนการดำเนินการสูงสุด ลำดับความสำคัญ ขั้นตอนการรวบรวมข้อมูลที่เกี่ยวข้อง
  • ประเภทการดำเนินการที่แปลกใหม่ (แบบมีเงื่อนไข การละเว้นองค์ประกอบ การปิดหน้าจอ)

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

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

ใช้ฟีเจอร์สคริปต์ Robo ขั้นสูงเพื่อทำสิ่งต่อไปนี้

  • ดำเนินการก่อนที่ Robo จะเริ่มรวบรวมข้อมูลการทดสอบแอปอันเดอร์หรือหลังจาก รวบรวมข้อมูลเสร็จแล้ว เช่น ล้างข้อมูลแอปที่อยู่ระหว่างการทดสอบก่อน รวบรวมข้อมูลหรือเปลี่ยนการตั้งค่าอุปกรณ์
  • เปลี่ยนลักษณะการทํางานของ Robo ระหว่างการรวบรวมข้อมูล โดยเฉพาะอย่างยิ่ง
    • ทำให้ Robo ไม่สนใจวิดเจ็ต UI หรือหน้าจอแอปบางรายการ
    • ระบุการทำงานที่กำหนดเองเพื่อให้ Robo ดำเนินการเมื่อย้อนการติดตามจาก หน้าจอหนึ่งๆ
    • ทำให้ Robo ดำเนินการที่เฉพาะเจาะจงทุกครั้งที่หน้าจอแอปใดหน้าจอหนึ่ง ที่พบระหว่างการรวบรวมข้อมูล
  • ปรับแต่งวิธีการ Crawl ของ Robo ได้เต็มที่ เช่น ใช้ ชุดค่าผสมของการดำเนินการแบบมีเงื่อนไขและไม่มีเงื่อนไข การทดสอบแอปต่ำกว่าที่ควรอยู่เบื้องหลังตลอดการ Crawl ขณะที่ดำเนินการ การปรับเปลี่ยนอุปกรณ์และการปิดกล่องโต้ตอบป๊อปอัปที่ปรากฏ เส้นทาง

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

บันทึกสคริปต์ Robo โดยใช้ Test Lab ใน Android Studio

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

  1. เปิด Android Studio และเลือกเครื่องมือ -> Firebase

  2. ในแผง Firebase ให้คลิก บันทึกสคริปต์ Robo และใช้เป็นแนวทางในการทดสอบ Robo

  3. คลิกบันทึกสคริปต์ Robo กล่องโต้ตอบเลือกเป้าหมายการทำให้ใช้งานได้ จะปรากฏขึ้น

  4. เลือกอุปกรณ์ที่คุณต้องการบันทึกสคริปต์ Robo

  5. หลังจากที่คุณบันทึกสคริปต์ Robo ในอุปกรณ์แล้ว ให้บันทึกไฟล์เป็นไฟล์ JSON ในตำแหน่งที่ต้องการ

  6. เปิดหน้า Test Lab ในคอนโซล Firebase แล้วอัปโหลดไฟล์ JSON ไฟล์สคริปต์ และ APK ของแอปพลิเคชัน

  7. คลิกปุ่มต่อไป ระบบจะแจ้งให้เลือกอุปกรณ์และ ระดับ API หลังจากสคริปต์การทดสอบเสร็จสมบูรณ์ Test Lab จะสร้าง รายงานการทดสอบ

  8. (ไม่บังคับ) หากต้องการคัดลอกหรือดาวน์โหลด Logcat ของรายงานการทดสอบและวิดีโอ ให้คลิก View Source Files

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

เรียกใช้สคริปต์ Robo ใน Test Lab

หากต้องการเรียกใช้สคริปต์ Robo ใน Test Lab โปรดทำตามวิธีการต่อไปนี้

  1. เปิดหน้า Test Lab ในคอนโซล Firebase

  2. อัปโหลด APK หรือ AAB ของแอปในช่อง APK หรือ AAB ของแอป

  3. อัปโหลดไฟล์สคริปต์ Robo ที่บันทึกไว้หรือสร้างด้วยตนเองใน สคริปต์ Robo (ไม่บังคับ)

ระบุสคริปต์ Robo ไปยังการทดสอบ Robo ในเครื่อง

หากต้องการระบุสคริปต์ Robo ไปยังการทดสอบ Robo ในเครื่อง ให้ใช้การทดสอบ Robo ต่อไปนี้ ตัวเลือก:

--robo-script-file <robo-script-path>

แทนที่ <robo-script-path> ด้วยเส้นทางไปยังไฟล์สคริปต์ Robo ในเครื่อง ระบบไฟล์ ทำตามวิธีการสำหรับการทดสอบ Robo ในเครื่อง Run

ระบุสคริปต์ Robo ในการเรียกใช้การทดสอบ gcloud CLI

หากต้องการระบุสคริปต์ Robo ในการเรียกใช้การทดสอบ gcloud CLI ให้ใช้คำสั่งต่อไปนี้ แฟล็ก gcloud CLI:

--robo-script = <robo-script-path>

แทนที่ <robo-script-path> ด้วยเส้นทางไปยังไฟล์สคริปต์ Robo ในเครื่อง หรือใน Cloud Storage โดยใช้รูปแบบ gs:// เช่น

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

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