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

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

สคริปต์ 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 รองรับสิ่งต่อไปนี้ ซึ่งแตกต่างจากเฟรมเวิร์กการทดสอบแบบเดิม

  • เงื่อนไขการทริกเกอร์ต่างๆ เช่น ชื่อแพ็กเกจแอปที่เฉพาะเจาะจงใช้งานอยู่ (หรือไม่) หรือองค์ประกอบที่เฉพาะเจาะจงแสดงอยู่บนหน้าจอ (หรือไม่)
  • การควบคุมการดำเนินการ เช่น จำนวนการดำเนินการสูงสุด ลำดับความสำคัญ ขั้นตอนการ 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 ด้วยการทดสอบเครื่องมือที่กำหนดเป้าหมายซึ่งสามารถมีการยืนยันที่เฉพาะเจาะจงและละเอียดเกี่ยวกับตรรกะทางธุรกิจ ซึ่งแสดงออกมาได้ดีที่สุดในโค้ด

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