ابزار اعتبارسنجی افزونههای دوربین به سازندگان دستگاه امکان میدهد درستی پیادهسازی کتابخانه فروشنده OEM افزونههای دوربین را تأیید کنند. این ابزار شامل آزمایشهای اعتبارسنجی خودکار و دستی است.
آزمایشهای اعتبارسنجی خودکار: تأیید میکند که میانای کتابخانه فروشنده بهدرستی پیادهسازی شده است. برای مثال، اگر
CaptureProcessorبرای ضبط تصویر لازم باشد، آزمایشها تأیید میکنند کهImageCaptureExtenderImpl#getCaptureStages()نمونههایCaptureStageلازم را برای ضبط تصاویر برمیگرداند.آزمایشهای اعتبارسنجی دستی: جلوههای تصویر و کیفیت تصاویر پیشنمایش و ضبطشده را اعتبارسنجی کنید. برای مثال، این آزمایشها به سازندگان دستگاه اجازه میدهد بهصورت دستی تأیید کنند که آیا جلوه روتوش چهره بهدرستی اعمال شده است یا اینکه قدرت بوکه کافی است یا نه.
کد منبع ابزار اعتبارسنجی بخشی از برنامه آزمایشی افزونهها در مخزن Android Jetpack است.
ساختن ابزار اعتبارسنجی افزونههای دوربین
برای ساختن ابزار اعتبارسنجی افزونهها، این مراحل را دنبال کنید:
کد منبع کتابخانه Android Jetpack را بارگیری کنید. برای جزئیات، بخش بررسی کد در Android Jetpack README را ببینید.
فایل
extensionstestappAPK را بسازید. این کار امکان اجرای آزمایشهای اعتبارسنجی دستی را فراهم میکند.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebugفایل APK در مسیر زیر برونداد میشود:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apkفایل
androidTestAPK را بسازید. این APK امکان اجرای آزمایشهای اعتبارسنجی خودکار را فراهم میکند.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTestفایل APK در مسیر زیر برونداد میشود:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
اجرای آزمایشهای خودکارسازیشده برای اعتبارسنجی
برای اجرای آزمایشهای اعتبارسنجی خودکارسازیشده، فایلهای extensionstestapp و
androidTest APK را نصب کنید.
extensionstestappAPKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apkandroidTestAPKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
اجرای همه آزمایشهای خودکار
پساز نصب کردن فایلهای APK، برای اجرای همه آزمایشهای خودکارسازیشده برای اعتبارسنجی پیادهسازی کتابخانه فروشنده، فرمان زیر را اجرا کنید:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunnerاگر همه آزمایشها موفق باشند، نتیجه OK برگردانده میشود. درغیراینصورت، گزارش آزمایش نهایی پساز تکمیل همه آزمایشها، موارد ناموفق را در پایانه نشان میدهد.
شکل ۱. نتیجه «قبول» در آزمایشهای خودکار
شکل ۲. نتیجه آزمایشهای خودکار با شکست مواجه شد
اجرای آزمایشهای خودکار برای کلاسی خاص
برای اجرای آزمایشهای خودکار کلاس خاص، نام و مسیر کلاس هدف را مشخص کنید. مثال زیر فرمان اجرای آزمایشها را برای کلاس
ImageCaptureTest نشان میدهد:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunnerاجرای آزمایشهای اعتبارسنجی دستی
آزمایشهای اعتبارسنجی دستی در برنامه آزمایش افزونهها قرار دارد. پساز نصب و راهاندازی برنامه آزمایش افزونهها، با تکضرب زدن روی مورد منو در بالا سمت چپ، به حالت ابزار اعتبارسنجی بروید.
پساز رفتن به حالت ابزار اعتبارسنجی، صفحه اول همه دوربینهایی را که دارای قابلیت
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
هستند فهرست میکند. اگر دوربینی از هیچ حالت برافزایی پشتیبانی نکند، مورد فهرست مربوط به آن خاکستری است.
شکل ۳. حالت ابزار اعتبارسنجی
روی یکی از دوربینها تکضرب بزنید تا حالتهای افزونه را برای آزمایش ببینید. حالتهای افزونهای که دوربین انتخابی پشتیبانی نمیکند بهرنگ خاکستری نشان داده میشود.
شکل ۴. حالتهای افزونه دردسترس برای دوربین
درستیسنجی نتایج پیشنمایش
برای درستیسنجی نتایج پیشدید، با تکضرب زدن روی حالت افزونه برای دوربین انتخابشده، آزمایش دستی را شروع کنید. سپس فعالیتی برای ضبط تصویر که حاوی پیشنمایش است نشان داده میشود.
شکل ۵. پیشنمایش تصویر با بوکه فعال
فعالیت ضبط تصویر از عملکردهای زیر پشتیبانی میکند:
- زومپیش/ زومپس کردن
- تکضرب زدن برای فوکوس کردن
- دکمه تعویض حالتهای فلاش
- EV +/-
- دکمه عوض کردن فعال/غیرفعال کردن افزونه
تأیید کنید که عملکردهای زومپیش/زومپس، ضربه برای فوکوس، حالتهای فلاش، و EV +/- در پیشنمایش طبق انتظار کار میکنند.
نتایج تصویر ضبطشده را بهتأیید برسانید
برای ضبط تصویر، روی دکمه ضبط (دکمه گرد) در فعالیت ضبط تصویر تکضرب بزنید. این کار فعالیت اعتبارسنجی تصویری را راهاندازی میکند که تصویر ضبطشده را نشان میدهد.
شکل ۶. تصویر ضبطشده با بوکه فعال
فعالیت اعتبارسنجی تصویر شامل عملکردهای زیر است:
- برای تغییر اندازه تصویر، انگشتان را ازهم دور یا بههم نزدیک کنید
- برای جابهجایی بین تصاویر ثبتشده، به چپ/راست بلغزانید
- بازپسگیری
- گزینه منو ذخیره کردن تصویر
بررسی کنید که آیا تصویر گرفتهشده صحیح است و با تنظیمات بزرگنمایی/کوچکنمایی، ضربه زدن برای فوکوس، حالتهای فلاش، و EV +/- که هنگام گرفتن تصویر تنظیم شدهاند مطابقت دارد یا نه.
اگر نتایج ضبطشده صحیح است، روی دکمه قبول (علامت تیک) در گوشه پایین سمت چپ تکضرب بزنید. درغیراینصورت، روی دکمه رد (علامت تعجب) در گوشه پایین سمت راست تکضرب بزنید.
مشاهده نتایج آزمایش
پساز اینکه حالت افزونه بهعنوان قبولی یا ردی تأیید شد، مورد فهرست برای حالت افزونه رنگ پسزمینه و نشانگر متفاوتی را نشان میدهد. در فهرست نمای همه دوربینها، موارد با رنگهای زیر نمایش داده میشوند:
- پسزمینه سفید: دوربین حداقل از یک حالت افزونه پشتیبانی میکند و حالتهای افزونه پشتیبانیشده کاملاً اعتبارسنجی نشدهاند.
- پسزمینه سبز: دوربین از حداقل یک حالت گسترش پشتیبانی میکند. همه حالتهای افزونه پشتیبانیشده با همه نتایج موفقیتآمیز تأیید میشوند.
- پسزمینه قرمز: دوربین حداقل از یک حالت افزونه پشتیبانی میکند. همه حالتهای افزونه پشتیبانیشده با حداقل یک نتیجه حالت افزونه ناموفق اعتبارسنجی میشوند.
- پسزمینه خاکستری: این ویژگی دردسترس نیست.
شکل ۷. رنگهایی که نتایج آزمایش دوربینها و حالتهای افزونه را نشان میدهند
عملکردهای دیگر ابزار اعتبارسنجی
پساز تکمیل همه آزمایشها، فعالیت فهرست دوربین عملکردهای زیر را ارائه میدهد:
- صادر کردن نتایج آزمایش: نتایج آزمایش را بهصورت فایل CSV به پوشه
Documents/ExtensionsValidationصادر میکند. - بازنشانی: همه نتایج آزمایش ذخیرهشده در حافظه نهان را پاک میکند.
- برنامه نمونه افزونهها: به حالت برنامه نمونه افزونهها تغییر میکند.
پساز تکمیل آزمایش، میتوانید نتایج آزمایش را صادر کنید. اگر مشکلی پیدا کردید و نسخه جدیدی از پیادهسازی کتابخانه فروشنده با راهحلها باید دوباره درستیسنجی شود، نتایج آزمایش قبلی را بازنشانی کنید و همه حالتهای افزونه پشتیبانیشده را در همه دوربینها دوباره اجرا کنید تا مطمئن شوید مشکلات برطرف شدهاند.