مجموعه تست تصویر دوربین Android (ITS) بخشی از تأییدکننده مجموعه تست سازگاری Android (CTS) است و شامل آزمایشهایی است که محتوای تصویر را تأیید میکند. CTS Verifier از اتوماسیون تست ITS با دوربین ITS-in-a-box پشتیبانی می کند. پشتیبانی از تستهای دستی تمام فاکتورهای فرم دستگاه اندروید را پوشش میدهد.
ITS-in-a-box شامل مزایای زیر است:
- اتوماسیون. هیچ مداخله انسانی در طول آزمایش مورد نیاز نیست.
- عیب یابی آسان. سازگاری محیط تست منجر به خطاهای راه اندازی کمتر و افزایش تکرارپذیری می شود.
- کارایی. امکان امتحان مجدد برای دوربین/صحنه مجزا، کارایی اجرای تست را بهبود می بخشد.
شروع کنید
ITS-in-a-box متشکل از یک جعبه پلاستیکی است که با لیزر از نقشه های طراحی به کمک کامپیوتر (CAD)، یک تبلت نمودار و یک دستگاه در حال آزمایش (DUT) برش داده شده است. جدول زیر ویژگی ها و مشخصات دکل های مختلف ITS-in-a-box موجود را شرح می دهد.
دکل | فاصله نمودار | محدوده FoV دوربین DUT (تقریبا) | ویژگی ها |
---|---|---|---|
دکل پایه مدولار | 22 سانتی متر | 60 تا 120 درجه | |
دکل پایه مدولار و دکل اکستنشن تله | 22 سانتی متر - 100 سانتی متر * | 10 تا 120 درجه | |
WFoV ITS-in-a-box | 22 سانتی متر | 60 تا 120 درجه | |
RFoV ITS-in-a-box | 31 سانتی متر | 60-90 درجه | |
* طول دکل اکستنشن تله را می توان برای فواصل نمودار مختلف تنظیم کرد. |
برای شروع کار با دوربین ITS-in-a-box:
- یک ماژولار ، WFoV یا RFoV ITS-in-a-box بخرید یا بسازید.
- تبلت را با نرم افزار Camera ITS پیکربندی کنید .
- تست ها را اجرا کنید .
- نتایج را از DUT دریافت کنید .
تبلت را پیکربندی کنید
این بخش دستورالعمل های گام به گام را برای تنظیم تبلت برای استفاده با تست های Camera ITS واقع در فهرست CameraITS
ارائه می دهد. این دستورالعملها از Pixel C به عنوان تبلت نمونه استفاده میکنند. برای اطلاعات در مورد الزامات و توصیههای رایانه لوحی، به الزامات رایانه لوحی مراجعه کنید.
توجه: اسکریپت های Camera ITS Python به طور خودکار گزینه های زیر را در تبلت برای شما تنظیم می کنند:
تنظیمات > نمایش > خواب > پس از 30 دقیقه عدم فعالیت
روشنایی تطبیقی > خاموش
- تبلت را شارژ کرده و روشن کنید. اگر از شما خواسته شد که یک حساب ایجاد کنید، از آن رد شوید (Camera ITS نیازی به جفت شدن حساب با رایانه لوحی ندارد).
- تبلت را به اندروید 7.0 یا بالاتر به روز کنید. Android 6.x و نسخههای پایینتر از Camera ITS پشتیبانی نمیکنند.
- حالت توسعه دهنده را فعال کنید.
- به تنظیمات برگردید و Developer options را انتخاب کنید.
گزینه ها را فعال کنید - روشن
- بیدار بمان
- اشکال زدایی USB (این به میزبان اجازه می دهد رایانه لوحی را در حالت اشکال زدایی اجرا کند. وقتی رایانه لوحی را برای اولین بار به میزبان وصل می کنید، رایانه لوحی از «اجازه اشکال زدایی USB» می خواهد؟ اگر رایانه لوحی اعلان اشکال زدایی را نمایش نمی دهد، اتصال را قطع کرده و دوباره وصل کنید تبلت.)
گزینه ها را غیر فعال کنید - به روز رسانی خودکار سیستم
- برنامه ها را از طریق USB تأیید کنید
- شناسههای DUT و نمودار را با اجرای
$ adb devices
برای فهرست کردن دستگاههای موجود، تعیین کنید. برای تعیینdevice_id
وchart_id
، دستگاهها را وصل و جدا کنید و دستگاههایی را که متصل و قطع میشوند مشاهده کنید. - برای سرکوب نکات و درخواستهای کاربر که میتوانند نمودارها را روی صفحه تبلت مبهم کنند، سه اجرای آزمایشی انجام دهید.
- تبلت را رو به بالا روی میز قرار دهید (تبلت را به پنل پشتی جعبه وصل نکنید).
- دستور زیر را اجرا کنید:
در صحنههای 2 و 3، رایانه لوحی باید تصویری را نمایش دهد، بنابراین رایانه لوحی از «اجازه میدهید Drive» به عکسها، رسانهها و فایلهای دستگاه شما دسترسی داشته باشد؟ . با فشار دادن Allow این دستور را پاک کنید (و از درخواست های بعدی جلوگیری کنید).python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
- دوباره دستور را اجرا کنید. رایانه لوحی درخواست میکند کپی این فایل حفظ شود؟ و گوگل درایو را پیشنهاد می کند. با فشار دادن نماد Drive و سپس لغو برای آپلود در درایو، این درخواست را پاک کنید (و از درخواستهای بعدی جلوگیری کنید).
- در نهایت،
tools/run_all_tests.py
اجرا کنید و تأیید کنید که صحنه ها به طور خودکار با چرخش اسکریپت در صحنه های مختلف تغییر می کنند. در حالی که اکثر تستها با شکست مواجه میشوند (از آنجایی که دوربین به سمت نمودار قرار نمیگیرد)، میتوانید بررسی کنید که تبلت به درستی در صحنهها بدون نمایش هیچ گونه درخواست یا پنجرههای بازشوی دیگری روی صفحه نمایش داده شود.
تست ها را اجرا کنید
قبل از اجرای ITS-in-a-box، مطمئن شوید که تنظیمات آزمایشی شما شامل سخت افزار و نرم افزار زیر است:
- یک (1) ITS-in-a-box
- یک (1) تبلت 10 اینچی با وضوح بالا برای نمایش صحنه ها، S/N: 5811000011
- یک (1) DUT که برنامه CTS Verifier 7.0_8+ را نصب کرده است. مثال DUT:
- یک (1) پیکسل NOF26W برای تست دوربین پشتی (0)، S/N: FA6BM0305016. برای نصب برنامه CTS Verifier،
android-cts-verifier.zip
را از حالت فشرده خارج کرده و اجرا کنیدadb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
- یک (1) پیکسل NOF26W برای تست دوربین پشتی (0)، S/N: FA6BM0305016. برای نصب برنامه CTS Verifier،
صحنه های مبتنی بر تبلت را اجرا کنید
برای اجرای صحنه های 0 تا 4، 6، و scene_change در دوربین پشتی:
cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0
مثال:
صحنه ها را دوباره امتحان کنید
میتوانید صحنهها را برای یک دوربین دوباره امتحان کنید:
- برای امتحان مجدد صحنه ها روی یک دوربین:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
صحنه اجرا 5
صحنه 5 به تنظیم خاصی با نورپردازی خاص نیاز دارد (برای جزئیات، به CameraITS.pdf
در CTS Verifier مراجعه کنید، که می توانید آن را در Compatibility Test Suite Downloads دانلود کنید). شما باید صحنه 5 را جداگانه اجرا کنید (خارج از جعبه).
برای اجرای صحنه 5 برای دوربین های جلو و عقب در یک دستگاه:
python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
نتیجه بگیرید
می توانید نتایج را در طول آزمایش مشاهده کنید و نتایج تکمیل شده را به عنوان یک گزارش ذخیره کنید.
- مشاهده نتایج برای ذخیره نتایج Camera ITS به عنوان گزارش:
- Pass را فشار دهید و گزارش را ذخیره کنید.
شکل 3. گزارش دوربین ITS - گرفتن گزارش از دستگاه:
adb -s FA6BM0305016 pull /sdcard/verifierReports
- فایل گزارش را از حالت فشرده خارج کرده و
test_result.xml
مشاهده کنید.
شکل 4. گزارش دوربین ITS
- Pass را فشار دهید و گزارش را ذخیره کنید.
الزامات تبلت
برای Android 15 و بالاتر، تبلتهایی که بهعنوان نمایشگر نمودار ITS استفاده میشوند باید در فهرست مجاز رایانه لوحی زیر باشند. برای فهرستی از تبلتهایی که از آزمایش صحنههای کمنور پشتیبانی میکنند، به رایانههای لوحی پشتیبانیشده برای صحنههای کمنور مراجعه کنید. برای Android 14 یا پایینتر، نیازمندیهای رایانه لوحی برای Android 14 و پایینتر را ببینید.
تبلت های موجود در لیست مجاز بر اساس معیارهای زیر انتخاب می شوند:
- اندازه صفحه نمایش حدود 10 اینچ با وضوح صفحه نمایش بیشتر از 1920 در 1200 پیکسل.
- نباید هیچ گونه سوسو زدن اندازه گیری شده ناشی از مدولاسیون عرض پالس (PWM) کم نور صفحه کنترل شده داشته باشد.
- قادر به اجرای دستورات adb ارسال شده توسط تست های ITS و نمایش تصاویر نمودار با روشنایی صفحه نمایش دستورالعمل.
مقدار brightness
باید در config.yml
مطابق مدل تبلت تنظیم شود. برای تعیین اینکه آیا مدل تبلت شما با نام دستگاه در لیست مجاز مطابقت دارد یا خیر، مقدار ro.product.device
را با اجرای adb shell getprop | grep 'ro.product.device'
دستور adb adb shell getprop | grep 'ro.product.device'
.
دستگاه | اندازه نمایشگر (اینچ) | اندازه نمایشگر (پیکسل) | ابعاد تبلت (اینچ) | نمایش روشنایی | نام دستگاه (رو.محصول .دستگاه) | سیستم عامل تبلت نسخه |
---|---|---|---|---|---|---|
گوگل پیکسل سی | 10.2 | 2560 x 1800 | 9.53 x 7.05 x 0.28 | 96 | اژدها | اندروید 6+ |
افتخار پد 8 | 11 | 2000*1200 | 10.18 x 6.76 x 0.29 | 192 | HNHEY-Q | اندروید 12 |
هواوی مدیاپد m5 | 10.8 | 2560 x 1600 | 10.18 x 6.76 x 0.29 | 192 | HWCMR09 | اندروید 8+ |
لنوو تب M10 Plus | 10.3 | 1920 x 1200 | 0.32 × 6.03 × 9.61 | 192 | X606F | اندروید 9+ |
لنوو تب P11 | 11 | 2000*1200 | 10.17 x 6.42 x 0.30 | 192 | J606F | اندروید 11+ |
لنوو تب P11 Gen2 | 11.5 | 2000*1200 | 10.59 x 6.67 x 0.29 | 192 | TB350FU | اندروید 13+ |
نوکیا T21 | 10.4 | 2000*1200 | 9.74 x 6.19 x 0.30 | 192 | AGTA | اندروید 12+ |
سامسونگ گلکسی تب A7 | 10.4 | 2000*1200 | 9.75 x 6.2 x 0.28 | 192 | gta4lwifi | اندروید 10+ |
سامسونگ گلکسی تب A8 | 10.5 | 1920 x 1200 | 9.72 x 6.73 x 0.27 | 192 | gta8wifi | اندروید 11+ |
سامسونگ Galaxy Tab A9+ | 11 | 1920 x 1200 | 10.12 x 6.64 x 0.27 | 192 | gta9pwifi | اندروید 13+ |
Vivo پد 2 | 12.1 | 2800 x 1968 | 0.26 × 7.54 × 10.47 | 192 | DPD2221 | اندروید 13+ |
شیائومی پد 5 | 11 | 2560 x 1600 | 10.18 x 6.76 x 0.29 | 192 | نابو | اندروید 13+ |
شیائومی Redmi پد | 10.61 | 2000*1200 | 9.86 x 6.22 x 0.28 | 192 | یونلو | اندروید 14+ |
شیائومی Redmi پد SE | 11 | 2560 x 1600 | 10.06 x 6.58 x 0.29 | 192 | سون | اندروید 13+ |
تبلت های پشتیبانی شده برای صحنه های کم نور
جدول زیر تبلت هایی را فهرست می کند که از تست صحنه های کم نور پشتیبانی می کنند. این تبلت ها می توانند به سطح روشنایی مورد نیاز برای صحنه های کم نور برسند و به DUT اجازه می دهند نمودار را به درستی در معرض دید قرار دهد.دستگاه | نام دستگاه (ro.product.device) | نسخه سیستم عامل تبلت |
---|---|---|
هواوی مدیاپد m5 | HWCMR09 | اندروید 8+ |
سامسونگ گلکسی تب A8 | gta8wifi | اندروید 11+ |
Samsung Galaxy Tab A9+ | gta9pwifi | اندروید 13+ |
شیائومی پد 5 | نابو | اندروید 13+ |
شیائومی Redmi پد SE | سون | اندروید 13+ |
الزامات تبلت برای اندروید 14 و پایین تر
تبلت ها باید دارای اندازه صفحه نمایش حدود 10 اینچ با وضوح صفحه نمایش بیشتر از 1920 در 1200 پیکسل باشند. تبلت نباید از مدولاسیون عرض پالس (PWM) برای تنظیم سطح روشنایی استفاده کند. مقدار brightness
باید در config.yml
مطابق مدل تبلت تنظیم شود. جدول زیر تبلت های توصیه شده برای تست ITS را به همراه نسخه های منتشر شده اندروید برای DUT که تبلت ها با آن کار می کنند، فهرست می کند.
دستگاه | اندازه نمایشگر (اینچ) | اندازه نمایشگر (پیکسل) | ابعاد تبلت (اینچ) | نمایش روشنایی | نمایش بیت ها | پشتیبانی می شود سیستم عامل DUT | پشتیبانی می شود سیستم عامل تبلت |
---|---|---|---|---|---|---|---|
سامسونگ گلکسی تب A8 | 10.5 | 1920 x 1200 | 9.72 x 6.37 x 0.27 | 192 | 8 | اندروید 13+ | اندروید 11+ |
شیائومی پد 5 | 11 | 2560 x 1600 | 10.03 x 6.55 x 0.27 | 1024 | 11 | اندروید 12+ | فقط اندروید 11 |
لنوو تب M10 Plus | 10.3 | 1920 x 1200 | 0.32 × 6.03 × 9.61 | 192 | 8 | اندروید 12+ | اندروید 9+ |
سامسونگ گلکسی تب A7 | 10.4 | 2000*1200 | 9.75 x 6.2 x 0.28 | 192 | 8 | اندروید 12+ | اندروید 10+ |
چووی Hi9 Air 10.1 | 10.1 | 2560 x 1600 | 9.52 x 6.77 x 0.31 | 192 | 8 | اندروید 7+ | اندروید 8+ |
ایسوس ZenPad 3 | 9.7 | 2048 x 1536 | 0.28 × 6.44 × 9.47 | 192 | 8 | اندروید 7+ | اندروید 6+ |
هواوی مدیاپد m5 | 10.8 | 2560 x 1600 | 10.18 x 6.76 x 0.29 | 192 | 8 | اندروید 7+ | اندروید 8+ |
گوگل پیکسل سی | 10.2 | 2560 x 1800 | 9.53 x 7.05 x 0.28 | 96 | 8 | اندروید 7+ | اندروید 6+ |
سونی اکسپریا Z4 | 10.1 | 2560 x 1600 | 10 x 6.57 x 0.24 | 192 | 8 | اندروید 7+ | اندروید 5+ |
سوالات متداول
Q1: چگونه می توانم تشخیص دهم که چه دستگاه های آزمایشی برای دستگاه خود نیاز دارم؟
نسخه 1 RFoV ITS-in-a-box دوربین های RFoV را برای آزمایش صحنه های تبلت در فهرست CameraITS/tests
آزمایش می کند. RFoV به صورت 60 درجه < FoV < 90 درجه تعریف می شود. برای دوربینهای FoV بزرگتر، ممکن است نورها در تصاویر ظاهر شوند یا نمودارها ممکن است ناحیه بسیار کوچکی در FoV را پوشش دهند که بر نتایج آزمایش تأثیر میگذارد.
WFoV ITS-in-a-box revision 2 دوربین های WFoV را برای آزمایش صحنه های تبلت در فهرست CameraITS/tests
آزمایش می کند. WFoV به عنوان FoV >= 90 درجه تعریف می شود. دکل آزمایشی Revision 2 از نظر عملکردی مشابه نسخه 1 است، اما بزرگتر است. ریگ آزمایشی نسخه 2 می تواند هر دو دوربین RFoV و WFoV را در اندروید 9 و بالاتر آزمایش کند. با توجه به ردپای بزرگتر، نسخه 2 ایده آل است اگر DUT یک تبلت باشد
دکل پایه مدولار دوربین های WFoV را برای آزمایش صحنه های تبلت در فهرست CameraITS/tests
آزمایش می کند. WFoV به عنوان FoV >= 90 درجه تعریف می شود. دستگاه پایه ماژولار میتواند دوربینهای RFoV و WFoV را برای دستگاههای دارای اندروید ۹ و بالاتر آزمایش کند. همچنین از دستگاه اکستنشن تله پشتیبانی میکند که میتواند به دوربینهای تله آزمایشی با حداقل فاصله فوکوس طولانیتر متصل شود. دکل پایه مدولار از نظر عملکردی مشابه WFoV ITS-in-a-box است اما کوچکتر است.
جعبه فیوژن سنسور افست زمانبندی دوربین/ژیروسکوپ و همگامسازی قاب سیستمهای چند دوربینی را با آزمایشهای scenes=sensor_fusion
آزمایش میکند. یک افست زمانبندی دوربین/ژیروسکوپ کمتر از ۱ میلیثانیه برای پرچم ویژگی REALTIME
لازم است.
اگر دوربین دارای پرچم ویژگی REALTIME
باشد، میتوان دستگاههای چند دوربینی را با یک ریگ برای آزمایشهای ثابت ITS و یک دکل فیوژن سنسور آزمایش کرد.
مجموعه ای از تنظیمات نمونه در جدول زیر ارائه شده است.
مثال | دوربین FoVs | بیدرنگ؟ | دکل های توصیه شده | یادداشت ها |
---|---|---|---|---|
1 | 75 درجه | خیر | برگردان 1 یا 2 | اندروید 7.0 یا بالاتر |
2 | 75 درجه | بله | پایه مدولار یا Rev 1 یا 2 و فیوژن سنسور | اندروید 9 یا بالاتر |
3 | 75 درجه + 95 درجه | بله | Rev 2 + همجوشی سنسور | اندروید 9 یا بالاتر |
4 | 75 درجه + 95 + 20 درجه | بله | پایه مدولار و اکستنشن تله و فیوژن سنسور | اندروید 9 یا بالاتر |
5 | تبلت 75 درجه + 95 درجه | خیر | برگردان 2 | اندروید 9 یا بالاتر |
Q2: چگونه می توانم تعیین کنم که چه دستگاه آزمایشی در حال استفاده است؟
برای تعیین دکل آزمایشی صحیح، مطمئن شوید که پارامتر فاصله نمودار درست است. دکل تست rev1 (RFoV) دارای فاصله نمودار 31 سانتی متر و دکل rev2 (WFoV) دارای فاصله نمودار 22 سانتی متر است. به طور پیش فرض فاصله نمودار روی 31 سانتی متر تنظیم شده است.
اندروید 10 تا اندروید 11
برای شناسایی دستگاه آزمایشی صحیح در اندروید 10 تا 11، پرچمdist
را در خط فرمان اضافه کنید. مقدار پیش فرض برای dist
31
است. برای تغییر پارامتر chart_distance
دستور زیر را اجرا کنید.python tools/run_all_tests.py ... chart=# dist=22
اندروید 12 و بالاتر
برای شناسایی دستگاه تست صحیح در اندروید 12 و بالاتر، میتوانید فایل config.yml را ویرایش کنید تا پارامترchart_distance
را تغییر دهید. edit config.yml chart_distance: 31.0 → chart_distance: 22.0
Q3: چگونه روشنایی تبلت را کنترل کنم؟
به طور پیش فرض، روشنایی تبلت روی 96 تنظیم شده است.
برای تغییر روشنایی تبلتهای دارای اندروید 7.0 تا اندروید 9، اجرا کنید:
edit tools/wake_up_screen.py DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
برای تغییر روشنایی تبلتهایی که اندروید 10 تا 11 دارند، میتوان مقدار را در خط فرمان با افزودن پرچم brightness
تغییر داد:
python tools/run_all_tests.py device=# camera=# chart=# brightness=192
برای تغییر روشنایی تبلتهایی که اندروید 12 و بالاتر دارند، اجرا کنید:
edit config.yml brightness: 96 → brightness: 192
Q4: چگونه می توانم یک تست را اشکال زدایی کنم؟
آزمایشها را میتوان به صورت جداگانه برای اهداف اشکالزدایی اجرا کرد، اما نتایج به CtsVerifier.apk
گزارش نمیشوند مگر اینکه کل صحنه اجرا شود.
برای اجرای یک صحنه جداگانه در اندروید 11 و پایین تر:
- یک صحنه را با افزودن پرچم
scenes
درtools/run_all_tests.py
بارگیری کنید:python tools/run_all_tests.py device=# camera=# chart=# scenes=#
Control+C را فشار دهید تا بعد از اینکه صحنه به عنوان بارگذاری شده در
stdout
ثبت شد، آزمایش ها را متوقف کنید.اگر صحنه صحیح از قبل روی صفحه است، صفحه را بیدار کنید:
python tools/wake_up_screen.py screen=#
یک تست انفرادی اجرا کنید.
python tests/scene#/test_*.py device=# camera=#
نمودارها سپس در فهرست محلی تولید می شوند و
stdout
وstderr
روی صفحه چاپ می شوند.برای دریافت اطلاعات بیشتر برای اشکال زدایی، دستورات
print
را به اسکریپت اضافه کنید. برای افزایش خروجی تست برای رفع اشکال، علامتdebug=True
را اضافه کنید.python tests/scene#/test_*.py device=# camera=# debug=True
هنگام اجرای tools/run_all_tests.py
نتایج در صفحه محلی چاپ می شوند و تصاویر به جای پوشه /tmp/tmp###
ایجاد شده در فهرست محلی ذخیره می شوند.
برای اجرای یک صحنه فردی در اندروید 12 و بالاتر:
فایل
config.yml
را ویرایش کنید.edit config.yml camera: <camera-id> → camera: 0 scene: <scene-name> → scene: scene1_1
تست فردی را اجرا کنید.
python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
نتایج در فهرست /tmp/logs/mobly/TEST_BED_TABLET_SCENES/
چاپ میشوند و بر اساس زمان اجرا مرتب شدهاند.
Q5: چرا باید به جای اجرای مجدد تست ها به صورت جداگانه، تست های شکست خورده را به عنوان یک صحنه کامل اجرا کنم؟
آزمایش ها را می توان به صورت جداگانه برای اهداف اشکال زدایی اجرا کرد، اما نتایج به CtsVerifier.apk
گزارش نمی شود مگر اینکه کل صحنه اجرا شود.
Camera ITS تضمین می کند که برنامه های شخص ثالث دارای یک رابط دوربین سازگار هستند. مشابه یک تست واحد ، هر تست بر یک ویژگی واحد در دوربین تاکید دارد. برای تشخیص رفتار غیرقابل اعتماد، انتظار می رود این تست ها به صورت گروهی برای کل صحنه انجام شوند. به عنوان مثال، اگرچه یک تست غیرقابل اعتماد ممکن است در تکرار یک صحنه کامل بگذرد، اما گذراندن چندین تست غیرقابل اعتماد دشوار است.
به عنوان یک مثال افراطی، موردی را در نظر بگیرید که در آن 10 تست در یک صحنه وجود دارد که هر کدام 50% احتمال بازگشت PASS
را دارند. با اجرای هر آزمایش به صورت جداگانه، احتمال زیادی وجود دارد که یک اپراتور بتواند دوربین را وادار کند که دوربین ITS را پاس کند. با این حال، اگر آزمایش ها در مجموع به عنوان یک صحنه اجرا شوند، تنها 0.1٪ احتمال دارد که صحنه بگذرد.
Q6: چگونه می توانم یک صحنه را اجرا کنم یا صحنه های اجرا را دوباره ترتیب دهم؟
به طور پیش فرض، اسکریپت tools/run_all_tests.py
همه صحنه ها را به ترتیب اجرا می کند. با این حال، صحنه ها را می توان به صورت جداگانه یا به ترتیب مشخص اجرا کرد و به CtsVerifier.apk
گزارش کرد.
برای اجرای یک صحنه جداگانه (مثلاً صحنه 2) یا اجرای بیش از یک صحنه به ترتیب خاص در Android 11 یا پایین تر:
python tools/run_all_tests.py device=# camera=# chart=# scenes=2
python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
برای اجرای یک صحنه جداگانه یا اجرای بیش از یک صحنه به ترتیب خاص در اندروید 12 و بالاتر:
python tools/run_all_tests.py scenes=2
python tools/run_all_tests.py scenes=3,2
پارامترهای اضافی در فایل config.yml
تنظیم شده است.
Q7: تعدادی از آزمایشهای صحنه 1 با راهاندازی رایانه لوحی ناموفق هستند، اما با یک نمودار کاغذی تأیید میشوند. چه اشکالی دارد؟
اطمینان حاصل کنید که تبلت و محیط تست دارای مشخصات زیر هستند.
مشخصات تبلت
مطمئن شوید که تبلت دارای مشخصات زیر است:
- اندازه نمایشگر (اینچ): 10 اینچ
- اندازه صفحه نمایش (پیکسل): بیشتر از 1920 در 1200 پیکسل
برای جزئیات بیشتر، الزامات تبلت را ببینید.
روشنایی تبلت
اگر روشنایی نمایشگر تبلت خیلی کم باشد، ممکن است آزمایشها نتایج صحیحی به دست نیاورند.
برای جزئیات بیشتر، ببینید چگونه روشنایی تبلت را کنترل کنم؟
سطح روشنایی جعبه (نیاز به لوکس متر)
مطمئن شوید که مقدار لوکس هدف در باز شدن تبلت بین 100 تا 300 باشد.
اگر سطح لوکس خیلی بالا باشد، scene1/test_param_flash_mode.py
FAIL
برمیگرداند. اگر سطح لوکس خیلی پایین باشد، چندین آزمایش با شکست مواجه می شوند.
Q8: چگونه می توانم تست های فیوژن سنسور را اشکال زدایی کنم؟
مطمئن شوید که در یک گروه
dialout
هستید.groups | egrep ‘dialout'
با تعیین اینکه فناوری میکروچیپ به پورت USB متصل است، مطمئن شوید که کنترل کننده فیوژن سنسور متصل است.
lsusb … Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc. …
آزمایش را چندین بار اجرا کنید تا با دستورات زیر توزیعی از تلاشهای آزمایشی را دریافت کنید.
در اندروید 11 یا پایین تر:
python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
در اندروید 12 و بالاتر:
python tools/run_sensor_fusion_box.py num_runs=10
پارامترهای اضافی در فایل
config.yml
تنظیم شده است.خروجیهای اجرا در پوشه
/tmp/tmp###
هستند که در زیر پوشههایsensor_fusion_#
ایجاد شده است، جایی که#
شماره اجرا است. دلایل رایج شکست عبارتند از:- تلفن به درستی وسط نیست.
- ویژگی های کافی در تصویر یافت نمی شود (اغلب یک مشکل FoV یا نور).
-
FAIL
برگشتی معتبر است و فاصله زمانی بین دوربین و ژیروسکوپ باید اصلاح شود.
Q9: هنگام گزارش یک باگ آزمایشی چه اطلاعاتی را باید لحاظ کنم؟
هنگام گزارش یک باگ آزمایشی، فایلها و تصاویر تولید شده را برای آزمایش اضافه کنید.
- اگر آزمایش را از طریق
tools/run_all_tests.py
انجام دادید، یک پوشه/tmp/
فشرده را به باگ پیوست کنید. - اگر آزمایش را به تنهایی انجام دادید، تمام خروجی های صفحه و تصاویر تولید شده را به باگ متصل کنید.
گزارش اشکال را نیز درج کنید. پس از شکست تست مورد نظر، از دستور زیر برای ایجاد گزارش باگ استفاده کنید و فایل فشرده تولید شده را به باگ پیوست کنید.
adb -s device_id bugreport
Q10: چگونه می توانم یک صحنه تست سنسور_فیوژن را با دوربینی اجرا کنم که حداقل فاصله فوکوس دارد و در فاصله نمودار 25 سانتی متری تصاویر تار ایجاد می کند؟
اگر دوربین شما نمی تواند در فاصله 25 سانتی متری فوکوس کند، پانل نصب نمودار جعبه فیوژن سنسور را بردارید. نمودار را در فاصله ای قرار دهید که DUT بتواند فوکوس کند و chart_distance
در config.yml
به فاصله اندازه گیری شده بین DUT و نمودار تغییر دهید. شکل 5 نمونه ای از نحوه اندازه گیری فاصله نمودار را در این شرایط نشان می دهد.
edit config.yml chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
Q11: چگونه می توانم صحنه های تست تبلت را برای دوربینی با حداقل فاصله فوکوس اجرا کنم که در فاصله نمودار 31 سانتی متری تصاویر تار ایجاد می کند؟
اگر دوربین شما نمی تواند تصاویر شارپ و کافی را در 31 سانتی متر (عمق دستگاه تست RFoV) تولید کند، دوربین خود را در فاصله ای جلوی دستگاه نصب کنید تا صحنه نمودار تقریباً 60 درصد از میدان دوربین را پر کند. مشاهده (FoV) با تصاویر واضح تر. این فاصله می تواند کمتر از حداقل فاصله فوکوس دوربین باشد. chart_distance
را در config.yml
31 سانتی متر بگذارید. مقیاس بندی نمودار در تبلت توسط دوربین FoV همانطور که در جدول زیر نشان داده شده است تعیین می شود:
دوربین FoV | ضریب مقیاس بندی نمودار |
---|---|
60 > FoV > 40 | 0.67x |
40 > FoV > 25 | 0.5 برابر |
FoV < 25 | 0.33x |
Q12: با API منطقی چند دوربینی، کدام تستها روی کدام دوربینها اجرا میشوند؟
اگر دوربین شما از REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
استفاده می کند، تمام تست های پشتیبانی شده ITS روی دوربین منطقی سطح بالا اجرا می شود. زیر مجموعه ای از تست های ITS روی دوربین های فرعی فیزیکی اجرا می شود و این تست ها در tools/run_all_tests.py
تحت ثابت SUB_CAMERA_TESTS
فهرست شده اند.