ก่อนทำการทดสอบ 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 ให้ใช้ AP Wi-Fi และอุโมงค์ IPv6
ตรวจสอบว่า DUT มีการตั้งค่า Flag
UP
,BROADCAST
และMULTICAST
ในอินเตอร์เฟซ Wi-Fiตรวจสอบว่าอินเทอร์เฟซ Wi-Fi ได้รับการกำหนดที่อยู่ IPv4 และ IPv6 แล้ว หากต้องการตรวจสอบพร็อพเพอร์ตี้อินเทอร์เฟซ Wi-Fi ให้เรียกใช้
adb shell ifconfig
(ไม่บังคับ) หาก DUT รองรับSTA หรือ STA พร้อมกันของ Wi-Fi ให้ตั้งค่าเครือข่าย Wi-Fi อย่างน้อย 2 เครือข่าย เครือข่าย Wi-Fi เหล่านี้ต้องทำงานในย่านความถี่ที่แตกต่างกันโดยมี SSID ต่างกัน หรือใน SSID เดียวกันโดยมี BSSID ต่างกัน
(ไม่บังคับ) หาก DUT รองรับระยะเวลารับส่งข้อมูล (RTT) ของ Wi-Fi ให้ตั้งค่าอุปกรณ์ที่รองรับ RTT ของ Wi-Fi ดังนี้
- วางอุปกรณ์ RTT ของ Wi-Fi ไว้ในระยะ 40 ฟุตจาก DUT
- เปิดอุปกรณ์ 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
ติดตั้ง 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 Development Kit (JDK) เวอร์ชันที่เหมาะสม
- สําหรับ Android 11 ขึ้นไป ให้ติดตั้ง JDK 11
- สำหรับ Android 10 หรือต่ำกว่า โปรดดูตั้งค่า CTS (AOSP 10 หรือต่ำกว่า)
(ไม่บังคับ) สําหรับ Android 13 ขึ้นไป ให้ติดตั้ง virtualenv ต้องใช้เครื่องมือ virtualenv สำหรับการทดสอบหลายอุปกรณ์
พิมพ์
python3
เพื่อตรวจสอบว่าได้ติดตั้ง Python แล้ว เวอร์ชันและวันที่ของ 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 สำหรับเวอร์ชัน Android และสถาปัตยกรรมฮาร์ดแวร์ที่ต้องการ 2 คอลัมน์ทางด้านซ้ายในตารางแพ็กเกจชิมจะมีลิงก์ไปยังแพ็กเกจที่จะดาวน์โหลด
- คัดลอกแพ็กเกจที่ดาวน์โหลดไปยัง
/system/apex
- เปลี่ยนชื่อไฟล์เป็น
com.android.apex.cts.shim.apex
หากอุปกรณ์ไม่รองรับการจัดการแพ็กเกจ APEX ให้ทำดังนี้
- ดาวน์โหลดแพ็กเกจชิม APEX สำหรับเวอร์ชัน Android และสถาปัตยกรรมฮาร์ดแวร์ที่ต้องการ 2 คอลัมน์ทางด้านขวาในตารางแพ็กเกจชิมจะมีลิงก์ไปยังแพ็กเกจที่จะดาวน์โหลด
- คัดลอก
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 สำหรับองค์ประกอบที่ปลอดภัย
หากอุปกรณ์ไม่มีหน้าจอแบบฝัง ให้เชื่อมต่อหน้าจอกับอุปกรณ์
หากอุปกรณ์มีช่องเสียบการ์ดหน่วยความจำ ให้เสียบการ์ด 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 เป็นแบบอักษรที่ไม่มี 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 นาที ทั้งนี้ขึ้นอยู่กับความเร็วของเครือข่าย
แพ็กเกจ Shim
ตารางต่อไปนี้แสดงแพ็กเกจที่ใช้ได้สำหรับเวอร์ชันและสถาปัตยกรรมของอุปกรณ์แต่ละรุ่น
เวอร์ชันอุปกรณ์ | แพ็กเกจ (หากรองรับ APEX) | แพ็กเกจ (หากระบบไม่รองรับ APEX) | ||
---|---|---|---|---|
เปิดระบบ | x86 | เปิดระบบ | x86 | |
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 แบบอัตโนมัติต่อ