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