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

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

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

ดาวน์โหลด @ตัวเลือกแบบไดนามิก

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

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