ตัวดำเนินการทดสอบคือหน่วยดำเนินการของโฟลว์การเรียกใช้ นี่คือจุดที่การทดสอบดำเนินการจริง
อินเทอร์เฟซ
ตัวรันการทดสอบจะถูกกำหนดผ่าน อินเทอร์เฟซ IRemoteTest ซึ่งมีวิธี run
แบบง่ายที่จะนำไปใช้ ซึ่งจะถูกเรียกเมื่อมีการรันการทดสอบ
ซึ่งช่วยให้เกิดคำจำกัดความที่ง่ายที่สุดของการทดสอบการทำงานได้ แต่ในทางปฏิบัติ ผู้เขียนการทดสอบจะต้องการข้อมูลเพิ่มเติมเพื่อเขียนการทดสอบอย่างเหมาะสม ซึ่งโดยทั่วไปคือข้อมูลการสร้างและข้อมูลอุปกรณ์ นี่คือจุดที่อินเทอร์เฟซต่อไปนี้มีประโยชน์
ขั้นพื้นฐาน
อินเทอร์เฟซทั้งสองนี้มีการใช้กันอย่างแพร่หลายมากที่สุดในปัจจุบัน เนื่องจากแสดงถึงความต้องการพื้นฐานของการทดสอบส่วนใหญ่
- IBuildReceiver อนุญาตให้การทดสอบรับ ออบเจ็ กต์
IBuildInfo
ที่สร้างขึ้นในขั้นตอนของผู้ให้บริการบิลด์ที่มีข้อมูลและสิ่งประดิษฐ์ทั้งหมดที่เกี่ยวข้องกับการตั้งค่าการทดสอบ - IDeviceTest อนุญาตให้ TF รับวัตถุ
ITestDevice
ที่แสดงถึงอุปกรณ์ภายใต้การทดสอบ และจัดเตรียม API เพื่อโต้ตอบกับมัน
ขั้นสูง
มีอินเทอร์เฟซเพิ่มเติมที่ช่วยให้เกิดการโต้ตอบที่ซับซ้อนมากขึ้นระหว่างชุดทดสอบและรันเนอร์ทดสอบ:
- ITestFilterReceiver ซึ่งอนุญาตให้การทดสอบรับชุดตัวกรองสำหรับดำเนินการทดสอบบางอย่างเท่านั้น สิ่งนี้มีประโยชน์ในการรันชุดย่อยของการทดสอบ
- ITestCollector ซึ่งช่วยให้ผู้ทดสอบทำการทดสอบแบบแห้งเท่านั้น แทนที่จะดำเนินการทดสอบจริง สิ่งนี้มีประโยชน์ในการรวบรวมรายการกรณีทดสอบทั้งหมด
นักวิ่งทดสอบที่มีอยู่
มีตัววิ่งทดสอบหลายประเภทอยู่แล้ว บางตัวสำหรับประเภทการทดสอบหลักๆ:
- AndroidJUnitTest / InstrumentationTest (เกี่ยวข้องกับ AJUR ที่ฝั่งอุปกรณ์)
- GTest (ฝั่งอุปกรณ์และโฮสต์) พร้อม ไลบรารี googletest
- การทดสอบที่ขับเคลื่อนด้วยโฮสต์ (การทดสอบ Java ที่ดำเนินการบนโฮสต์และเรียกใช้อุปกรณ์จากที่นั่น)
- การทดสอบหน่วย Pure Java (นักวิ่งของเราทำทั้งสองอย่าง)
- การทดสอบหลาม
- การทดสอบเกณฑ์มาตรฐานของ Google พร้อม ไลบรารีเกณฑ์มาตรฐาน
มีตัวรันการทดสอบแบบกำหนดเองจำนวนมากนอกเหนือจากที่กล่าวมาข้างต้น มีวัตถุประสงค์เฉพาะสำหรับการทดสอบการทำงานบางอย่าง เช่น การทดสอบการบูต
เขียนนักวิ่งทดสอบใหม่
คำแนะนำเพิ่มเติมในการเขียนผู้ทดสอบใหม่มีอยู่ใน ส่วนการทดสอบการเขียน