ส่วนนี้จะอธิบายรายละเอียดภายในของ Tradefed และความสัมพันธ์ระหว่างรายละเอียดเหล่านั้น ดูรายละเอียดเพิ่มเติมได้ในหน้าย่อยที่ลิงก์
การกำหนดค่าการทดสอบ
การกำหนดค่าการทดสอบใน Tradefed จะอธิบายไว้ในรูปแบบ XML การทำความเข้าใจโครงสร้างของการกำหนดค่าเป็นสิ่งสำคัญสำหรับการเรียกใช้และปรับแต่งการทดสอบ
โครงสร้างของการกำหนดค่า TF
การกำหนดค่า TF ส่วนกลาง
ไฟล์การกำหนดค่าส่วนกลางเป็นการกำหนดค่า XML พิเศษของ Tradefed ที่โหลดเมื่อ Tradefed เริ่มทำงานผ่านตัวแปรสภาพแวดล้อม TF_GLOBAL_CONFIG โดยจะโหลดออบเจ็กต์ที่เกี่ยวข้องกับขอบเขตอินสแตนซ์ของ Tradefed ซึ่งจะส่งผลต่อลักษณะการทำงานโดยรวมของ Harness
คีย์สโตร์
คีย์สโตร์ช่วยให้สามารถแทรกตัวเลือกบรรทัดคำสั่งลงใน Tradefed จากคีย์สโตร์เพื่อหลีกเลี่ยงการอ้างอิงค่าโดยตรงในบรรทัดคำสั่ง คุณสามารถใช้ฟีเจอร์นี้เพื่อซ่อนรหัสผ่านจากบรรทัดคำสั่งโดยการดึงรหัสผ่านจากคีย์สโตร์โดยตรง
โปรแกรมจัดการอุปกรณ์
โปรแกรมจัดการอุปกรณ์มีหน้าที่ติดตามสถานะของอุปกรณ์ในอินสแตนซ์ที่ใช้งานอยู่ของ Tradefed โดยจะมีการตรวจสอบแง่มุมต่างๆ เช่น สถานะการจัดสรรและสถานะออนไลน์
ตัวกำหนดเวลาคำสั่งทดสอบ
ตัวกำหนดเวลาคำสั่งทดสอบใน Tradefed จะรับคำสั่งที่จะเรียกใช้ เชื่อมโยงคำสั่งกับอุปกรณ์ และเริ่มการเรียกใช้การทดสอบ
ผู้ให้บริการบิลด์
ผู้ให้บริการบิลด์เป็นขั้นตอนแรกของการเรียกใช้การทดสอบ โดยจะดาวน์โหลดทรัพยากรที่จำเป็นสำหรับการตั้งค่าและเรียกใช้การทดสอบ (รูปภาพบิลด์, APK ทดสอบ และอื่นๆ) นอกจากนี้ยังอ้างอิงทรัพยากรเหล่านั้นในออบเจ็กต์ BuildInfo ที่จะส่งไปยังการทดสอบ และยังลิงก์ทรัพยากรที่มีอยู่ในเครื่องในออบเจ็กต์ BuildInfo ได้ด้วย
ตัวเตรียมและตัวล้างข้อมูลเป้าหมาย
ตัวเตรียมข้อมูลเป้าหมายมีฟังก์ชันการทำงานเสริมที่สามารถใช้เพื่อกำหนดค่าเป้าหมายที่อยู่ระหว่างการทดสอบให้อยู่ในสถานะหนึ่งๆ เช่น การแฟลชอุปกรณ์ การตั้งค่าพร็อพเพอร์ตี้บางอย่าง และการเชื่อมต่อกับ Wi-Fi
ตัวเรียกใช้การทดสอบ
ตัวเรียกใช้การทดสอบใน Tradefed หมายถึงออบเจ็กต์ที่มีหน้าที่รับผิดชอบในการดำเนินการทดสอบจริง ตัวเรียกใช้การทดสอบที่แตกต่างกันจะขับเคลื่อนการดำเนินการทดสอบในรูปแบบต่างๆ เช่น ตัวเรียกใช้การทดสอบการวัดคุมจะแตกต่างจากตัวเรียกใช้การทดสอบ JUnit มาก
ตัวรายงานผลการทดสอบ
ตัวรายงานผลการทดสอบใน Tradefed หมายถึงออบเจ็กต์ที่จะส่งผลการทดสอบไปยังปลายทางที่เฉพาะเจาะจง โดยปกติแล้วการติดตั้งใช้งานแต่ละรายการจะมีความเชี่ยวชาญสำหรับแบ็กเอนด์ผลการทดสอบที่แตกต่างกัน และตัวรายงานผลการทดสอบมีหน้าที่รับผิดชอบในการแปลงรูปแบบผลการทดสอบของ Tradefed เป็นรูปแบบปลายทาง
การออกแบบที่ยืดหยุ่นนี้ช่วยให้การทดสอบใดๆ ก็ตามรายงานไปยังปลายทางผลการทดสอบใดก็ได้ และเพิ่มการทดสอบอื่นๆ ได้อย่างง่ายดายในลักษณะแยกกัน
ตัวรวบรวมเมตริก
ตัวรวบรวมเมตริกเป็นออบเจ็กต์พิเศษใน Tradefed ซึ่งเป็นอิสระจากการดำเนินการทดสอบ โดยจะช่วยให้รวบรวมข้อมูลได้ในจุดต่างๆ ของวงจรการทดสอบ (เช่น การเริ่มต้นการทดสอบ การสิ้นสุดการทดสอบ) เนื่องจากตัวรวบรวมแยกออกจากการทดสอบเอง จึงสามารถสลับ เพิ่ม และนำจุดต่างๆ ออกได้โดยไม่ต้องเปลี่ยนการทดสอบเอง
การตั้งค่าทั้งโฮสต์
ส่วนนี้จะอธิบายการตั้งค่าที่ใช้ได้กับการทำงานของอินสแตนซ์ Tradefed ทั้งหมด ตัวเลือกเหล่านี้จะส่งผลต่อลักษณะการทำงานของ Harness ทั้งหมดเพื่อปรับให้เข้ากับสภาพแวดล้อมที่แตกต่างกัน เช่น การอยู่ในเครือข่ายที่จำกัด
ฟีเจอร์เพิ่มเติม
ส่วนต่อไปนี้จะอธิบายการใช้งานทั่วไปของ Tradefed แทนที่จะเป็นออบเจ็กต์ Tradefed
การแบ่งส่วนข้อมูลของ Tradefed
เมื่อคลังข้อมูลการทดสอบมีขนาดใหญ่หรือใช้เวลานานในการดำเนินการ คุณสามารถแบ่งคลังข้อมูลการทดสอบออกเป็นอุปกรณ์หลายเครื่องได้ เราเรียกการแบ่งนี้ว่า การแบ่งส่วนข้อมูล ส่วนนี้จะอธิบายวิธีการทำงานของการแบ่งส่วนข้อมูลและวิธีกำหนดค่า
การใช้ SL4A
Tradefed รองรับเลเยอร์การเขียนสคริปต์สำหรับ Android, SL4A ซึ่งเป็นชุดเครื่องมือการทำงานอัตโนมัติสำหรับการเรียกใช้ Android API ในลักษณะที่ไม่ขึ้นกับแพลตฟอร์ม
การดาวน์โหลด @option แบบไดนามิก
ในบางกรณี ไฟล์ที่การทดสอบหรือการดำเนินการบางอย่างต้องการอาจไม่มีอยู่ในเครื่อง ฟีเจอร์นี้ช่วยให้ Tradefed รับไฟล์เหล่านี้จากตำแหน่งระยะไกลได้โดยไม่ต้องผ่านผู้ให้บริการบิลด์