เรียกใช้การทดสอบ CTS

Trade Federation เป็นเฟรมเวิร์กการทดสอบอย่างต่อเนื่องสําหรับการทดสอบในอุปกรณ์ Android หากต้องการเรียกใช้ชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) ก่อนอื่นให้อ่านภาพรวมของ Trade Federation เพื่อดูคำอธิบายเฟรมเวิร์กการทดสอบ Tradefed

วิธีเรียกใช้แผนการทดสอบ

  1. ตั้งค่าอุปกรณ์ทดสอบ (DUT) ตามการตั้งค่าอุปกรณ์ Android
  2. ตรวจสอบว่าคุณได้ติดตั้งทั้ง Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT) เวอร์ชันล่าสุด รวมถึงเพิ่มตำแหน่งของเครื่องมือเหล่านั้นลงในเส้นทางของระบบของเครื่องแล้ว ดูข้อมูลเกี่ยวกับการติดตั้งเครื่องมือดังกล่าวได้ที่หัวข้อการตั้งค่า CTS: ADB และ AAPT
  3. ดาวน์โหลดบิลด์ CTS ที่เผยแพร่ลงในเครื่องโฮสต์ Linux แล้วแตกไฟล์บิลด์ไปยังตำแหน่งโฮสต์
  4. เชื่อมต่ออุปกรณ์อย่างน้อย 1 เครื่อง วิธีเตรียม DUT
    • กดปุ่มหน้าแรกเพื่อตั้งค่าอุปกรณ์เป็นหน้าจอหลัก
    • อย่าใช้ DUT ทำงานอย่างอื่น
    • วาง DUT ไว้ในตำแหน่งคงที่เพื่อหลีกเลี่ยงการทริกเกอร์การทำงานของเซ็นเซอร์
    • เล็งกล้องของอุปกรณ์ไปที่วัตถุที่โฟกัสได้
    • อย่ากดแป้นใดๆ ในอุปกรณ์ขณะที่ CTS ทำงานอยู่ การกดแป้นพิมพ์หรือสัมผัสหน้าจอของ DUT จะรบกวนการทดสอบที่กำลังดำเนินอยู่และอาจทำให้การทดสอบล้มเหลว
  5. เปิดสคริปต์ cts-tradefed ของคอนโซล CTS จากโฟลเดอร์ที่แตกไฟล์ CTS ไว้ ในเชลล์บรรทัดคำสั่งของโฮสต์ ให้เรียกใช้คำสั่งต่อไปนี้

    ./android-cts/tools/cts-tradefed
  6. เรียกใช้แผนการทดสอบเริ่มต้น (มีแพ็กเกจทดสอบทั้งหมด)

    • สำหรับ 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

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

  8. เรียกใช้เซสชันการลองอีกครั้งในการทดสอบที่มีพารามิเตอร์ซึ่งไม่สําเร็จเท่านั้น ระบบจะไม่ลองทดสอบที่มีพารามิเตอร์อีกครั้งหากทดสอบผ่าน

    • สำหรับ Android 11 ขึ้นไป ระบบจะเปิดใช้ตัวเลือกคำสั่ง "ลองอีกครั้ง" ต่อไปนี้โดยค่าเริ่มต้นในคำสั่ง run cts

      run retry --retry  --new-parameterized-handling
  9. ดูความคืบหน้าและการรายงานผลลัพธ์การทดสอบในคอนโซล

เรียกใช้ 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