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

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

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

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

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

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

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

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

  2. فایل APK extensionstestapp را بسازید. این کار امکان اجرای تست‌های اعتبارسنجی دستی را فراهم می‌کند.

      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
    

اجرای تست‌های اعتبارسنجی خودکار

برای اجرای تست‌های اعتبارسنجی خودکار، فایل‌های APK مربوط extensionstestapp و androidTest را نصب کنید.

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

اعتبارسنجی خودکار-گذر نتیجه

شکل ۱. نتایج تست‌های خودکار تایید شد

اعتبارسنجی_خودکار_نتیجه-شکست

شکل ۲. نتایج تست‌های خودکار با شکست مواجه می‌شوند

اجرای تست‌های خودکار از یک کلاس خاص

برای اجرای تست‌های خودکار یک کلاس خاص، نام و مسیر کلاس هدف را مشخص کنید. مثال زیر دستور اجرای تست‌ها برای کلاس 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 +/- همانطور که در پیش‌نمایش انتظار می‌رود، کار می‌کنند.

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

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

نمایشگر_عکس-بوکه_فعال

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

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

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

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

اگر نتایج ثبت شده صحیح است، روی دکمه‌ی «قبول» (علامت تیک) در گوشه‌ی پایین سمت راست ضربه بزنید. در غیر این صورت، روی دکمه‌ی «مردود » (علامت تعجب) در گوشه‌ی پایین سمت چپ ضربه بزنید.

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

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

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

اعتبارسنجی_دوربیناعتبارسنجی_نتیجه_حالت_افزونه

شکل ۷. رنگ‌هایی که نتایج آزمایش را برای دوربین‌ها و حالت‌های توسعه نشان می‌دهند

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

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

  • خروجی گرفتن از نتایج آزمون: نتایج آزمون را به صورت یک فایل CSV به پوشه Documents/ExtensionsValidation خروجی می‌گیرد.
  • تنظیم مجدد: تمام نتایج آزمایش ذخیره شده در حافظه پنهان را پاک می‌کند.
  • برنامه نمونه افزونه‌ها: به حالت برنامه نمونه افزونه‌ها می‌رود.

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