ตั้งแต่ Android 13 เป็นต้นไป ITS ของกล้องจะรองรับการทดสอบสำหรับอุปกรณ์แบบพับได้ อุปกรณ์แบบพับได้มีกล้องที่พร้อมใช้งานหรือ ไม่พร้อมใช้งาน ขึ้นอยู่กับว่าอุปกรณ์อยู่ในสถานะพับอยู่หรือกางออก
รหัสกล้องจะเปลี่ยนไปตามประเภท รุ่น และแบรนด์ของอุปกรณ์ รวมถึงความพร้อมใช้งานของกล้องหน้าจริงจะเปลี่ยนไปตามสถานะ เนื่องจาก กล้อง ITS จะกำหนดฉากและการผสมผสานกล้องแบบไดนามิก เพื่อการทดสอบ เนื่องจากต้องทดสอบกล้องทั้งในสถานะพับและไม่พับ การทดสอบอุปกรณ์แบบพับได้จึงกำหนดให้ต้องติดตั้ง DUT อีกครั้งในระหว่างกระบวนการทดสอบ
การทดสอบกล้องหน้าและกล้องหลัง
เซ็นเซอร์ของกล้องที่มีในอุปกรณ์แบบพับได้จะแตกต่างกันไป ขึ้นอยู่กับ อุปกรณ์อยู่ในสถานะพับหรือกางออก สำหรับอุปกรณ์แบบพับได้ ความพร้อมใช้งานของกล้องหน้าจะเปลี่ยนไปตามสถานะ ตัวอย่างเช่น ด้านหน้า กล้องไม่พร้อมใช้งานในสถานะพับอยู่ การเปลี่ยนแปลงความพร้อมใช้งานของกล้องหน้านี้ทำให้ต้องทดสอบกล้องหน้าทั้งในสภาวะพับและไม่พับ กล้องหลังถือว่าความพร้อมใช้งานของกล้องหลังยังคงเป็น ไม่ว่าอุปกรณ์จะพับหรือกางออก ดังนั้นกล้องหลังจึงต้องจำเป็น เพียงครั้งเดียว
ITS ของกล้องจะกรองอุปกรณ์กล้องที่ไม่พร้อมใช้งานออก และอุปกรณ์กล้องจะไม่ปรากฏในรายการชุดค่าผสมของกล้องและฉาก ทั้งนี้ขึ้นอยู่กับสถานะของอุปกรณ์
ตารางต่อไปนี้อธิบายลักษณะการทดสอบ ITS ของกล้องสำหรับกล้องแต่ละตัว การวางแนว
การวางแนวของกล้อง | ลักษณะการทดสอบ ITS ของกล้อง |
---|---|
กล้องหลัง | ทดสอบกล้อง 1 ครั้งในสถานะพับหรือกาง |
กล้องหน้าหลัก | ทดสอบกล้อง 1 ครั้งในสถานะพับอยู่และครั้งเดียวใน สถานะที่กางออก |
กล้องหน้าจริง | ทดสอบกล้องเฉพาะในสถานะที่มีกล้องอยู่ พร้อมใช้งาน |
ขั้นตอนการทดสอบ
ส่วนนี้จะอธิบายขั้นตอนการทดสอบกล้องสำหรับอุปกรณ์แบบพับได้
ตั้งค่าอุปกรณ์
โปรดดูข้อมูลการตั้งค่าที่หัวข้อการตั้งค่า
ให้สิทธิ์เข้าถึง API การทดสอบ
หากต้องการให้ ITS ตรวจสอบการทำงานของอุปกรณ์เป็นแบบพับได้ คุณต้อง ให้สิทธิ์เข้าถึง API การทดสอบก่อนเรียกใช้การทดสอบ หากไม่มีสิทธิ์เข้าถึง การเรียกใช้การทดสอบ ITS ของกล้องส่งผลให้แอปขัดข้อง
หากต้องการให้สิทธิ์เข้าถึง ให้เรียกใช้คำสั่ง ADB ต่อไปนี้ ต้องเรียกใช้คำสั่งนี้ 1 ครั้งต่ออุปกรณ์ 1 เครื่อง หากติดตั้ง CTS Verifier อีกครั้งด้วยเวอร์ชันอื่น คุณต้องเรียกใช้คำสั่งอีกครั้ง
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
ไฟล์การกําหนดค่า
หากต้องการระบุว่าอุปกรณ์ดังกล่าวเป็นอุปกรณ์แบบพับได้ ให้เพิ่ม foldable_device
ทั้งใน tablet
และ sensor_fusion
ทดสอบใน config.yml
ITS ของกล้องใช้พารามิเตอร์นี้เพื่อกำหนดการผสมผสาน camera_id
และฉากสำหรับสถานะพับและไม่พับ
ต่อไปนี้เป็นตัวอย่างไฟล์ config.yml
สำหรับอุปกรณ์แบบพับได้
TestBeds:
- Name: TABLET_SCENES
# Test configuration for scenes[0:4, 6]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # "quotes" needed
chart_loc_arg: ""
camera: 0
scene: scene2_a
lighting_cntl: arduino # can be "arduino" or "None"
lighting_ch: 1
foldable_device: "True" # "False" for non-foldable DUTs
ทำการทดสอบ
หากต้องการเรียกใช้การทดสอบ ITS ในอุปกรณ์แบบพับได้ ให้เรียกใช้คําสั่ง run_all_tests.py
โปรดดูรายละเอียดที่
การเรียกใช้การทดสอบ
เมื่อเรียกใช้ ITS ของกล้องในอุปกรณ์แบบพับได้ ระบบจะทดสอบกล้องหน้าหลักทั้งในสถานะพับและไม่พับ หากอุปกรณ์พับอยู่ ผลลัพธ์จะแสดงในตัวเลือก camera1_SCENE_NAME_folded
ในแอป CTS Verifier รหัสกล้องหน้าบางรหัสอาจไม่พร้อมใช้งานและจะไม่ได้รับการทดสอบ ทั้งนี้ขึ้นอยู่กับสถานะของอุปกรณ์
กล้องหลังต้องทดสอบเพียงสถานะเดียว หากเป็นไปได้
และผลลัพธ์สำหรับกล้องหลังไม่มีคำต่อท้าย _folded
หากต้องการตรวจสอบว่าฉากแบบพับจะทำงานเมื่ออุปกรณ์พับอยู่และตรวจสอบสถานะของ DUT แบบพับได้ ให้เรียกใช้คำสั่งต่อไปนี้
adb shell cmd device_state state
ขณะดำเนินการทดสอบในสถานะพับอยู่ ITS ของกล้องจะแสดงข้อความใน เทอร์มินัลเพื่อแจ้งให้ผู้ใช้ตั้งค่าอุปกรณ์อย่างเหมาะสมใน ITS หากต้องการเรียกใช้การทดสอบต่อหลังจากพรอมต์ ให้กด Enter
หากคุณกำลังใช้ฉากทั้งหมดทั้งในสถานะพับอยู่และกางออก ฉากต่างๆ จะถูกดำเนินการก่อน แล้วตามด้วยฉากที่กางออก วิธีนี้ช่วยลดจํานวนการต่อเชื่อมใหม่ที่จําเป็นในระหว่างการทดสอบ
ITS สำหรับกล้องถ่ายรูปยังเพิ่มส่วนต่อท้าย folded
ลงในไดเรกทอรี tmp
ด้วย
ที่สร้างขึ้นสำหรับฉากพับได้
คำสั่งตัวอย่าง
ต่อไปนี้คือตัวอย่างคำสั่งสำหรับการเรียกใช้การทดสอบในอุปกรณ์แบบพับได้
คำสั่ง | คำอธิบาย |
---|---|
python tools/run_all_tests.py |
แสดงในทุกฉาก |
python tools/run_all_tests.py scenes=scene0 |
เรียกใช้ scene0 หากอุปกรณ์พับอยู่และผู้ใช้กำลังทดสอบกล้องหน้าหลัก สคริปต์จะกำหนดสถานะของอุปกรณ์และเพิ่มส่วนต่อท้าย _folded ต่อท้ายชื่อฉาก ผู้ใช้ไม่จําเป็นต้องใส่ส่วนต่อท้ายเพื่อเรียกใช้ฉากแบบพับ |
python tests/scene0/ |
ทำการทดสอบที่เฉพาะเจาะจง |