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

ส่วนนี้จะอธิบายรายละเอียดภายในของ 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 ในลักษณะที่ไม่ขึ้นกับแพลตฟอร์ม

รายละเอียด SL4A กับ Tradefed

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

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

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