สถาปัตยกรรมที่แลกเปลี่ยน

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

ทดสอบการกำหนดค่า

การกำหนดค่าการทดสอบใน Tradefed อธิบายไว้ในรูปแบบ XML การทำความเข้าใจโครงสร้างของการกำหนดค่าเป็นกุญแจสำคัญในการรันและปรับแต่งการทดสอบ

โครงสร้างของการกำหนดค่า TF

การกำหนดค่า TF ทั่วโลก

ไฟล์การกำหนดค่าส่วนกลางคือการกำหนดค่า Tradefed XML พิเศษที่โหลดเมื่อ Tradefed เริ่มต้นผ่านตัวแปรสภาพแวดล้อม TF_GLOBAL_CONFIG โดยจะโหลดออบเจ็กต์ที่เกี่ยวข้องกับขอบเขตอินสแตนซ์ Tradefed ซึ่งจะส่งผลต่อพฤติกรรมการควบคุมโดยรวม

รายละเอียดการกำหนดค่าส่วนกลาง

ที่เก็บคีย์

ที่เก็บคีย์อนุญาตให้มีการแทรกตัวเลือกบรรทัดคำสั่งไปยัง Tradefed ที่มาจากที่เก็บคีย์เพื่อหลีกเลี่ยงการอ้างอิงค่าโดยตรงบนบรรทัดคำสั่ง ซึ่งสามารถใช้เพื่อซ่อนรหัสผ่านจากบรรทัดรับคำสั่งโดยการดึงรหัสผ่านจากที่เก็บคีย์โดยตรง

รายละเอียดที่เก็บคีย์

ผู้จัดการอุปกรณ์

ตัวจัดการอุปกรณ์มีหน้าที่รับผิดชอบในการติดตามสถานะของอุปกรณ์บนอินสแตนซ์ที่รันของ Tradefed มีการตรวจสอบด้านต่างๆ เช่น สถานะการจัดสรรและสถานะออนไลน์

ทดสอบตัวกำหนดตารางเวลาคำสั่ง

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

ผู้ให้บริการสร้าง

Build provider คือขั้นตอนแรกของการเรียกใช้การทดสอบ ดาวน์โหลดทรัพยากรที่จำเป็นในการตั้งค่าและดำเนินการทดสอบ (สร้างอิมเมจ, APK ทดสอบ และอื่นๆ) นอกจากนี้ยังอ้างอิงถึงวัตถุเหล่านั้นในออบ BuildInfo ที่จะถูกส่งไปยังการทดสอบด้วย ทรัพยากรที่มีอยู่ในท้องถิ่นสามารถเชื่อมโยงในออบเจ็กต์ BuildInfo ได้

เครื่องเตรียมเป้าหมายและน้ำยาทำความสะอาด

ตัวจัดเตรียมเป้าหมายเสนอการดำเนินการทางเลือกที่สามารถทำได้เพื่อกำหนดค่าเป้าหมายภายใต้การทดสอบในสถานะที่กำหนด เช่น การกะพริบอุปกรณ์ การตั้งค่าคุณสมบัติบางอย่าง และการเชื่อมต่อกับ Wi-Fi

นักวิ่งทดสอบ

ผู้ทดสอบใน Tradefed หมายถึงวัตถุที่รับผิดชอบในการดำเนินการทดสอบจริง ผู้ทดสอบที่แตกต่างกันขับเคลื่อนการดำเนินการทดสอบด้วยวิธีที่ต่างกัน ตัวอย่างเช่น นักวิ่งทดสอบเครื่องมือวัดจะแตกต่างจากนักวิ่งทดสอบ JUnit มาก

ผู้รายงานผล

รายงานผลใน Tradefed หมายถึงออบเจ็กต์ที่จะส่งผลไปยังปลายทางเฉพาะ โดยทั่วไปการใช้งานแต่ละครั้งจะมีความเชี่ยวชาญเฉพาะด้านสำหรับแบ็คเอนด์ผลลัพธ์ที่แตกต่างกัน และผู้รายงานผลจะรับผิดชอบในการแปลงรูปแบบผลลัพธ์ของ Tradefed ให้เป็นรูปแบบปลายทาง

การออกแบบที่ยืดหยุ่นนี้ทำให้การทดสอบใดๆ สามารถรายงานไปยังปลายทางผลลัพธ์ใดๆ และเพิ่มการทดสอบเพิ่มเติมในลักษณะแยกส่วนได้อย่างง่ายดาย

ตัวสะสมเมตริก

ตัวรวบรวมเมตริกเป็นออบเจ็กต์พิเศษใน Tradefed ซึ่งตั้งฉากกับการดำเนินการทดสอบ ช่วยให้สามารถรวบรวมข้อมูล ณ จุดต่างๆ ของวงจรการทดสอบ (เช่น การเริ่มการทดสอบ การสิ้นสุดการทดสอบ) เนื่องจากตัวรวบรวมถูกแยกออกจากการทดสอบ จุดจึงสามารถสลับ เพิ่ม และลบออกได้โดยไม่ต้องเปลี่ยนตัวการทดสอบ

การตั้งค่าทั่วทั้งโฮสต์

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

คุณลักษณะเพิ่มเติม

ส่วนต่อไปนี้จะอธิบายการใช้งานทั่วไปของ Tradefed แทนที่จะเป็นออบเจ็กต์ Tradefed

การแลกเปลี่ยนชาร์ดดิ้ง

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

รายละเอียดการแบ่งส่วน

