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

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

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

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

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

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