ตั้งค่าการทดสอบอัตโนมัติ CTS

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

ตั้งค่าสภาพแวดล้อมจริง

การทดสอบ CTS บางรายการกำหนดให้ต้องใช้อุปกรณ์ภายนอกซึ่งต้องตั้งค่าไว้ใกล้กับ DUT วิธีตั้งค่าสภาพแวดล้อมจริง

  1. (ไม่บังคับ) หาก DUT รองรับ Bluetooth LE ให้วางบีคอน Bluetooth LE อย่างน้อย 3 ตัวในระยะ 5 เมตรจาก DUT เพื่อทดสอบการสแกน Bluetooth LE นอกจากนี้

    • โดยไม่จำเป็นต้องกำหนดค่าหรือส่งสัญญาณใดๆ โดยเฉพาะ
    • บีคอนอาจเป็นประเภทใดก็ได้ ซึ่งรวมถึง iBeacon, Eddystone หรือแม้แต่อุปกรณ์ที่จำลองบีคอน BLE
  2. วางโทรศัพท์ไว้หน้าฉาก เช่น ผนังหรือเพดาน โดยให้อยู่ห่างจากฉากในระยะที่เท่ากับระยะโฟกัสต่ำสุดของ DUT นอกจากนี้

    • ฉากต้องมีแสงสว่างเพียงพอเพื่อให้เซ็นเซอร์ที่ทดสอบถึงและคงอยู่ที่เฟรมเป้าหมายต่อวินาที (FPS) ที่กําหนดค่าไว้สูงสุดตามที่ระบุไว้ใน CONTROL_AE_TARGET_FPS_RANGE
    • การตั้งค่านี้มีผลกับเซ็นเซอร์กล้องทั้งหมดที่getCameraIdListรายงาน เนื่องจากระบบจะทดสอบอุปกรณ์ที่ระบุและวัดประสิทธิภาพทีละรายการ
    • หาก DUT รองรับกล้องภายนอก เช่น เว็บแคม USB ให้เสียบกล้องภายนอกเมื่อเรียกใช้ CTS มิฉะนั้น การทดสอบ CTS จะดำเนินการไม่สำเร็จ
  3. (ไม่บังคับ) หาก DUT รองรับระบบกำหนดตำแหน่งทั่วโลก (GPS) หรือระบบนำทางด้วยดาวเทียมทั่วโลก (GNSS) อื่นๆ ให้ส่งสัญญาณ GNSS ไปยัง DUT ที่ระดับสัญญาณที่เหมาะสมสำหรับการรับสัญญาณและการคํานวณตําแหน่ง นอกจากนี้

    • GPS ต้องเป็นไปตาม ICD-GPS-200C
    • สัญญาณ GNSS อาจเป็นสัญญาณประเภทใดก็ได้ รวมถึงเครื่องจำลองดาวเทียมหรือเครื่องขยายสัญญาณกลางแจ้ง
    • คุณสามารถวาง DUT ไว้ใกล้กับหน้าต่างเพื่อให้รับสัญญาณ GNSS จากดาวเทียมได้โดยตรง
  4. ตรวจสอบว่าเครือข่าย Wi-Fi รองรับ IPv4 และ IPv6 มีการเชื่อมต่ออินเทอร์เน็ตด้วย DNS สำหรับ IPv4 และ IPv6 รองรับ IP มัลติแคสต์ และสามารถถือว่า DUT เป็นไคลเอ็นต์แบบแยก

    หากไม่มีสิทธิ์เข้าถึงเครือข่าย IPv6 เดิม เครือข่ายผู้ให้บริการ IPv6 หรือ VPN เพื่อผ่านการทดสอบ IPv6 ให้ใช้ AP Wi-Fi และอุโมงค์ IPv6

  5. ตรวจสอบว่า DUT มีการตั้งค่า Flag UP, BROADCAST และ MULTICAST ในอินเตอร์เฟซ Wi-Fi

  6. ตรวจสอบว่าอินเทอร์เฟซ Wi-Fi ได้รับการกำหนดที่อยู่ IPv4 และ IPv6 แล้ว หากต้องการตรวจสอบพร็อพเพอร์ตี้อินเทอร์เฟซ Wi-Fi ให้เรียกใช้ adb shell ifconfig

  7. (ไม่บังคับ) หาก DUT รองรับSTA หรือ STA พร้อมกันของ Wi-Fi ให้ตั้งค่าเครือข่าย Wi-Fi อย่างน้อย 2 เครือข่าย เครือข่าย Wi-Fi เหล่านี้ต้องทำงานในย่านความถี่ที่แตกต่างกันโดยมี SSID ต่างกัน หรือใน SSID เดียวกันโดยมี BSSID ต่างกัน

  8. (ไม่บังคับ) หาก DUT รองรับระยะเวลารับส่งข้อมูล (RTT) ของ Wi-Fi ให้ตั้งค่าอุปกรณ์ที่รองรับ RTT ของ Wi-Fi ดังนี้

    1. วางอุปกรณ์ RTT ของ Wi-Fi ไว้ในระยะ 40 ฟุตจาก DUT
    2. เปิดอุปกรณ์ Wi-Fi RTT

    อุปกรณ์ 2 รายการที่แนะนำซึ่งรองรับ Wi-Fi RTT มีดังนี้ - Google Wifi - จุดเข้าใช้งาน fitlet2 ของ Compulab (ตั้งค่าเป็นแบนด์วิดท์ 40 MHz ที่ 5 GHz)

