สถาปัตยกรรม 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 แทนที่จะเป็นออบเจ็กต์ Tradefed

การแยกกลุ่มข้อมูลของ Tradefed

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

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

การใช้ SL4A

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

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

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

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

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