Trade Federation เป็นเฟรมเวิร์กการทดสอบอย่างต่อเนื่องสําหรับการทดสอบในอุปกรณ์ Android หากต้องการเรียกใช้ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) ก่อนอื่นให้อ่านภาพรวมของ Trade Federation เพื่อดูคำอธิบายเฟรมเวิร์กการทดสอบ Tradefed
วิธีเรียกใช้แผนการทดสอบ
- ตั้งค่าอุปกรณ์ทดสอบ (DUT) ตามการตั้งค่าอุปกรณ์ Android
- ตรวจสอบว่าคุณได้ติดตั้งทั้ง Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT) เวอร์ชันล่าสุด รวมถึงเพิ่มตำแหน่งของเครื่องมือเหล่านั้นลงในเส้นทางของระบบของเครื่องแล้ว ดูข้อมูลเกี่ยวกับการติดตั้งเครื่องมือดังกล่าวได้ที่หัวข้อการตั้งค่า CTS: ADB และ AAPT
- ดาวน์โหลดบิลด์ CTS ที่เผยแพร่ลงในเครื่องโฮสต์ Linux แล้วแตกไฟล์บิลด์ไปยังตำแหน่งโฮสต์
- เชื่อมต่ออุปกรณ์อย่างน้อย 1 เครื่อง วิธีเตรียม DUT
- กดปุ่มหน้าแรกเพื่อตั้งค่าอุปกรณ์เป็นหน้าจอหลัก
- อย่าใช้ DUT ทำงานอย่างอื่น
- วาง DUT ไว้ในตำแหน่งคงที่เพื่อหลีกเลี่ยงการทริกเกอร์การทำงานของเซ็นเซอร์
- เล็งกล้องของอุปกรณ์ไปที่วัตถุที่โฟกัสได้
- อย่ากดแป้นใดๆ ในอุปกรณ์ขณะที่ CTS ทำงานอยู่ การกดแป้นพิมพ์หรือสัมผัสหน้าจอของ DUT จะรบกวนการทดสอบที่กำลังดำเนินอยู่และอาจทำให้การทดสอบล้มเหลว
เปิดสคริปต์ cts-tradefed ของคอนโซล CTS จากโฟลเดอร์ที่แตกไฟล์ CTS ไว้ ในเชลล์บรรทัดคำสั่งของโฮสต์ ให้เรียกใช้คำสั่งต่อไปนี้
./android-cts/tools/cts-tradefed
เรียกใช้แผนการทดสอบเริ่มต้น (มีแพ็กเกจทดสอบทั้งหมด)
- สำหรับ CTS 11 และเวอร์ชันก่อนหน้า
cts-tradefed > run cts
สำหรับ CTS 12 ขึ้นไป
cts-console > run cts
หากต้องการปรับปรุงเวลาในการเรียกใช้การทดสอบ คุณสามารถแยกการทดสอบในอุปกรณ์หลายเครื่อง การแบ่งกลุ่มต้องให้โฮสต์เชื่อมต่ออุปกรณ์อย่างน้อย 2 เครื่อง แต่เราขอแนะนำให้ใช้อุปกรณ์อย่างน้อย 6 เครื่องเพื่อให้มีประสิทธิภาพ เมื่อมีการแยกข้อมูลมากกว่า 1 อุปกรณ์
สำหรับ Android 9 ขึ้นไป ให้ใช้ตัวเลือกคำสั่ง
--shard-count number_of_shards
สำหรับ Android 8.1 และต่ำกว่า ให้ใช้ตัวเลือกคำสั่ง
--shards number_of_shards
หากไม่ต้องการเรียกใช้ชุดทดสอบทั้งหมด คุณสามารถเรียกใช้แผน CTS ที่ต้องการจากบรรทัดคำสั่งได้ ดังนี้
run cts --plan test_plan_name
วิธีค้นหาชื่อแผนทดสอบ
สำหรับ Android 7.0 ขึ้นไป ให้ป้อน
list modules
สำหรับ Android 6.0 และต่ำกว่า หากต้องการดูรายการแผนการทดสอบในที่เก็บ ให้ป้อน
list plans
สำหรับ Android 6.0 และต่ำกว่า หากต้องการดูรายการแพ็กเกจทดสอบในที่เก็บ ให้ป้อน
list packages
ดูตัวเลือกคำสั่งเพิ่มเติมตามเวอร์ชัน CTS ได้ที่ข้อมูลอ้างอิงคำสั่งคอนโซล หรือดูในส่วน "ความช่วยเหลือทั้งหมด" ในคอนโซล Tradefed
- สำหรับ CTS 11 และเวอร์ชันก่อนหน้า
เรียกใช้เซสชัน "ลองใหม่" หลายเซสชันจนกว่าโมดูลการทดสอบทั้งหมดจะเสร็จสมบูรณ์และจำนวนการทดสอบที่ไม่ผ่านเหมือนกันในเซสชัน "ลองใหม่" 2 รายการล่าสุด
สำหรับ Android 9 ขึ้นไป ให้ใช้
run retry --retry session_number --shard-count number_of_shards
สำหรับ Android 7.0–8.1 ให้ใช้
run cts --retry session_number --shards number_of_shards
ดูตัวเลือกคำสั่ง "ลองอีกครั้ง" เพิ่มเติมตามเวอร์ชัน CTS ได้ที่คอนโซลคำสั่ง CTS v2
หากต้องการทำความเข้าใจรายละเอียดการใช้งานสำหรับการลองอีกครั้งของ CTS โปรดดูหัวข้อการลองอีกครั้งของชุดการรวมข้อมูลการซื้อขาย
เรียกใช้เซสชันการลองอีกครั้งในการทดสอบที่มีพารามิเตอร์ซึ่งไม่สําเร็จเท่านั้น ระบบจะไม่ลองทดสอบที่มีพารามิเตอร์อีกครั้งหากทดสอบผ่าน
สำหรับ Android 11 ขึ้นไป ระบบจะเปิดใช้ตัวเลือกคำสั่ง "ลองอีกครั้ง" ต่อไปนี้โดยค่าเริ่มต้นในคำสั่ง
run cts
run retry --retry
--new-parameterized-handling
ดูความคืบหน้าและการรายงานผลลัพธ์การทดสอบในคอนโซล
เรียกใช้ CTS โดยใช้ Android Test Station
Android Test Station เป็นเครื่องมือทดสอบอัตโนมัติที่นักพัฒนาแอป Android และวิศวกรทดสอบสามารถใช้อินเทอร์เฟซผู้ใช้เพื่อเรียกใช้ชุดทดสอบมาตรฐาน ใช้ได้กับชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS)
เครื่องมือนี้พร้อมให้บริการแก่สาธารณะผ่านคู่มือผู้ใช้ ATS และโค้ดของเครื่องมือนี้เป็นโอเพนซอร์สใน AOSP (multitest_transport
, tradefed_cluster
)
เรียกใช้ CTS สำหรับโหมดอื่น
เวอร์ชัน CTS 10 R4 เพิ่มแผนทดสอบสำหรับอุปกรณ์ที่มีโหมดอื่นหรืออุปกรณ์ที่มีหน้าจอมากกว่า 1 หน้าจอ เรียกใช้แผนการทดสอบโหมดอื่นโดยใช้ run cts-foldable
เทสเคสที่ผ่านหรือไม่ผ่านสําหรับโหมดหน้าจออื่นจะเพิ่มค่าจาก display_mode
ต่อท้าย เช่น testcase1[display_mode=0]
ใน CTS 13 DeviceStateManager API อนุญาตให้เรียกใช้โมดูลทดสอบที่มีตัวเลือกการกําหนดค่าต่อไปนี้ในสถานะอุปกรณ์ต่างๆ ของอุปกรณ์แบบพับได้
การเรียกใช้การทดสอบจะทํางานโดยอัตโนมัติใน CTS โดยอิงตามสถานะการพับจอแสดงผลที่กําหนดไว้ในอุปกรณ์โดยไม่ต้องเรียกใช้cts-foldable
แผนการทดสอบ
<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />
การทดสอบหลายอุปกรณ์ใน CTS
Android 13 ขึ้นไปรองรับการทดสอบหลายอุปกรณ์
การทดสอบที่ต้องใช้อุปกรณ์หลายเครื่องจะทำงานโดยอัตโนมัติระหว่างการเรียกใช้ CTS
CTS 13 มีการทดสอบหลายอุปกรณ์บางอย่างที่จะเริ่มทำงานโดยอัตโนมัติเมื่อมีการใช้การแยกข้อมูล แม้ว่าการทดสอบจะไม่จําเป็นต้องเปลี่ยนแปลงการตั้งค่าอุปกรณ์เพิ่มเติม แต่virtualenv
ต้องติดตั้งเพื่อให้การทดสอบทํางานได้อย่างถูกต้อง โปรดดูรายละเอียดที่หัวข้อชุดโปรแกรมสำหรับอุปกรณ์หลายเครื่อง
ทำการทดสอบหลายอุปกรณ์
หากต้องการเรียกใช้การทดสอบหลายอุปกรณ์แยกกัน ให้ใช้โค้ดต่อไปนี้
cts-tradefed > run cts-multidevice
รองรับตัวเลือกปกติทั้งหมด หากต้องการกําหนดเป้าหมายอุปกรณ์ที่เฉพาะเจาะจง ให้เพิ่ม--serial <serial1> --serial <serial2>
และอื่นๆ ตามจํานวนอุปกรณ์ที่กําหนดเป้าหมาย
หากต้องการทริกเกอร์การทดสอบหลายอุปกรณ์โดยอัตโนมัติ ให้ใช้การแยกข้อมูล ดังที่แสดงใน --shard-count 2