ตั้งค่าเครื่องเดสก์ท็อป

ก่อนทำการทดสอบ CTS แบบอัตโนมัติ โปรดตรวจสอบว่าเครื่องเดสก์ท็อปของคุณมีคุณสมบัติตรงตามข้อกำหนดของฮาร์ดแวร์และระบบปฏิบัติการ รวมถึงมีการติดตั้งซอฟต์แวร์ที่เหมาะสมตามที่อธิบายไว้ในส่วนต่อไปนี้

ข้อกำหนดของฮาร์ดแวร์ Meet

เครื่องเดสก์ท็อป CTS ควรเป็นไปตามข้อกำหนดด้านฮาร์ดแวร์ต่อไปนี้หรือมากกว่า

  • ระบบ x86 64 บิต

  • พื้นที่ว่างในดิสก์อย่างน้อย 256 GB เพื่อรองรับจำนวนเทสเคส CTS ที่เพิ่มขึ้นและการจองพื้นที่ฮีป Java ที่เพิ่มขึ้นใน Tradefed

  • RAM อย่างน้อย 32 GB

มีคุณสมบัติตรงตามข้อกำหนดของระบบปฏิบัติการ

เครื่องสำหรับพัฒนาซอฟต์แวร์ของคุณต้องใช้ระบบปฏิบัติการ Linux แบบ 64 บิตที่มีคลัง GNU C (glibc) เวอร์ชัน 2.17 ขึ้นไป

ติดตั้งซอฟต์แวร์บนเดสก์ท็อป

วิธีติดตั้งซอฟต์แวร์เดสก์ท็อปที่เหมาะสมสำหรับ CTS

  1. ติดตั้งแพ็กเกจ FFmpeg เวอร์ชัน 5.1.3 ขึ้นไป

  2. ติดตั้ง Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT2) เวอร์ชันล่าสุด และเพิ่มตำแหน่งของเครื่องมือเหล่านั้นลงในเส้นทางของระบบของเครื่อง

    1. ทําตามวิธีการที่จุดเริ่มต้นของเอกสารประกอบSDK Manager เพื่อติดตั้งเครื่องมือบรรทัดคําสั่ง sdkmanager ลิงก์สำหรับดาวน์โหลดเครื่องมือบรรทัดคำสั่งอยู่ในส่วนเครื่องมือบรรทัดคำสั่งเท่านั้นที่ด้านล่างของหน้าดาวน์โหลด Android Studio
    2. อัปเดตเส้นทางของระบบให้รวมตำแหน่งของ sdkmanager ที่ติดตั้งใหม่
    3. ใช้ sdkmanager เพื่อติดตั้งแพ็กเกจ platform-tools และ build-tools เวอร์ชันล่าสุด แพ็กเกจเหล่านี้มี adb และ AAPT2 โปรดดูข้อมูลการติดตั้งแพ็กเกจที่หัวข้อติดตั้งแพ็กเกจ
    4. อัปเดตเส้นทางให้รวมตำแหน่งของเครื่องมือ adb และ AAPT2 ที่ติดตั้งใหม่
    5. ตรวจสอบว่า adb และ AAPT2 อยู่ในเส้นทางของคุณ
  3. ติดตั้ง Java Development Kit (JDK) เวอร์ชันที่เหมาะสม

  4. (ไม่บังคับ) สําหรับ Android 13 ขึ้นไป ให้ติดตั้ง virtualenv ต้องใช้เครื่องมือ virtualenv สำหรับการทดสอบหลายอุปกรณ์

  5. พิมพ์ python3 เพื่อตรวจสอบว่าได้ติดตั้ง Python แล้ว เวอร์ชันและวันที่ของ Python ควรปรากฏขึ้นเพื่อระบุว่าติดตั้ง Python อย่างถูกต้องแล้ว

  6. ดาวน์โหลดและเปิดแพ็กเกจ CTS จากการดาวน์โหลดชุดเครื่องมือทดสอบความเข้ากันได้ที่ตรงกับเวอร์ชัน Android ของอุปกรณ์และอินเทอร์เฟซไบนารีของแอปพลิเคชัน (ABI) ทั้งหมดที่อุปกรณ์รองรับ

  7. ดาวน์โหลดและเปิดไฟล์สื่อ CTS เวอร์ชันล่าสุด ไฟล์สื่อดังกล่าวมีวิดีโอคลิปจาก Big Buck Bunny ซึ่ง Blender Foundation เป็นเจ้าของลิขสิทธิ์ภายใต้ใบอนุญาตครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 3.0

  8. (ไม่บังคับ) เมื่อคุณเรียกใช้ CTS เป็นครั้งแรก ระบบจะดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline บางไฟล์แบบไดนามิก การดาวน์โหลดนี้จะเพิ่มเวลาในการเรียกใช้ CTS ขึ้นอีก 10 นาทีขึ้นไป ทั้งนี้ขึ้นอยู่กับความเร็วของเครือข่าย

    หากต้องการหลีกเลี่ยงรันไทม์ CTS ที่เพิ่มขึ้นนี้ คุณสามารถดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline ก่อนเรียกใช้ CTS ดูข้อมูลเกี่ยวกับการดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline ได้ที่หัวข้อดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline

