ก่อนที่จะเรียกใช้การทดสอบ CTS อัตโนมัติได้ ให้เตรียมสภาพแวดล้อมจริง ตั้งค่าเวิร์กสเตชัน และกำหนดค่าอุปกรณ์ที่คุณกำลังทดสอบ
ตั้งค่าสภาพแวดล้อมจริง
การทดสอบ CTS บางอย่างกำหนดให้ต้องใช้อุปกรณ์ภายนอกที่ตั้งอยู่ใกล้กับ DUT วิธีตั้งค่าสภาพแวดล้อมจริง
(ไม่บังคับ) หาก DUT รองรับ Bluetooth LE ให้วางบีคอน Bluetooth LE อย่างน้อย 3 ตัวภายใน 5 เมตรจาก DUT เพื่อทดสอบการสแกน Bluetooth LE นอกจากนี้
- คุณไม่จำเป็นต้องกำหนดค่าหรือปล่อยสัญญาณใดๆ ที่เฉพาะเจาะจง
- โดยบีคอนจะเป็นประเภทใดก็ได้ รวมถึง iBeacon, Eddystone หรือแม้แต่อุปกรณ์ที่จำลองบีคอน BLE
วางโทรศัพท์ไว้หน้าฉาก เช่น ผนังหรือเพดาน โดยมี ระยะห่างเท่ากับระยะโฟกัสต่ำสุดของ DUT นอกจากนี้
- ฉากต้องมีแสงสว่างเพียงพอเพื่อให้เซ็นเซอร์ภายใต้การทดสอบสามารถ
เข้าถึงและคงค่าเฟรมเป้าหมายสูงสุดต่อวินาที (FPS) ที่กำหนดค่าไว้ตามที่ระบุใน
CONTROL_AE_TARGET_FPS_RANGE
- การตั้งค่านี้ใช้กับเซ็นเซอร์กล้องทั้งหมดที่รายงานโดย
getCameraIdList
เนื่องจากการทดสอบจะวนซ้ำในอุปกรณ์ที่ระบุและวัดประสิทธิภาพ ทีละรายการ - หาก DUT รองรับกล้องภายนอก เช่น เว็บแคม USB ให้เสียบกล้องภายนอกเมื่อเรียกใช้ CTS มิฉะนั้นการทดสอบ CTS จะล้มเหลว
- ฉากต้องมีแสงสว่างเพียงพอเพื่อให้เซ็นเซอร์ภายใต้การทดสอบสามารถ
เข้าถึงและคงค่าเฟรมเป้าหมายสูงสุดต่อวินาที (FPS) ที่กำหนดค่าไว้ตามที่ระบุใน
(ไม่บังคับ) หาก DUT รองรับระบบกำหนดตำแหน่งบนโลก (GPS) หรือระบบดาวเทียมนำทางทั่วโลก (GNSS) อื่นๆ ให้ส่งสัญญาณ GNSS ไปยัง DUT ที่ระดับสัญญาณที่เหมาะสมสำหรับการรับและการคำนวณตำแหน่ง นอกจากนี้
- GPS ต้องเป็นไปตาม ICD-GPS-200C
- สัญญาณ GNSS อาจเป็นประเภทใดก็ได้ รวมถึงเครื่องจำลองดาวเทียมหรือเครื่องทวนสัญญาณกลางแจ้ง
- คุณวาง DUT ไว้ใกล้หน้าต่างเพื่อให้รับสัญญาณ GNSS จากดาวเทียมได้โดยตรง
ตรวจสอบว่าเครือข่าย Wi-Fi รองรับ IPv4 และ IPv6 มีการเชื่อมต่ออินเทอร์เน็ต ที่มี DNS สำหรับ IPv4 และ IPv6 รองรับ IP มัลติแคสต์ และสามารถ ถือว่า DUT เป็นไคลเอ็นต์ที่แยกต่างหาก
หากคุณไม่มีสิทธิ์เข้าถึงเครือข่าย IPv6 แบบเนทีฟ เครือข่ายผู้ให้บริการ IPv6 หรือ VPN เพื่อผ่านการทดสอบ IPv6 ให้ใช้ Wi-Fi AP และอุโมงค์ IPv6
ตรวจสอบว่า DUT มีการตั้งค่าสถานะ
UP
,BROADCAST
และMULTICAST
ในอินเทอร์เฟซ Wi-Fiตรวจสอบว่าอินเทอร์เฟซ Wi-Fi มีการกำหนดที่อยู่ IPv4 และ IPv6 หากต้องการตรวจสอบพร็อพเพอร์ตี้ของอินเทอร์เฟซ Wi-Fi ให้เรียกใช้
adb shell ifconfig
(ไม่บังคับ) หาก DUT รองรับ Wi-Fi STA หรือการทำงานพร้อมกันของ STA ให้ตั้งค่าเครือข่าย Wi-Fi อย่างน้อย 2 เครือข่าย เครือข่าย Wi-Fi เหล่านี้ต้องทำงานในย่านความถี่ที่แตกต่างกันโดยมี SSID ที่แตกต่างกัน หรือใน SSID เดียวกันโดยมี BSSID ที่แตกต่างกัน
(ไม่บังคับ) หาก DUT รองรับระยะเวลารับส่งข้อมูล (RTT) ของ Wi-Fi ให้ตั้งค่าอุปกรณ์ที่รองรับ RTT ของ Wi-Fi ดังนี้
- วางอุปกรณ์ RTT ของ Wi-Fi ให้อยู่ภายในระยะ 40 ฟุตจาก DUT
- เปิดอุปกรณ์ RTT ของ Wi-Fi
อุปกรณ์ 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 Library (glibc) 2.17 ขึ้นไป
ควรตั้งค่าภาษาของระบบปฏิบัติการเป็น "ภาษาอังกฤษ" เพื่อให้ CTS แก้ไขเส้นทางได้อย่างถูกต้อง
ติดตั้งซอฟต์แวร์บนเดสก์ท็อป
วิธีติดตั้งซอฟต์แวร์เดสก์ท็อปที่เหมาะสมสำหรับ CTS
ติดตั้งเวอร์ชันล่าสุดของ Android Debug Bridge (adb) และ Android Asset Packaging Tool (AAPT2) แล้วเพิ่มตำแหน่งของเครื่องมือเหล่านั้นลงในเส้นทางของระบบในเครื่องของคุณ
- ทำตามวิธีการที่จุดเริ่มต้นของเอกสารประกอบ SDK Manager เพื่อติดตั้งเครื่องมือบรรทัดคำสั่ง
sdkmanager
ลิงก์สำหรับดาวน์โหลดเครื่องมือบรรทัดคำสั่งอยู่ในส่วนเครื่องมือบรรทัดคำสั่งเท่านั้นที่ด้านล่างของหน้าดาวน์โหลด Android Studio - อัปเดตเส้นทางระบบให้มีตำแหน่งของ
sdkmanager
ที่เพิ่งติดตั้งใหม่ - ใช้
sdkmanager
เพื่อติดตั้งแพ็กเกจplatform-tools
และbuild-tools
ล่าสุด ซึ่งแพ็กเกจเหล่านี้มี adb และ AAPT2 โปรดดูข้อมูลเกี่ยวกับการติดตั้งแพ็กเกจที่หัวข้อติดตั้งแพ็กเกจ - อัปเดตเส้นทางให้รวมตำแหน่งของเครื่องมือ adb และ AAPT2 ที่เพิ่งติดตั้งใหม่
- ตรวจสอบว่า adb และ AAPT2 อยู่ในเส้นทางของคุณ
- ทำตามวิธีการที่จุดเริ่มต้นของเอกสารประกอบ SDK Manager เพื่อติดตั้งเครื่องมือบรรทัดคำสั่ง
ติดตั้ง ชุดพัฒนาซอฟต์แวร์ Java (JDK) เวอร์ชันที่เหมาะสม
- สำหรับ Android 11 ขึ้นไป ให้ติดตั้ง JDK 11
- สำหรับ Android 10 หรือต่ำกว่า โปรดดูตั้งค่า CTS (AOSP 10 หรือต่ำกว่า)
(ไม่บังคับ) สำหรับ Android 13 และ 14 ให้ติดตั้ง virtualenv ต้องใช้เครื่องมือ virtualenv สำหรับการทดสอบแบบหลายอุปกรณ์
หากต้องการตรวจสอบว่าได้ติดตั้ง Python แล้ว ให้พิมพ์
python3
เวอร์ชัน Python และวันที่ควรปรากฏขึ้นเพื่อระบุว่าได้ติดตั้ง Python อย่างถูกต้องแล้วดาวน์โหลดและเปิดแพ็กเกจ CTS จาก การดาวน์โหลดชุดเครื่องมือทดสอบความเข้ากันได้ ที่ตรงกับเวอร์ชัน Android ของอุปกรณ์และอินเทอร์เฟซไบนารีของแอปพลิเคชัน (ABI) ทั้งหมดที่อุปกรณ์รองรับ
ดาวน์โหลดและเปิดไฟล์สื่อ CTS เวอร์ชันล่าสุด ไฟล์สื่อประกอบด้วยวิดีโอคลิปจาก Big Buck Bunny ซึ่งมีลิขสิทธิ์ ของ Blender Foundation ภายใต้ สัญญาอนุญาตครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 3.0
(ไม่บังคับ) เมื่อเรียกใช้ CTS เป็นครั้งแรก ระบบจะดาวน์โหลดไฟล์ CTS บางไฟล์ที่เกี่ยวข้องกับ Mainline แบบไดนามิก การดาวน์โหลดนี้จะเพิ่มเวลาในการรัน CTS อีก 10 นาทีขึ้นไป ทั้งนี้ขึ้นอยู่กับความเร็วของเครือข่าย
หากไม่ต้องการให้ CTS ใช้เวลานานขึ้น คุณสามารถดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline ก่อนเรียกใช้ CTS ดูข้อมูลเกี่ยวกับการดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline ได้ที่ดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline
เตรียม DUT
หลังจากตั้งค่าเครื่องเดสก์ท็อปแล้ว คุณต้องตั้งค่าและกำหนดค่า DUT
ตั้งค่า DUT
วิธีตั้งค่า DUT
ตรวจสอบว่า DUT ใช้รูปภาพระบบที่อิงตามบิลด์ของผู้ใช้ที่ทราบว่าเข้ากันได้ (Android 4.0 ขึ้นไป) จาก ชื่อรหัส แท็ก และหมายเลขบิลด์ และ ใช้ตัวแปรบิลด์
user
ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรบิลด์ได้ที่เลือกเป้าหมายหาก 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 หรือต่ำกว่า)
หากอุปกรณ์รองรับการจัดการแพ็กเกจ APEX ให้ทำดังนี้
- ดาวน์โหลดแพ็กเกจ APEX Shim สำหรับ Android เวอร์ชันและ สถาปัตยกรรมฮาร์ดแวร์ที่เฉพาะเจาะจง 2 คอลัมน์ด้านซ้ายในตารางแพ็กเกจ Shim มีลิงก์ไปยังแพ็กเกจสำหรับ ดาวน์โหลด
- คัดลอกแพ็กเกจที่ดาวน์โหลดไปยัง
/system/apex
- เปลี่ยนชื่อไฟล์เป็น
com.android.apex.cts.shim.apex
หากอุปกรณ์ไม่รองรับการจัดการแพ็กเกจ APEX ให้ทำดังนี้
- ดาวน์โหลดแพ็กเกจ APEX Shim สำหรับ Android เวอร์ชันและสถาปัตยกรรมฮาร์ดแวร์ที่เฉพาะเจาะจง 2 คอลัมน์ทางด้านขวาในตารางแพ็กเกจ Shim มีลิงก์ไปยังแพ็กเกจสำหรับ ดาวน์โหลด
- คัดลอก
CtsShim.apk
ไปยัง/system/app/
- เปลี่ยนชื่อ
CtsShim.apk
เป็นCtsShimPrebuilt.apk
- คัดลอก
CtsShimPriv.apk
ไปยัง/system/priv-app/
- เปลี่ยนชื่อ
CtsShimPriv.apk
เป็นCtsShimPrivPrebuilt.apk
หากอุปกรณ์รายงานองค์ประกอบที่ปลอดภัยมากกว่า 1 รายการ ให้ทำดังนี้
- ดาวน์โหลด
google-cardlet.cap
- คัดลอกไฟล์ที่ดาวน์โหลดไปยัง
/data/uicc/cardlets/
- ดาวน์โหลด
หากอุปกรณ์รายงานองค์ประกอบที่ปลอดภัยมากกว่า 1 รายการ ให้ติดตั้ง แอปเพล็ตตัวอย่างลงในองค์ประกอบที่ปลอดภัยแบบฝัง (eSE) ของ DUT หรือลงในซิม การ์ดที่ DUT ใช้ ดูข้อมูลเพิ่มเติมได้ที่การทดสอบ CTS สำหรับ Secure Element
หากอุปกรณ์ไม่มีหน้าจอในตัว ให้เชื่อมต่อ หน้าจอกับอุปกรณ์
หากอุปกรณ์มีช่องเสียบการ์ดหน่วยความจำ ให้เสียบการ์ด SD ที่ว่างเปล่า ใช้การ์ด SD ที่รองรับบัสความเร็วสูงพิเศษ (UHS) ที่มีความจุ SDHC หรือ SDXC หรือการ์ดที่มีคลาสความเร็ว 10 ขึ้นไปเพื่อให้แน่ใจว่าการ์ดจะ ผ่าน CTS
หากอุปกรณ์มีช่องใส่ซิมการ์ด ให้เสียบซิมการ์ดที่เปิดใช้งานแล้ว ลงในแต่ละช่อง หากอุปกรณ์รองรับ SMS ซิมการ์ดแต่ละใบต้องมี ฟิลด์หมายเลขของตัวเอง สำหรับอุปกรณ์ที่ใช้ Android 12 ขึ้นไป ซิมการ์ดทั้งหมด ต้องรองรับการจัดเก็บหมายเลขโทรด่วน (ADN) ซิม GSM และ USIM ที่มีไฟล์เฉพาะของโทรคมนาคม (DFTelecom) เป็นไปตามข้อกำหนดนี้
ตรวจสอบว่าอุปกรณ์มีซิมที่มีสิทธิ์ของผู้ให้บริการ CTS ซึ่งเป็นไปตามข้อกำหนดที่ระบุไว้ในเตรียม UICC
กำหนดค่า DUT
ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่า DUT สำหรับใช้กับ CTS
ใน DUT
รีเซ็ตข้อมูลอุปกรณ์เป็นค่าเริ่มต้น
ตั้งค่าภาษาของอุปกรณ์เป็นอังกฤษ (สหรัฐอเมริกา)
หากอุปกรณ์รองรับการปรับแต่งแบบอักษรเริ่มต้น ให้ตรวจสอบว่าได้ตั้งค่าชุดแบบอักษรเริ่มต้น sans-serif เป็น Roboto
หากอุปกรณ์มีฟีเจอร์ GPS, Wi-Fi หรือเครือข่ายมือถือ ให้เปิดการตั้งค่าตำแหน่ง
เชื่อมต่อเครือข่าย Wi-Fi ที่รองรับ IPv6, สามารถถือว่า DUT เป็น ไคลเอ็นต์ที่แยกต่างหาก และมีการเชื่อมต่ออินเทอร์เน็ต ดูคำอธิบาย ของไคลเอ็นต์ที่แยกกันได้ที่ตั้งค่าสภาพแวดล้อมจริง
ตรวจสอบว่าไม่ได้ตั้งรูปแบบการล็อกหรือรหัสผ่าน
เปิดใช้การแก้ไขข้อบกพร่อง USB
ไปที่การตั้งค่า > เกี่ยวกับโทรศัพท์ แล้วแตะหมายเลขบิลด์ 7 ครั้ง ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์จะปรากฏในหมวดหมู่การตั้งค่าระบบ
แตะการแก้ไขข้อบกพร่อง USB
หากต้องการเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB ใน Android 10 หรือต่ำกว่า โปรดดูตั้งค่า CTS (AOSP 10 หรือต่ำกว่า)
ตั้งเวลาเป็นรูปแบบ 12 ชั่วโมง
เปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป > เปิดหน้าจอค้างไว้
วิธีปิดใช้การยืนยันแอปผ่าน USB
ไปที่ตัวเลือกสำหรับนักพัฒนาแอป
แตะยืนยันแอปผ่าน USB
ใน Android 13 ขึ้นไป ให้เปิดใช้โมเด็มจำลองโดยทำดังนี้
ไปที่ตัวเลือกสำหรับนักพัฒนาแอป
แตะอนุญาต Mock Modem
การตั้งค่านี้จำเป็นสำหรับการทดสอบการโทรบางอย่าง
ในเครื่องเดสก์ท็อป ให้ทำดังนี้
เปิดเบราว์เซอร์และปิดหน้าจอเริ่มต้นหรือหน้าจอการตั้งค่า
เชื่อมต่อ DUT กับเครื่องเดสก์ท็อปโดยใช้สาย USB
หากระบบแจ้งให้คุณยอมรับคีย์ RSA ที่อนุญาตการแก้ไขข้อบกพร่องผ่านคอมพิวเตอร์เครื่องนี้ ให้คลิกอนุญาตการแก้ไขข้อบกพร่องผ่าน USB
ตั้งค่า Roboto2 เป็นแบบอักษร Sans-Serif โดยใช้การตั้งค่าที่ผู้ใช้เข้าถึงได้ (ไม่ซ่อน)
คัดลอกไฟล์สื่อ CTS ไปยัง DUT โดยทำดังนี้
- ไปยัง (
cd
) เส้นทางที่ดาวน์โหลดและ คลายซิปไฟล์สื่อ เปลี่ยนสิทธิ์ของไฟล์
chmod u+x copy_media.sh
คัดลอกไฟล์โดยทำดังนี้
หากต้องการคัดลอกคลิปที่มีความละเอียดสูงสุด 720x480 ให้เรียกใช้คำสั่งต่อไปนี้
./copy_media.sh 720x480
หากไม่แน่ใจเกี่ยวกับความละเอียดสูงสุด ให้คัดลอกไฟล์ทั้งหมดโดยทำดังนี้
./copy_media.sh all
หากมี DUT หลายเครื่อง ให้เพิ่มตัวเลือกหมายเลขซีเรียล (
-s
) ของอุปกรณ์ที่เฉพาะเจาะจงต่อท้าย ตัวอย่างเช่น หากต้องการคัดลอกไฟล์ขนาดสูงสุด 720x480 ไปยังอุปกรณ์ที่มีหมายเลขซีเรียล 1234567 ให้เรียกใช้คำสั่งต่อไปนี้./copy_media.sh 720x480 -s 1234567
- ไปยัง (
ดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline
วิธีดาวน์โหลดไฟล์ CTS ที่เกี่ยวข้องกับ Mainline
รับระดับ Android API ในอุปกรณ์โดยเรียกใช้คำสั่งต่อไปนี้
adb shell getprop ro.build.version.sdk
ทำตามวิธีการในสคริปต์
download_mcts.sh
เพื่อดาวน์โหลดไฟล์ CTS หลักการดาวน์โหลดจะใช้เวลาอย่างน้อย 10 นาที ทั้งนี้ขึ้นอยู่กับความเร็วของเครือข่าย
แพ็กเกจซิม
ตารางต่อไปนี้แสดงแพ็กเกจที่พร้อมใช้งานสำหรับอุปกรณ์แต่ละเวอร์ชันและสถาปัตยกรรม
เวอร์ชันอุปกรณ์ | แพ็กเกจ (หากรองรับ APEX) | แพ็กเกจ (หากไม่รองรับ APEX) | ||
---|---|---|---|---|
เปิดระบบ | x86 | เปิดระบบ | x86 | |
Android 16 |
16-arm-release
|
android16-x86-release
|
android16-arm-CtsShim.apk
|
android16-x86-CtsShim.apk
|
Android 15 |
15-arm-release
|
android15-x86-release
|
android15-arm-CtsShim.apk
|
android15-x86-CtsShim.apk
|
Android 14 |
android14-arm-release
|
android14-x86-release
|
android14-arm-CtsShim.apk
|
android14-x86-CtsShim.apk
|
Android 13 |
android13-arm-release
|
android13-x86-release
|
android13-arm-CtsShim.apk
|
android13-x86-CtsShim.apk
|
Android 12 |
android12-arm-release
|
android12-x86-release
|
android12-arm-CtsShim.apk
|
android12-x86-CtsShim.apk
|
Android 11 |
android11-arm-release
|
android11-x86-release
|
android11-arm-CtsShim.apk
|
android11-x86-CtsShim.apk
|
Android 10 |
android10-release
|
android10-arm-CtsShim.apk
|
android10-x86-CtsShim.apk
|
|
Android 9, O และ O-MR1 | ไม่มี | ไม่มี |
arm-CtsShim.apk
|
x86-CtsShim.apk
|
สิ่งต่อไปที่ควรทำ
หลังจากอ่านเอกสารนี้แล้ว ให้ไปที่เรียกใช้การทดสอบ CTS อัตโนมัติ