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