ابزار اعتبارسنجی افزونه‌های دوربین

ابزار اعتبارسنجی افزونه‌های دوربین به سازندگان دستگاه اجازه می‌دهد تأیید کنند که کتابخانه فروشنده OEM Camera Extensions به درستی پیاده‌سازی شده است. این ابزار شامل تست های اعتبار سنجی خودکار و دستی است.

  • تست های اعتبار سنجی خودکار: تأیید می کند که رابط کتابخانه فروشنده به درستی پیاده سازی شده است. برای مثال، اگر CaptureProcessor برای گرفتن تصویر مورد نیاز است، آزمایش‌ها تأیید می‌کنند که ImageCaptureExtenderImpl#getCaptureStages() نمونه‌های CaptureStage مورد نیاز را برای گرفتن تصاویر برمی‌گرداند.

  • تست‌های اعتبار سنجی دستی: جلوه‌های تصویر و کیفیت تصاویر پیش‌نمایش و ثبت‌شده را اعتبارسنجی کنید. به عنوان مثال، این آزمایش‌ها به سازندگان دستگاه اجازه می‌دهد تا به صورت دستی تأیید کنند که آیا جلوه روتوش صورت به درستی اعمال می‌شود یا اینکه قدرت بوکه کافی است.

کد منبع ابزار اعتبارسنجی بخشی از برنامه آزمایشی برنامه‌های افزودنی در مخزن Android Jetpack است.

ابزار اعتبارسنجی افزونه‌های دوربین را بسازید

برای ساخت ابزار اعتبارسنجی افزونه ها، این مراحل را دنبال کنید:

  1. کد منبع کتابخانه Android Jetpack را دانلود کنید. برای جزئیات، به بخش بررسی کد Android Jetpack README مراجعه کنید.

  2. برنامه 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
    
  3. 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 APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  • androidTest APK

      adb 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 برگردانده می شود. در غیر این صورت، گزارش تست نهایی، خرابی در ترمینال را پس از اتمام تمام تست ها نشان می دهد.

automated_validation_result-pass

شکل 1. تست های خودکار نتیجه OK

automated_validation_result-fail

شکل 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 هستند فهرست می‌کند. اگر دوربینی از هیچ حالت افزودنی پشتیبانی نمی کند، مورد فهرست مربوطه آن خاکستری است.

camera_validation_result-initial

شکل 3. حالت ابزار اعتبارسنجی

برای مشاهده حالت های افزونه برای آزمایش، روی یکی از دوربین ها ضربه بزنید. حالت های برنامه افزودنی که توسط دوربین انتخابی پشتیبانی نمی شوند به رنگ خاکستری نشان داده می شوند.

extension_mode_validation_result-initial

شکل 4. حالت های افزودنی موجود برای یک دوربین

نتایج پیش نمایش را تأیید کنید

برای تأیید نتایج پیش‌نمایش، با ضربه زدن روی حالت افزونه برای دوربین انتخابی، یک آزمایش دستی را شروع کنید. سپس یک فعالیت ثبت تصویر حاوی پیش نمایش نشان داده می شود.

preview-bokeh_enabled

شکل 5. پیش نمایش تصویر با فعال بودن بوکه

فعالیت ثبت تصویر از عملکردهای زیر پشتیبانی می کند:

  • بزرگنمایی/کوچکنمایی
  • ضربه بزنید تا فوکوس کنید
  • دکمه تغییر حالت های فلش
  • EV +/-
  • دکمه سوئیچ فعال/غیرفعال برنامه افزودنی

بررسی کنید که عملکردهای بزرگنمایی/کوچک کردن، ضربه برای فوکوس، حالت های فلاش و EV +/- همانطور که در پیش نمایش انتظار می رود کار می کنند.

نتایج تصویر گرفته شده را تأیید کنید

برای گرفتن تصویر، روی دکمه CAPTURE (دکمه گرد) در فعالیت ثبت تصویر ضربه بزنید. این یک فعالیت اعتبارسنجی تصویر را راه اندازی می کند که تصویر گرفته شده را نشان می دهد.

photo_viewer-bokeh_enabled

شکل 6. تصویر گرفته شده با فعال بودن بوکه

فعالیت اعتبارسنجی تصویر شامل توابع زیر است:

  • برای کوچک کردن تصویر، به داخل/خارج کردن فشار دهید
  • برای جابجایی تصاویر گرفته شده به چپ/راست بلغزانید
  • بازپس گیری
  • ذخیره آیتم منوی تصویر

بررسی کنید که آیا تصویر گرفته شده صحیح است و با تنظیمات بزرگنمایی/کوچک کردن، ضربه زدن به فوکوس، حالت های فلاش و تنظیمات EV +/- که هنگام ثبت تصویر تنظیم شده اند مطابقت دارد یا خیر.

اگر نتایج گرفته شده درست است، روی دکمه PASS (چک مارک) در گوشه پایین سمت راست ضربه بزنید. در غیر این صورت، روی دکمه FAIL (نقطه تعجب) در گوشه پایین سمت چپ ضربه بزنید.

مشاهده نتایج آزمون

پس از تأیید یک حالت برنامه افزودنی به عنوان یک پاس یا ناموفق، مورد فهرست برای حالت برنامه افزودنی رنگ پس‌زمینه و نشانگر متفاوتی را نشان می‌دهد. در نمای لیست تمامی دوربین ها موارد با رنگ های زیر نمایش داده می شوند:

  • پس‌زمینه سفید: دوربین حداقل یک حالت افزونه را پشتیبانی می‌کند و حالت‌های افزونه پشتیبانی‌شده به‌طور کامل تأیید نشده‌اند.
  • پس زمینه سبز: دوربین حداقل از یک حالت افزونه پشتیبانی می کند. همه حالت‌های برنامه افزودنی پشتیبانی شده با عبور همه نتایج تأیید می‌شوند.
  • پس زمینه قرمز: دوربین حداقل از یک حالت افزونه پشتیبانی می کند. همه حالت های برنامه افزودنی پشتیبانی شده با حداقل یک نتیجه از حالت برنامه افزودنی ناموفق تأیید می شوند.
  • پس زمینه خاکستری: این ویژگی در دسترس نیست.

camera_validation_resultextension_mode_validation_result

شکل 7. رنگ‌هایی که نتایج تست دوربین‌ها و حالت‌های گسترش را نشان می‌دهند

سایر توابع ابزار اعتبارسنجی

پس از اتمام تمام تست ها، فعالیت لیست دوربین عملکردهای زیر را ارائه می دهد:

  • صادرات نتایج آزمایش: نتایج آزمایش را به عنوان یک فایل CSV به پوشه Documents/ExtensionsValidation صادر می کند.
  • بازنشانی: تمام نتایج تست کش شده را پاک می کند.
  • برنامه نمونه برنامه افزودنی: به حالت برنامه نمونه برنامه افزودنی می رود.

پس از اتمام تست، می توانید نتایج آزمایش را صادر کنید. اگر مشکلی پیدا کردید و نسخه جدیدی از پیاده‌سازی کتابخانه فروشنده با راه‌حل‌ها باید دوباره تأیید شود، نتایج آزمایش قبلی را بازنشانی کنید و همه حالت‌های افزونه پشتیبانی‌شده را در همه دوربین‌ها دوباره اجرا کنید تا تأیید کنید که مشکلات برطرف شده‌اند.