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

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

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

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

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

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

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

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

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

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

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

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

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