Средство проверки набора тестов совместимости Android (CTS Verifier) дополняет набор тестов совместимости (CTS). В то время как CTS проверяет API и функции, которые можно автоматизировать, CTS Verifier предоставляет тесты для API и функций, которые нельзя протестировать на стационарном устройстве без ручного ввода или позиционирования, таких как качество звука, сенсорный экран, акселерометр и камера.
Требования
Перед запуском CTS Verifier убедитесь, что у вас есть следующее оборудование:
- Устройство Android, которое подтвердило совместимость API Android, успешно пройдя CTS. Это тестируемое устройство (DUT).
- Компьютер Linux с портом, совместимым с USB 2.0. Все подключения к тестируемому устройству проходят через этот порт.
- Второе устройство Android с известной совместимостью Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (если тестируемое устройство поддерживает UWB) и эмуляции хост-карты NFC (HCE).
- Маршрутизатор Wi-Fi, настроенный с именем точки доступа и паролем. Маршрутизатор должен иметь возможность отключаться от Интернета, но не отключаться.
Обязательно также подготовьте штативы, держатели устройств и предварительно измеренные расстояния, необходимые для тестов измерения расстояния (близости) для UWB, Wi-Fi NAN и Bluetooth RSSI. Подробную информацию см. в разделе Калибровка присутствия .
Требования UICC для тестов NFC
CTS Verifier имеет следующие тесты NFC:
- Поле выключено (используются данные транзакции из 0x54)
- Отменить выбор (используются данные транзакции из 0x52)
- Команда HCI (0025000000) (использует данные транзакции из 0x02)
Для тестов событий транзакции требуются два устройства, одно из которых должно иметь SecureElement UICC со следующими правилами доступа:
- Хеш APK CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Идентификатор авторизованного приложения (AID) для доступа к событиям NFC: 0xA000000476416E64726F696443545341
Со стороны эмулятора мы ожидаем, что событие транзакции выведет соответствующее действие на передний план.
Настраивать
Измените режим системной навигации тестируемого устройства на трехкнопочный режим следующим образом:
- Откройте настройки.
- Перейдите в «Система» > «Жест» > «Навигация по системе» .
- Выберите любой режим навигации с помощью кнопок, предпочтителен трехкнопочный режим, если он доступен.
Чтобы настроить среду тестирования CTS Verifier:
На компьютере с Linux:
Перед установкой CTS Verifier выполните следующую команду, чтобы разрешить доступ к интерфейсам, отличным от SDK.
adb shell settings put global hidden_api_policy 1
Установите Android-студию .
Загрузите APK-файл CTS Verifier для версии Android для тестирования.
Подключите DUT к компьютеру с Linux.
С терминала на компьютере Linux установите
CtsVerifier.apk
на DUT.adb install -r -g CtsVerifier.apk
Для Android 10 и более поздних версий выполните следующую команду, чтобы дать приложению разрешение на создание отчета.
adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
Для Android 11 и более поздних версий выполните следующую команду, чтобы разрешить сохранение отчетов в самостоятельно определяемом каталоге во внешнем каталоге верхнего уровня устройства.
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
Для Android 13 и более поздних версий выполните следующую команду, чтобы разрешить доступ к тестовому API для CTS Verifier.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
Для Android 14 и более поздних версий выполните следующую команду, чтобы дать приложению разрешение на включение экрана.
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
Убедитесь, что на тестируемом устройстве правильно установлены системная дата и время.
Запустите CTS Verifier
Запустите приложение CTS Verifier, коснувшись значка CTS Verifier на тестируемом устройстве.
Рисунок 1. Значок CTS Verifier
Приложение отображает несколько наборов тестов, доступных для ручной проверки.
Рисунок 2. Меню тестов CTS Verifier
Каждый тест содержит набор общих элементов в нижней части экрана.
Рисунок 3. Экран теста с выделенными общими элементами теста
- Пройти (✓). Нажмите, если тестируемое устройство соответствует требованиям тестирования согласно информационным инструкциям.
- Информация (?). Нажмите, чтобы отобразить инструкции по тестированию. Также появляется автоматически при первом открытии теста.
- Неудача (!). Нажмите, если тестируемое устройство не соответствует требованиям тестирования согласно информационным инструкциям.
Некоторые тесты, такие как режим USB-аксессуара и тест калибровки камеры, требуют дополнительной настройки теста и инструкций, подробно описанных в следующих разделах.
Тестовый режим USB-аксессуара для версии 8.0 и выше
Рис. 4. Процедура проверки USB-аксессуара для версии 8.0 и выше
Рисунок 5. Тестирование режима USB-аксессуара для версии 8.0 и выше
Тестовый режим USB-аксессуара для версии 7.x и ниже
Для теста USB-аксессуаров требуется компьютер с Linux для запуска программы USB-настольного компьютера (хоста).
- Подключите DUT к компьютеру с Linux.
На компьютере выполните программу
cts-usb-accessory
из пакета CTS Verifier:./cts-usb-accessory
Подождите, пока на тестируемом устройстве появится всплывающее сообщение, затем выберите «ОК» .
Рис. 6. Проверка USB-аксессуаров
Перейдите к тесту USB-аксессуара в приложении CTS Verifier на тестируемом устройстве.
На компьютере просмотрите вывод консоли. Пример вывода:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
Калибровка поля зрения камеры
Используйте процедуру калибровки поля зрения, чтобы быстро определить поле зрения устройства с умеренной точностью.
Настройте тестовую среду:
- Распечатайте целевой файл калибровки-шаблона.pdf на бумаге формата 11 x 17 дюймов или A3.
- Напечатанный рисунок закрепите на жесткой основе.
Сориентируйте камеру и печатную мишень, как показано на следующей схеме.
Рисунок 7. Мишень, напечатанная камерой
Установите целевую ширину:
- Измерьте расстояние (в сантиметрах) между сплошными линиями на целевом шаблоне, чтобы учесть неточности печати (~38 см).
- Запустите приложение калибровки.
- Нажмите кнопку настройки и выберите Расстояние до маркера .
- Измерьте и введите расстояние до целевого шаблона (~100 см).
- Нажмите кнопку «Назад», чтобы вернуться к предварительному просмотру калибровки.
Убедитесь, что устройство и цель расположены, как показано на рисунке, и в диалоговом окне настройки указаны правильные расстояния. Предварительный просмотр отображает изображение с наложенной на него вертикальной линией; эта линия должна совпадать с центральной линией целевого шаблона. Прозрачную сетку можно использовать с другими вертикальными линиями, чтобы обеспечить ортогональность оптической оси мишени.
Запустите калибровочный тест:
- Выберите разрешение изображения (с помощью селектора в левом нижнем углу), затем коснитесь экрана, чтобы сделать снимок. Тест переходит в режим калибровки и отображает фотографию с двумя вертикальными линиями, наложенными на изображение.
- Определить точность:
- Если линии совпадают с вертикальными линиями на целевом образце с точностью до нескольких сантиметров, указанное поле зрения для выбранного разрешения является точным.
- Если линии не совпадают, сообщаемое поле зрения является неточным. Чтобы исправить это, перемещайте ползунок в нижней части экрана так, чтобы наложение как можно ближе совпадало с целевым шаблоном. Когда наложение и изображение целевого шаблона выровнены, отображаемое поле зрения близко соответствует правильному значению. Заявленное поле зрения должно находиться в пределах +/- 2 градусов от калибровочного значения.
- Нажмите кнопку «Назад» и повторите калибровочный тест для всех разрешений изображения, поддерживаемых тестируемым устройством.
Запустите CTS Verifier для альтернативных режимов.
Начиная с выпусков CTS 10 R6 и CTS 11 R2, CTS Verifier поддерживает тесты, необходимые для устройств с альтернативными режимами или для устройств с более чем одним режимом экрана.
В верхней части основного списка в CTS Verifier отображается кнопка, позволяющая пользователям переключаться между развернутым и сложенным режимом отображения. CTS Verifier покажет необходимые тесты для выбранного режима отображения. Для запуска альтернативных режимов в CTS Verifier необходимо переключить кнопку в соответствующий режим отображения и запустить показанный список тестов.
Результаты свернутых тестов будут записаны в том же отчете, что и развернутые тесты. Чтобы идентифицировать каждый результат теста, из которого получен набор тестов, к каждому имени теста в свернутом режиме добавляется суффикс.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
Экспортировать результаты
После завершения всех тестов вы можете сохранить результаты в виде отчета и загрузить их на компьютер. Имена отчетов автоматически снабжаются метками времени на основе системного времени тестируемого устройства.
Чтобы сохранить результаты теста, коснитесь значка сохранения (диска) вверху списка категорий тестов.
Дождитесь всплывающего сообщения, в котором будет указан путь к файлу сохраненного отчета (например,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
), затем запишите путь.Подключите DUT к компьютеру с Linux.
При установке Android SDK на компьютере Linux загрузите отчеты с подключенного устройства, используя
adb shell content read
илиadb pull CTSVerifierReportPath
.Для Android 7.x и выше загрузите все отчеты с помощью следующей команды:
adb pull /sdcard/verifierReports
Для Android 6.0 и более ранних версий загрузите все отчеты с помощью следующей команды:
adb pull /mnt/sdcard/ctsVerifierReports/
Для Android 10 и более поздних версий, реализующих Automotive, и устройств, работающих от имени вторичного пользователя , загрузите последний отчет с помощью следующей команды:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
Чтобы просмотреть все отчеты, доступные на подключенном устройстве:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
Чтобы скачать отчет из списка, вы можете указать идентификатор строки или имя файла. Например:
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip > report.zip
Чтобы очистить результаты «пройден/не пройден», выберите результаты в приложении CTS Verifier и выберите «Меню» > «Очистить» .