ابزار اعتبارسنجی افزونههای دوربین به سازندگان دستگاه اجازه میدهد تأیید کنند که کتابخانه فروشنده OEM Camera Extensions به درستی پیادهسازی شده است. این ابزار شامل تست های اعتبار سنجی خودکار و دستی است.
تست های اعتبار سنجی خودکار: تأیید می کند که رابط کتابخانه فروشنده به درستی پیاده سازی شده است. برای مثال، اگر
CaptureProcessor
برای گرفتن تصویر مورد نیاز است، آزمایشها تأیید میکنند کهImageCaptureExtenderImpl#getCaptureStages()
نمونههایCaptureStage
مورد نیاز را برای گرفتن تصاویر برمیگرداند.تستهای اعتبار سنجی دستی: جلوههای تصویر و کیفیت تصاویر پیشنمایش و ثبتشده را اعتبارسنجی کنید. به عنوان مثال، این آزمایشها به سازندگان دستگاه اجازه میدهد تا به صورت دستی تأیید کنند که آیا جلوه روتوش صورت به درستی اعمال میشود یا اینکه قدرت بوکه کافی است.
کد منبع ابزار اعتبارسنجی بخشی از برنامه آزمایشی برنامههای افزودنی در مخزن Android Jetpack است.
ابزار اعتبارسنجی پسوند دوربین را بسازید
برای ساخت ابزار اعتبارسنجی افزونه ها، این مراحل را دنبال کنید:
کد منبع کتابخانه Android Jetpack را دانلود کنید. برای جزئیات، به بخش بررسی کد Android Jetpack README مراجعه کنید.
extensionstestapp
APK را بسازید. این امکان اجرای تست های اعتبار سنجی دستی را فراهم می کند.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
androidTest
APK را بسازید. این 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 را نصب کنید.
extensionstestapp
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb 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 برگردانده می شود. در غیر این صورت، گزارش تست نهایی، خرابی در ترمینال را پس از اتمام تمام تست ها نشان می دهد.
شکل 1. تست های خودکار نتیجه OK
شکل 2. نتیجه تست های خودکار با شکست است
تست های خودکار یک کلاس خاص را اجرا کنید
برای اجرای تست های خودکار یک کلاس خاص، نام و مسیر کلاس هدف را مشخص کنید. مثال زیر دستور اجرای تست های کلاس 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
هستند فهرست میکند. اگر دوربینی از هیچ حالت افزودنی پشتیبانی نمی کند، مورد فهرست مربوطه آن خاکستری است.
شکل 3. حالت ابزار اعتبارسنجی
برای مشاهده حالت های افزونه برای آزمایش، روی یکی از دوربین ها ضربه بزنید. حالت های برنامه افزودنی که توسط دوربین انتخابی پشتیبانی نمی شوند به رنگ خاکستری نشان داده می شوند.
شکل 4. حالت های افزودنی موجود برای یک دوربین
نتایج پیش نمایش را تأیید کنید
برای تأیید نتایج پیشنمایش، با ضربه زدن روی حالت افزونه برای دوربین انتخابی، یک آزمایش دستی را شروع کنید. سپس یک فعالیت ثبت تصویر حاوی پیش نمایش نشان داده می شود.
شکل 5. پیش نمایش تصویر با فعال بودن بوکه
فعالیت ثبت تصویر از عملکردهای زیر پشتیبانی می کند:
- بزرگنمایی/کوچکنمایی
- ضربه بزنید تا فوکوس کنید
- دکمه تغییر حالت های فلش
- EV +/-
- دکمه سوئیچ فعال/غیرفعال برنامه افزودنی
بررسی کنید که عملکردهای بزرگنمایی/کوچک کردن، ضربه برای فوکوس، حالت های فلاش و EV +/- همانطور که در پیش نمایش انتظار می رود کار می کنند.
نتایج تصویر گرفته شده را تأیید کنید
برای گرفتن تصویر، روی دکمه CAPTURE (دکمه گرد) در فعالیت ثبت تصویر ضربه بزنید. این یک فعالیت اعتبارسنجی تصویر را راه اندازی می کند که تصویر گرفته شده را نشان می دهد.
شکل 6. تصویر گرفته شده با فعال بودن بوکه
فعالیت اعتبارسنجی تصویر شامل توابع زیر است:
- برای کوچک کردن تصویر، به داخل/خارج کردن فشار دهید
- برای جابجایی تصاویر گرفته شده به چپ/راست بلغزانید
- بازپس گیری
- ذخیره آیتم منوی تصویر
بررسی کنید که آیا تصویر گرفته شده صحیح است و با تنظیمات بزرگنمایی/کوچک کردن، ضربه زدن به فوکوس، حالت های فلاش و تنظیمات EV +/- که هنگام ثبت تصویر تنظیم شده اند مطابقت دارد یا خیر.
اگر نتایج گرفته شده درست است، روی دکمه PASS (چک مارک) در گوشه پایین سمت راست ضربه بزنید. در غیر این صورت، روی دکمه FAIL (نقطه تعجب) در گوشه پایین سمت چپ ضربه بزنید.
مشاهده نتایج آزمون
پس از تأیید یک حالت برنامه افزودنی به عنوان یک پاس یا ناموفق، مورد فهرست برای حالت برنامه افزودنی رنگ پسزمینه و نشانگر متفاوتی را نشان میدهد. در نمای لیست تمامی دوربین ها موارد با رنگ های زیر نمایش داده می شوند:
- پسزمینه سفید: دوربین حداقل یک حالت افزونه را پشتیبانی میکند و حالتهای افزونه پشتیبانیشده بهطور کامل تأیید نشدهاند.
- پس زمینه سبز: دوربین حداقل از یک حالت افزونه پشتیبانی می کند. همه حالتهای برنامه افزودنی پشتیبانی شده با عبور همه نتایج تأیید میشوند.
- پس زمینه قرمز: دوربین حداقل از یک حالت افزونه پشتیبانی می کند. همه حالت های برنامه افزودنی پشتیبانی شده با حداقل یک نتیجه از حالت برنامه افزودنی ناموفق تأیید می شوند.
- پس زمینه خاکستری: این ویژگی در دسترس نیست.
شکل 7. رنگهایی که نتایج تست دوربینها و حالتهای گسترش را نشان میدهند
سایر توابع ابزار اعتبارسنجی
پس از اتمام تمام تست ها، فعالیت لیست دوربین عملکردهای زیر را ارائه می دهد:
- صادرات نتایج آزمایش: نتایج آزمایش را به عنوان یک فایل CSV به پوشه
Documents/ExtensionsValidation
صادر می کند. - بازنشانی: تمام نتایج تست کش شده را پاک می کند.
- برنامه نمونه برنامه افزودنی: به حالت برنامه نمونه برنامه افزودنی می رود.
پس از اتمام تست، می توانید نتایج آزمایش را صادر کنید. اگر مشکلی پیدا کردید و نسخه جدیدی از پیادهسازی کتابخانه فروشنده با راهحلها باید دوباره تأیید شود، نتایج آزمایش قبلی را بازنشانی کنید و همه حالتهای افزونه پشتیبانیشده را در همه دوربینها دوباره اجرا کنید تا تأیید کنید که مشکلات برطرف شدهاند.