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

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

สคริปต์ Robo ใช้ Robo test เป็นเครื่องมือทดสอบ สคริปต์ 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
  • ปรับแต่งวิธีการ Crawl ของ Robo ได้ทั้งหมด ตัวอย่างเช่น การใช้การดำเนินการที่มีเงื่อนไขและไม่เป็นไปตามเงื่อนไขร่วมกันเพื่อให้การทดสอบแอปต่ำกว่าที่กำหนดในเบื้องหลังตลอดการ Crawl ขณะดำเนินการจัดการอุปกรณ์และปิดกล่องโต้ตอบป๊อปอัปที่ปรากฏระหว่างทาง

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

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