Инструмент проверки расширений камеры позволяет производителям устройств убедиться, что библиотека поставщика OEM для расширений камеры реализована правильно. Инструмент включает автоматизированные и ручные тесты проверки.
Автоматизированные тесты проверки подтверждают, что интерфейс библиотеки поставщика реализован правильно. Например, если для фотосъемки требуется
CaptureProcessor, тесты проверяют, возвращает лиImageCaptureExtenderImpl#getCaptureStages()необходимые экземплярыCaptureStageдля фотосъемки.Тесты для проверки вручную. Проверьте эффекты изображения и качество предварительного просмотра и снятых изображений. Например, тесты позволяют производителям устройств вручную проверить, правильно ли применяется эффект ретуши лица или достаточна ли сила боке.
Исходный код инструмента проверки является частью тестового приложения для расширений в хранилище Android Jetpack.
Как создать инструмент проверки расширений камеры
Чтобы создать инструмент проверки расширений, выполните следующие действия:
Скачайте исходный код библиотеки Android Jetpack. Подробнее о том, как получить код, можно узнать в файле README для Android Jetpack.
Создайте APK-файл
extensionstestapp. Это позволяет выполнять тесты ручной проверки.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebugAPK-файл будет создан по следующему пути:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apkСоздайте APK-файл
androidTest. Этот APK-файл позволяет запускать автоматические тесты.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTestAPK-файл будет создан по следующему пути:
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.
extensionstestappAPK-файлadb 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. В противном случае в итоговом отчете об испытаниях после завершения всех тестов будут показаны ошибки.
Рисунок 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 +/-
- Переключатель включения/отключения расширения
Убедитесь, что в режиме предпросмотра правильно работают функции масштабирования, фокусировки по нажатию, вспышки и компенсации экспозиции.
Как проверить результаты поиска по картинкам
Чтобы сделать снимок, нажмите кнопку Сфотографировать (круглую кнопку) в приложении для съемки. Запустится проверка изображения, и вы увидите сделанный снимок.
Рисунок 6. Снимок с эффектом боке
Проверка изображений включает следующие функции:
- Чтобы изменить масштаб изображения, сведите или разведите два пальца на экране.
- Проведите пальцем влево или вправо, чтобы переключиться между изображениями.
- Повторить запись
- Пункт меню "Сохранить изображение"
Проверьте, правильно ли сделан снимок и соответствуют ли ему настройки масштабирования, фокусировки по нажатию, режима вспышки и экспозиционного числа, заданные при съемке.
Если результаты верны, нажмите кнопку PASS (галочка) в правом нижнем углу. В противном случае нажмите кнопку FAIL (НЕ ПРОЙДЕНО) (восклицательный знак) в левом нижнем углу.
Просмотр результатов
После того как режим расширения будет проверен, цвет фона и индикатор в списке изменятся. В списке камер элементы отображаются следующими цветами:
- Белый фон. Камера поддерживает хотя бы один режим расширения, но поддерживаемые режимы расширения не прошли полную проверку.
- Зеленый фон. Камера поддерживает хотя бы один режим расширения. Все поддерживаемые режимы расширения проверены, и все результаты прошли проверку.
- Красный фон. Камера поддерживает хотя бы один режим расширения. Все поддерживаемые режимы расширения проверяются, и по крайней мере один из них не проходит проверку.
- Серый фон. Эта функция недоступна.
Рисунок 7. Цвета, обозначающие результаты тестирования камер и режимов расширения
Другие функции инструмента проверки
После завершения всех тестов в списке камер будут доступны следующие функции:
- Экспортировать результаты тестирования. Экспортирует результаты тестирования в виде CSV-файла в папку
Documents/ExtensionsValidation. - Сбросить. Очистить все кешированные результаты тестирования.
- Пример приложения с расширениями. Переключает устройство в режим примера приложения с расширениями.
После завершения тестирования вы можете экспортировать его результаты. Если вы обнаружили проблему и вам нужно проверить новую версию библиотеки поставщика с решениями, сбросьте результаты предыдущего тестирования и повторно запустите все поддерживаемые режимы расширения на всех камерах, чтобы убедиться, что проблемы устранены.