เอกสารนี้อธิบายวิธีใช้สคริปต์ 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