Инструмент проверки расширений камеры позволяет производителям устройств проверять, что библиотека OEM-поставщиков расширений камеры реализована правильно. Инструмент включает в себя автоматизированные и ручные тесты проверки.
Автоматизированные проверочные тесты: проверяют, что интерфейс библиотеки поставщика реализован правильно. Например, если
CaptureProcessor
требуется для захвата изображения, тесты проверяют, чтоImageCaptureExtenderImpl#getCaptureStages()
возвращает требуемые экземплярыCaptureStage
для захвата изображений.Ручные проверочные тесты: проверка эффектов изображения и качества предварительных и захваченных изображений. Например, тесты позволяют производителям устройств вручную проверять, правильно ли применен эффект ретуши лица или достаточна ли сила боке.
Исходный код инструмента проверки является частью тестового приложения расширений в репозитории Android Jetpack .
Создайте инструмент проверки расширений камеры
Чтобы создать инструмент проверки расширений, выполните следующие действия:
Загрузите исходный код библиотеки Android Jetpack. Подробности см. в разделе «Проверка кода» в файле README Android Jetpack .
Соберите
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
Запуск автоматизированных проверочных тестов
Для запуска автоматизированных проверочных тестов установите APK-файлы extensionstestapp
и androidTest
.
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
. - Сброс: очищает все кэшированные результаты тестов.
- Пример приложения расширений: переключает в режим примера приложения расширений.
После завершения тестирования вы можете экспортировать результаты тестирования. Если вы обнаружили проблему и новая версия реализации библиотеки поставщика с решениями должна быть проверена снова, сбросьте предыдущие результаты тестирования и повторно запустите все поддерживаемые режимы расширения на всех камерах, чтобы убедиться, что проблемы устранены.