เตรียม DUT

หลังจากตั้งค่าเครื่องเดสก์ท็อปแล้ว คุณต้องตั้งค่าและกำหนดค่า DUT

ตั้งค่า DUT

วิธีตั้งค่า DUT

  1. ตรวจสอบว่า DUT ใช้งานอิมเมจระบบตามบิลด์ผู้ใช้ที่ทราบว่าเข้ากันได้ (Android 4.0 ขึ้นไป) จากชื่อรหัส แท็ก และหมายเลขบิลด์ และใช้ตัวแปรบิลด์ user ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรการสร้างได้ที่หัวข้อเลือกเป้าหมาย

  2. หาก DUT ใช้งาน Android 13 ขึ้นไป ให้ตรวจสอบว่าบิลด์ได้ตั้งค่า ro.product.first_api_level เป็น API ระดับเดียวกับที่อุปกรณ์เปิดตัวเชิงพาณิชย์ หากต้องการตั้งค่านี้ ให้ทําการเปลี่ยนแปลงต่อไปนี้ในไฟล์ device.mk

    PRODUCT_SHIPPING_API_LEVEL := 21
    

    ข้อกำหนด CTS บางประการขึ้นอยู่กับบิลด์ที่อุปกรณ์มีให้ตั้งแต่แรก ตัวอย่างเช่น อุปกรณ์ที่มาพร้อมกับบิลด์เวอร์ชันเก่าตั้งแต่แรกอาจไม่เป็นไปตามข้อกำหนดของระบบที่ใช้กับอุปกรณ์ที่มาพร้อมกับบิลด์เวอร์ชันใหม่ ดูค่าระดับ API ที่ถูกต้องได้ที่ชื่อเวอร์ชัน แท็ก และหมายเลขบิลด์ ดูข้อมูลเพิ่มเติมเกี่ยวกับ ro.product.first_api_level ได้ที่ระดับ API ของผู้ให้บริการ

    สำหรับ Android 10 หรือต่ำกว่า โปรดดูหัวข้อตั้งค่า CTS (AOSP 10 หรือต่ำกว่า)

  3. หากอุปกรณ์รองรับการจัดการแพ็กเกจ APEX ให้ทำดังนี้

    1. ดาวน์โหลดแพ็กเกจชิม APEX สำหรับเวอร์ชัน Android และสถาปัตยกรรมฮาร์ดแวร์ที่ต้องการ 2 คอลัมน์ทางด้านซ้ายในตารางแพ็กเกจชิมจะมีลิงก์ไปยังแพ็กเกจที่จะดาวน์โหลด
    2. คัดลอกแพ็กเกจที่ดาวน์โหลดไปยัง /system/apex
    3. เปลี่ยนชื่อไฟล์เป็น com.android.apex.cts.shim.apex
  4. หากอุปกรณ์ไม่รองรับการจัดการแพ็กเกจ APEX ให้ทำดังนี้

    1. ดาวน์โหลดแพ็กเกจชิม APEX สำหรับเวอร์ชัน Android และสถาปัตยกรรมฮาร์ดแวร์ที่ต้องการ 2 คอลัมน์ทางด้านขวาในตารางแพ็กเกจชิมจะมีลิงก์ไปยังแพ็กเกจที่จะดาวน์โหลด
    2. คัดลอก CtsShim.apk ไปยัง /system/app/
    3. เปลี่ยนชื่อ CtsShim.apk เป็น CtsShimPrebuilt.apk
    4. คัดลอก CtsShimPriv.apk ไปยัง /system/priv-app/
    5. เปลี่ยนชื่อ CtsShimPriv.apk เป็น CtsShimPrivPrebuilt.apk
  5. หากอุปกรณ์รายงานองค์ประกอบที่ปลอดภัยมากกว่า 1 รายการ ให้ทำดังนี้

    1. ดาวน์โหลด google-cardlet.cap
    2. คัดลอกไฟล์ที่ดาวน์โหลดไปยัง /data/uicc/cardlets/
  6. หากอุปกรณ์รายงานองค์ประกอบที่ปลอดภัยมากกว่า 1 รายการ ให้ติดตั้งแอปเพล็ตตัวอย่างลงในองค์ประกอบที่ปลอดภัยแบบฝัง (eSE) ของ DUT หรือลงในซิมการ์ดที่ DUT ใช้ ดูข้อมูลเพิ่มเติมได้ที่การทดสอบ CTS สำหรับองค์ประกอบที่ปลอดภัย

  7. หากอุปกรณ์ไม่มีหน้าจอแบบฝัง ให้เชื่อมต่อหน้าจอกับอุปกรณ์

  8. หากอุปกรณ์มีช่องเสียบการ์ดหน่วยความจำ ให้เสียบการ์ด SD ที่ว่างเปล่า ใช้การ์ด SD ที่รองรับบัสความเร็วสูงพิเศษ (UHS) ที่มีความจุ SDHC หรือ SDXC หรือการ์ดที่มีระดับความเร็ว 10 ขึ้นไปเพื่อให้แน่ใจว่าสามารถผ่าน CTS

  9. หากอุปกรณ์มีช่องใส่ซิมการ์ด ให้เสียบซิมการ์ดที่เปิดใช้งานแล้วลงในช่องแต่ละช่อง หากอุปกรณ์รองรับ SMS ซิมการ์ดแต่ละใบต้องมีการป้อนข้อมูลในช่องหมายเลขของตัวเอง สำหรับอุปกรณ์ที่ใช้ Android 12 ขึ้นไป ซิมการ์ดทั้งหมดต้องรองรับการจัดเก็บหมายเลขโทรศัพท์แบบย่อ (ADN) การ์ด GSM และ USIM ที่มีไฟล์เฉพาะสำหรับโทรคมนาคม (DFTelecom) เป็นไปตามข้อกำหนดนี้

  10. ตรวจสอบว่าอุปกรณ์มีซิมที่มีสิทธิ์ของผู้ให้บริการ CTS ซึ่งเป็นไปตามข้อกำหนดที่ระบุไว้ในเตรียม UICC

