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-tradefed > 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
เรียกใช้เซสชัน "ลองใหม่" หลายเซสชันจนกว่าโมดูลการทดสอบทั้งหมดจะเสร็จสมบูรณ์ และจำนวนการทดสอบที่ไม่ผ่านเหมือนกันในเซสชัน "ลองใหม่" 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