เรียกใช้การทดสอบ 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-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

  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