กำหนดค่า DUT

ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่า DUT เพื่อใช้กับ CTS

ใน DUT

  1. รีเซ็ตข้อมูลเป็นค่าเริ่มต้นในอุปกรณ์

  2. ตั้งค่าภาษาของอุปกรณ์เป็นอังกฤษ (สหรัฐอเมริกา)

  3. หากอุปกรณ์รองรับการปรับแต่งแบบอักษรเริ่มต้น ให้ตรวจสอบว่าได้ตั้งค่าชุดแบบอักษร sans-serif เริ่มต้นเป็น Roboto

  4. หากอุปกรณ์มีฟีเจอร์ GPS, Wi-Fi หรือเครือข่ายมือถือ ให้เปิดใช้การตั้งค่าตำแหน่ง

  5. เชื่อมต่อเครือข่าย Wi-Fi ที่รองรับ IPv6, จัดการ DUT เป็นไคลเอ็นต์แบบแยก และเชื่อมต่ออินเทอร์เน็ตได้ ดูคำอธิบายเกี่ยวกับไคลเอ็นต์ที่แยกไว้ได้ที่ตั้งค่าสภาพแวดล้อมจริง

  6. ตรวจสอบว่าไม่ได้ตั้งค่ารูปแบบการล็อกหรือรหัสผ่านไว้

  7. เปิดใช้การแก้ไขข้อบกพร่องผ่าน USB

    1. ไปที่การตั้งค่า > เกี่ยวกับโทรศัพท์ แล้วแตะหมายเลขบิลด์ 7 ครั้ง ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์จะปรากฏในหมวดหมู่การตั้งค่าระบบ

    2. แตะการแก้ไขข้อบกพร่อง USB

    หากต้องการเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB ใน Android 10 หรือต่ำกว่า โปรดดูตั้งค่า CTS (AOSP 10 หรือต่ำกว่า)

  8. ตั้งเวลาเป็นรูปแบบ 12 ชั่วโมง

  9. เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป > เปิดเครื่องไว้

  10. วิธีปิดใช้การตรวจสอบแอปผ่าน USB

    1. ไปที่ตัวเลือกสำหรับนักพัฒนาแอป

    2. แตะยืนยันแอปผ่าน USB

  11. ใน Android 13 ขึ้นไป ให้เปิดใช้โมเด็มจำลองโดยทำดังนี้

    1. ไปที่ตัวเลือกสำหรับนักพัฒนาแอป

    2. แตะอนุญาต Mock Modem

    การตั้งค่านี้จำเป็นสำหรับการทดสอบโทรศัพท์บางรายการ

