สถาปัตยกรรม Tradefed

ส่วนนี้อธิบายภายในของ Tradefed และความสัมพันธ์ ดูรายละเอียดเพิ่มเติมได้ที่หน้าย่อยที่ลิงก์ไว้

การกำหนดค่าการทดสอบ

การกําหนดค่าการทดสอบใน Tradefed จะอธิบายในรูปแบบ XML การทำความเข้าใจโครงสร้างของการกำหนดค่าเป็นกุญแจสำคัญในการเรียกใช้และปรับแต่งการทดสอบ

โครงสร้างของการกำหนดค่า TF

การกําหนดค่า TF ทั่วโลก

ไฟล์การกําหนดค่าส่วนกลางคือการกําหนดค่า XML ของ Tradefed พิเศษที่จะโหลดเมื่อ Tradefed เริ่มทํางานผ่านตัวแปรสภาพแวดล้อม TF_GLOBAL_CONFIG โดยจะโหลดออบเจ็กต์ที่เกี่ยวข้องกับขอบเขตอินสแตนซ์ Tradefed ซึ่งจะส่งผลต่อลักษณะการทำงานโดยรวมของสายกํากับ

รายละเอียดการกำหนดค่าส่วนกลาง

คีย์สโตร์

คีย์สโตร์อนุญาตให้แทรกตัวเลือกบรรทัดคำสั่งไปยัง Tradefed ที่มาจากคีย์สโตร์เพื่อหลีกเลี่ยงการอ้างอิงค่าในบรรทัดคำสั่งโดยตรง ซึ่งสามารถใช้เพื่อซ่อนรหัสผ่านจากบรรทัดคำสั่งโดยดึงรหัสผ่านจากคีย์สโตร์โดยตรง

รายละเอียดคีย์สโตร์

เครื่องมือจัดการอุปกรณ์

เครื่องมือจัดการอุปกรณ์มีหน้าที่รับผิดชอบในการติดตามสถานะของอุปกรณ์ในอินสแตนซ์ Tradefed ที่ทํางานอยู่ ระบบจะตรวจสอบแง่มุมต่างๆ เช่น สถานะการจัดสรรและสถานะออนไลน์

ทดสอบตัวกำหนดเวลาคําสั่ง

ตัวตั้งเวลาคําสั่งทดสอบใน Tradefed จะเรียกใช้คําสั่ง เชื่อมโยงคําสั่งกับอุปกรณ์ และเริ่มการเรียกใช้การทดสอบ

ผู้ให้บริการบิลด์

ผู้ให้บริการบิลด์คือขั้นตอนแรกของการเรียกใช้ทดสอบ ซึ่งจะดาวน์โหลดทรัพยากรที่จำเป็นในการตั้งค่าและเรียกใช้การทดสอบ (สร้างรูปภาพ ทดสอบ APK และอื่นๆ) นอกจากนี้ ยังอ้างอิงพารามิเตอร์ในออบเจ็กต์ BuildInfo ที่จะส่งไปยังการทดสอบด้วย นอกจากนี้ คุณยังลิงก์ทรัพยากรที่มีอยู่ในเครื่องลงในออบเจ็กต์ BuildInfo ได้ด้วย

ผู้เตรียมและทำความสะอาดเป้าหมาย

เครื่องมือเตรียมเป้าหมายมีการดำเนินการที่ไม่บังคับซึ่งสามารถดำเนินการเพื่อกำหนดค่าเป้าหมายที่ทดสอบให้อยู่ในสถานะหนึ่งๆ เช่น การแฟลชอุปกรณ์ การตั้งค่าพร็อพเพอร์ตี้บางอย่าง และการเชื่อมต่อ Wi-Fi

ตัวดำเนินการทดสอบ

