از اندروید 13، Camera ITS شامل پشتیبانی آزمایشی برای دستگاههای تاشو میشود. دستگاههای تاشو دارای دوربینهایی هستند که بسته به اینکه دستگاه در حالت تاشده یا بازشده باشد، در دسترس یا در دسترس نیستند.
شناسههای دوربین بسته به نوع دستگاه، مدل و برند تغییر میکنند. و در دسترس بودن دوربین های جلوی فیزیکی بسته به وضعیت تغییر می کند. به همین دلیل، Camera ITS به صورت پویا صحنه و ترکیب دوربین را برای آزمایش تعیین می کند. از آنجایی که دوربین ها باید در هر دو حالت تا شده و باز تست شوند، آزمایش تاشوها نیاز به نصب مجدد DUT در طول فرآیند تست دارد.
تست دوربین جلو و عقب
حسگرهای دوربین موجود در یک دستگاه تاشو بسته به اینکه دستگاه در حالت تا شده یا تا شده باشد متفاوت است. در مورد تاشوها، بسته به وضعیت در دسترس بودن دوربین جلو تغییر می کند. برای مثال، دوربین جلو در حالت تا شده در دسترس نیست. به دلیل این تغییر در دسترس بودن دوربین جلو، دوربین های جلو باید در هر دو حالت تا شده و باز تست شوند. دوربین ITS فرض میکند که در دسترس بودن دوربین عقب، چه دستگاه تا شده یا باز باشد، یکسان باقی میماند، بنابراین دوربینهای عقب فقط یک بار باید آزمایش شوند.
بسته به وضعیت دستگاه، Camera ITS دستگاههای دوربین در دسترس را فیلتر میکند و دستگاههای دوربین در لیست ترکیبهای دوربین و صحنه ظاهر نمیشوند.
جدول زیر رفتار تست دوربین ITS را برای هر جهت دوربین توضیح می دهد.
جهت گیری دوربین | رفتار تست دوربین ITS |
---|---|
دوربین عقب | دوربین را یک بار در حالت تا شده یا باز تست می کند |
دوربین جلوی اصلی | دوربین را یک بار در حالت تا شده و یک بار در حالت باز تست می کند. |
دوربین جلو فیزیکی | دوربین را فقط در ایالاتی که دوربین در دسترس است آزمایش می کند. |
روش تست
این بخش مراحل تست دوربین ها را برای دستگاه های تاشو توضیح می دهد.
دستگاه را راه اندازی کنید
برای اطلاعات راهاندازی، به تنظیمات مراجعه کنید.
اجازه دسترسی آزمایشی به API
برای اینکه Camera ITS تعیین کند که آیا دستگاه تاشو است یا خیر، باید قبل از فراخوانی آزمایشها، به API آزمایشی دسترسی بدهید. اگر دسترسی اعطا نشد، اجرای آزمایشهای Camera ITS منجر به خرابی برنامه میشود.
برای دادن دسترسی، دستور ADB زیر را اجرا کنید. این دستور باید یک بار برای یک دستگاه اجرا شود. اگر CTS Verifier با نسخه دیگری دوباره نصب شود، باید دستور را دوباره اجرا کنید.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
فایل پیکربندی
برای مشخص کردن اینکه دستگاه یک دستگاه تاشو است، پارامتر foldable_device
را در هر دو بستر تست tablet
و sensor_fusion
در فایل config.yml
اضافه کنید. Camera 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
را اجرا کنید. برای جزئیات، به آزمونهای فراخوانی مراجعه کنید.
هنگام اجرای Camera ITS بر روی یک دستگاه تاشو، دوربین جلوی اصلی در هر دو حالت تا شده و باز آزمایش می شود. اگر دستگاه تا شده باشد، نتایج در زیر گزینه camera1_ SCENE_NAME _folded
در برنامه CTS Verifier نمایش داده می شود. بسته به وضعیت دستگاه، برخی از شناسههای دوربین فیزیکی جلو در دسترس نیستند و آزمایش نمیشوند. دوربین عقب فقط باید در یک حالت تست شود، ترجیحاً حالت تا شده، و نتایج مربوط به دوربین عقب پسوند _folded
را ندارد.
برای اطمینان از اینکه صحنه های تا شده با دستگاه تا شده اجرا می شوند و وضعیت DUT تاشو را بررسی می کنید، دستور زیر را اجرا کنید.
adb shell cmd device_state state
هنگام اجرای آزمایشها در حالت تا شده، Camera ITS پیامی را در ترمینال نمایش میدهد تا از کاربر بخواهد دستگاه را به درستی روی جعبه ITS تنظیم کند. برای ادامه اجرای آزمایش بعد از اعلان، Enter را بزنید.
اگر همه صحنهها را هم در حالت تاشده و هم باز اجرا میکنید، ابتدا صحنههای تاشده و سپس صحنههای بازشده اجرا میشوند. این امر میزان نصب مجدد مورد نیاز در طول آزمایش را به حداقل می رساند.
Camera ITS همچنین پسوند folded
به فهرست tmp
ایجاد شده برای صحنه های حالت تا شده اضافه می کند.
نمونه دستورات
در زیر نمونه ای از دستورات برای اجرای آزمایش در دستگاه های تاشو آمده است.
فرمان | توضیحات |
---|---|
python tools/run_all_tests.py | تمام صحنه ها را اجرا می کند. |
python tools/run_all_tests.py scenes=scene0 | اجرا صحنه0. اگر دستگاه تا شده است و کاربر در حال آزمایش دوربین جلوی اصلی است، اسکریپت وضعیت دستگاه را تعیین می کند و پسوند _folded را به نام صحنه اضافه می کند. کاربران برای اجرای صحنه های تا شده نیازی به اضافه کردن پسوند ندارند. |
python tests/scene0/ -c config.yml python tests/scene0/ -c config.yml | تست خاصی را اجرا می کند. |