ในเครื่องเดสก์ท็อป ให้ทำดังนี้

  1. เปิดเบราว์เซอร์และปิดหน้าจอเริ่มต้นหรือการตั้งค่า

  2. เชื่อมต่อ DUT กับเครื่องเดสก์ท็อปโดยใช้สาย USB

  3. หากระบบแจ้งให้คุณยอมรับคีย์ RSA ที่อนุญาตให้แก้ไขข้อบกพร่องผ่านคอมพิวเตอร์นี้ ให้คลิกอนุญาตการแก้ไขข้อบกพร่องผ่าน USB

  4. ตั้งค่า Roboto2 เป็นแบบอักษรที่ไม่มี Serif โดยใช้การตั้งค่าที่ผู้ใช้เข้าถึงได้ (ไม่ได้ซ่อนไว้)

  5. คัดลอกไฟล์สื่อ CTS ไปยัง DUT โดยทำดังนี้

    1. ไปที่ (cd) เส้นทางที่ดาวน์โหลดไฟล์สื่อและแตกไฟล์
    2. เปลี่ยนสิทธิ์ของไฟล์

      chmod u+x copy_media.sh
      
    3. คัดลอกไฟล์โดยทำดังนี้

      • หากต้องการคัดลอกคลิปที่มีความละเอียดสูงสุด 720x480 ให้เรียกใช้คำสั่งต่อไปนี้

        ./copy_media.sh 720x480
      • หากไม่แน่ใจเกี่ยวกับความละเอียดสูงสุด ให้คัดลอกไฟล์ทั้งหมดโดยทำดังนี้

        ./copy_media.sh all
      • หากมี DUT หลายเครื่อง ให้เพิ่มตัวเลือกซีเรียล (-s) ของอุปกรณ์ที่ต้องการไว้ที่ท้าย เช่น หากต้องการคัดลอกสูงสุด 720x480 ไปยังอุปกรณ์ที่มีซีเรียล 1234567 ให้เรียกใช้คำสั่งต่อไปนี้

        ./copy_media.sh 720x480 -s 1234567

ดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline

วิธีดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline

  1. ดูระดับ Android API ในอุปกรณ์โดยเรียกใช้คำสั่งต่อไปนี้

    adb shell getprop ro.build.version.sdk
    
  2. ทำตามวิธีการในสคริปต์ download_mcts.sh เพื่อดาวน์โหลดไฟล์ CTS หลัก

    การดาวน์โหลดจะใช้เวลาอย่างน้อย 10 นาที ทั้งนี้ขึ้นอยู่กับความเร็วของเครือข่าย

แพ็กเกจ Shim

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

เวอร์ชันอุปกรณ์ แพ็กเกจ (หากรองรับ APEX) แพ็กเกจ (หากระบบไม่รองรับ APEX)
เปิดระบบ x86 เปิดระบบ x86
Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O และ O-MR1 ไม่มี ไม่มี arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

สิ่งต่อไปที่ควรทำ

หลังจากอ่านเอกสารนี้แล้ว ให้เรียกใช้การทดสอบ CTS แบบอัตโนมัติต่อ