การใช้ SL4A

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

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

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

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

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

,

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

ทดสอบการกำหนดค่า

การกำหนดค่าการทดสอบใน Tradefed อธิบายไว้ในรูปแบบ XML การทำความเข้าใจโครงสร้างของการกำหนดค่าเป็นกุญแจสำคัญในการรันและปรับแต่งการทดสอบ

โครงสร้างของการกำหนดค่า TF

การกำหนดค่า TF ทั่วโลก

ไฟล์การกำหนดค่าส่วนกลางคือการกำหนดค่า Tradefed XML พิเศษที่โหลดเมื่อ Tradefed เริ่มต้นผ่านตัวแปรสภาพแวดล้อม TF_GLOBAL_CONFIG โดยจะโหลดออบเจ็กต์ที่เกี่ยวข้องกับขอบเขตอินสแตนซ์ Tradefed ซึ่งจะส่งผลต่อพฤติกรรมการควบคุมโดยรวม

รายละเอียดการกำหนดค่าส่วนกลาง

ที่เก็บคีย์

ที่เก็บคีย์อนุญาตให้มีการแทรกตัวเลือกบรรทัดคำสั่งไปยัง Tradefed ที่มาจากที่เก็บคีย์เพื่อหลีกเลี่ยงการอ้างอิงค่าโดยตรงบนบรรทัดคำสั่ง ซึ่งสามารถใช้เพื่อซ่อนรหัสผ่านจากบรรทัดรับคำสั่งโดยการดึงรหัสผ่านจากที่เก็บคีย์โดยตรง

รายละเอียดที่เก็บคีย์

ผู้จัดการอุปกรณ์

ตัวจัดการอุปกรณ์มีหน้าที่รับผิดชอบในการติดตามสถานะของอุปกรณ์บนอินสแตนซ์ที่รันของ Tradefed มีการตรวจสอบด้านต่างๆ เช่น สถานะการจัดสรรและสถานะออนไลน์

ทดสอบตัวกำหนดตารางเวลาคำสั่ง

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

ผู้ให้บริการสร้าง

Build provider คือขั้นตอนแรกของการเรียกใช้การทดสอบ ดาวน์โหลดทรัพยากรที่จำเป็นในการตั้งค่าและดำเนินการทดสอบ (สร้างอิมเมจ, APK ทดสอบ และอื่นๆ) นอกจากนี้ยังอ้างอิงถึงวัตถุเหล่านั้นในออบ BuildInfo ที่จะถูกส่งไปยังการทดสอบด้วย ทรัพยากรที่มีอยู่ในท้องถิ่นสามารถเชื่อมโยงในออบเจ็กต์ BuildInfo ได้

เครื่องเตรียมเป้าหมายและน้ำยาทำความสะอาด

ตัวจัดเตรียมเป้าหมายเสนอการดำเนินการทางเลือกที่สามารถทำได้เพื่อกำหนดค่าเป้าหมายภายใต้การทดสอบในสถานะที่กำหนด เช่น การกะพริบอุปกรณ์ การตั้งค่าคุณสมบัติบางอย่าง และการเชื่อมต่อกับ Wi-Fi

นักวิ่งทดสอบ

ผู้ทดสอบใน Tradefed หมายถึงวัตถุที่รับผิดชอบในการดำเนินการทดสอบจริง ผู้ทดสอบที่แตกต่างกันขับเคลื่อนการดำเนินการทดสอบด้วยวิธีที่ต่างกัน ตัวอย่างเช่น นักวิ่งทดสอบเครื่องมือวัดจะแตกต่างจากนักวิ่งทดสอบ JUnit มาก

ผู้รายงานผล

รายงานผลใน Tradefed หมายถึงออบเจ็กต์ที่จะส่งผลไปยังปลายทางเฉพาะ โดยทั่วไปการใช้งานแต่ละครั้งจะมีความเชี่ยวชาญเฉพาะด้านสำหรับแบ็คเอนด์ผลลัพธ์ที่แตกต่างกัน และผู้รายงานผลจะรับผิดชอบในการแปลงรูปแบบผลลัพธ์ของ Tradefed ให้เป็นรูปแบบปลายทาง

การออกแบบที่ยืดหยุ่นนี้ทำให้การทดสอบใดๆ สามารถรายงานไปยังปลายทางผลลัพธ์ใดๆ และเพิ่มการทดสอบเพิ่มเติมในลักษณะแยกส่วนได้อย่างง่ายดาย

ตัวสะสมเมตริก

ตัวรวบรวมเมตริกเป็นออบเจ็กต์พิเศษใน Tradefed ซึ่งตั้งฉากกับการดำเนินการทดสอบ ช่วยให้สามารถรวบรวมข้อมูล ณ จุดต่างๆ ของวงจรการทดสอบ (เช่น การเริ่มการทดสอบ การสิ้นสุดการทดสอบ) เนื่องจากตัวรวบรวมถูกแยกออกจากการทดสอบ จุดจึงสามารถสลับ เพิ่ม และลบออกได้โดยไม่ต้องเปลี่ยนตัวการทดสอบ

การตั้งค่าทั่วทั้งโฮสต์

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

คุณลักษณะเพิ่มเติม

ส่วนต่อไปนี้จะอธิบายการใช้งานทั่วไปของ Tradefed แทนที่จะเป็นออบเจ็กต์ Tradefed

การแลกเปลี่ยนชาร์ดดิ้ง

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

รายละเอียดการแบ่งส่วน

การใช้ SL4A

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

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

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

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

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