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