ตัวดำเนินการทดสอบใน Tradefed หมายถึงออบเจ็กต์ที่รับผิดชอบต่อการดำเนินการทดสอบจริง ผู้ดำเนินการทดสอบแต่ละคนดำเนินการทดสอบด้วยวิธีที่ต่างกัน เช่น ตัวดำเนินการทดสอบการวัดคุมจะแตกต่างจากตัวดำเนินการทดสอบ JUnit มาก

ผู้รายงานผลลัพธ์

ผู้รายงานผลลัพธ์ใน Tradefed หมายถึงออบเจ็กต์ที่จะส่งผลลัพธ์ไปยังปลายทางที่เจาะจง การติดตั้งใช้งานแต่ละครั้งมักจะมีความเชี่ยวชาญเฉพาะสำหรับแบ็กเอนด์ผลลัพธ์ที่แตกต่างกัน และผู้รายงานผลลัพธ์มีหน้าที่แปลง รูปแบบผลการค้นหาที่แลกเปลี่ยนเป็นรูปแบบปลายทาง

การออกแบบที่ยืดหยุ่นนี้ช่วยให้การทดสอบใดๆ รายงานไปยังปลายทางผลลัพธ์ใดก็ได้ และเพิ่มการทดสอบอื่นๆ แยกกันได้ง่ายๆ

ตัวรวบรวมเมตริก

ตัวรวบรวมเมตริกเป็นออบเจ็กต์พิเศษใน Tradefed หรือตั้งฉากกับการดำเนินการทดสอบ ซึ่งช่วยให้รวบรวมข้อมูลได้ในจุดต่างๆ ของวงจรการทดสอบ (เช่น การเริ่มการทดสอบ การสิ้นสุดการทดสอบ) เนื่องจากมีการแยกตัวรวบรวมออกจากการทดสอบแล้ว คุณจึงสลับ เพิ่ม และนําคะแนนออกได้โดยไม่ต้องเปลี่ยนแปลงการทดสอบ

การตั้งค่าทั้งโฮสต์

ส่วนนี้จะอธิบายการตั้งค่าที่ใช้กับการทํางานของอินสแตนซ์ Tradefed แบบเต็ม ตัวเลือกเหล่านี้จะส่งผลต่อลักษณะการทำงานของการควบคุมโดยรวมเพื่อปรับให้เข้ากับสภาพแวดล้อมที่แตกต่างกัน เช่น การอยู่ในเครือข่ายที่จำกัด

ฟีเจอร์เพิ่มเติม

ส่วนต่อไปนี้อธิบายการใช้งานทั่วไปของ Tradefed แทนที่จะเป็นออบเจ็กต์ Tradefed

ชาร์ดดิ้งการค้า

เมื่อคอร์ปัสทดสอบมีขนาดใหญ่หรือใช้เวลานานในการดำเนินการ คุณอาจแยกคลังข้อมูลนี้ในอุปกรณ์ต่างๆ ได้ เราเรียกการแยกนี้ว่าการแยกข้อมูล ส่วนนี้จะอธิบายวิธีการทํางานของการจัดสรรและวิธีกําหนดค่า

รายละเอียดการแยกข้อมูล

การใช้ SL4A

Tradefed รองรับเลเยอร์สคริปต์สําหรับ Android หรือ SL4A ซึ่งเป็นชุดเครื่องมืออัตโนมัติสําหรับการเรียกใช้ Android API ในลักษณะที่ไม่จํากัดแพลตฟอร์ม

SL4A พร้อมรายละเอียด Tradefed

การดาวน์โหลด @option แบบไดนามิก

ในบางกรณี ไฟล์ที่จําเป็นสําหรับการทดสอบหรือการดำเนินการบางอย่างอาจไม่พร้อมใช้งานในเครื่อง ฟีเจอร์นี้ช่วยให้ Tradefed รับไฟล์เหล่านี้จากตำแหน่งระยะไกลได้โดยไม่ต้องผ่านผู้ให้บริการบิลด์

การดาวน์โหลด @option แบบไดนามิก