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

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

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

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

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

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

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

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

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

  1. เปิด Android Studio และเลือก Tools -> Firebase

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

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

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

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

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

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

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

ตามค่าเริ่มต้น กลไกความทนทานของสคริปต์ 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 ในเครื่อง

ระบุสคริปต์ 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>

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