Инструмент проверки расширений камеры позволяет производителям устройств проверить правильность реализации 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: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
Запустите автоматические проверочные тесты
Чтобы запустить автоматические проверочные тесты, установите APK-файлы extensionstestapp
и androidTest
.
APK-файл
extensionstestapp
adb 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 +/- работают должным образом в предварительном просмотре.
Проверьте результаты захваченного изображения
Чтобы захватить изображение, коснитесь кнопки ЗАХВАТ (круглая кнопка) в действии захвата изображения. Это запускает действие проверки изображения, которое показывает захваченное изображение.
Рис. 6. Захваченное изображение с включенным эффектом боке
Деятельность по проверке изображения включает следующие функции:
- Сведите или разведите пальцы, чтобы масштабировать изображение
- Проведите пальцем влево/вправо, чтобы переключить захваченные изображения
- Отбить
- Пункт меню «Сохранить изображение»
Убедитесь, что захваченное изображение является правильным и соответствует параметрам увеличения/уменьшения масштаба, фокусировки касанием, режимам вспышки и настройкам EV +/-, которые были установлены при захвате изображения.
Если захваченные результаты верны, нажмите кнопку PASS (галочка) в правом нижнем углу. В противном случае нажмите кнопку FAIL (восклицательный знак) в нижнем левом углу.
Посмотреть результаты теста
После того, как режим расширения проверен как пройденный или непройденный, элемент списка для режима расширения показывает другой цвет фона и индикатор. В представлении списка всех камер элементы отображаются следующими цветами:
- Белый фон: камера поддерживает как минимум один режим расширения, а поддерживаемые режимы расширения не проверены полностью.
- Зеленый фон: камера поддерживает как минимум один режим расширения. Все поддерживаемые режимы расширения проверяются при передаче всех результатов.
- Красный фон: камера поддерживает как минимум один режим расширения. Все поддерживаемые режимы расширения проверяются, по крайней мере, один из них не дает результата.
- Серый фон: эта функция недоступна.
Рис. 7. Цвета, обозначающие результаты тестирования камер и режимов расширения
Другие функции инструмента проверки
После завершения всех тестов активность списка камер предоставляет следующие функции:
- Экспорт результатов теста: экспортирует результаты теста в виде файла CSV в папку
Documents/ExtensionsValidation
. - Сброс: очищает все кэшированные результаты теста.
- Пример приложения Extensions: переключается в режим примера приложения extensions.
После завершения тестирования вы можете экспортировать результаты тестирования. Если вы обнаружите проблему и новую версию реализации библиотеки поставщика с решениями необходимо снова проверить, сбросьте предыдущие результаты тестирования и повторно запустите все поддерживаемые режимы расширения на всех камерах, чтобы убедиться, что проблемы устранены.