Полные автомобильные тесты в коробке (CATBox) — это пакет с открытым исходным кодом, который предоставляет платформы и инструменты, необходимые для оптимизации и выполнения автомобильных тестов с минимальной конфигурацией. CATBox масштабируется и совместим с инструментами, инфраструктурой и тестами, которые вы используете для тестирования и проверки своих реализаций Android Automotive OS (AAOS). В результате вы можете поставлять на рынок высококачественную продукцию.
Дизайн и реализация CATBox
Набор тестов CATBox предоставляет инструменты, платформы и тесты, необходимые для выполнения функциональных тестов и тестов производительности на целевом автомобильном устройстве.
На следующем рисунке показан высокоуровневый дизайн пакета CATBox.
Рисунок 1. Пакет CATBox
Трейдфед
Tradefed — это среда непрерывного тестирования с открытым исходным кодом, используемая для выполнения тестов на устройствах Android. Подробнее см. в разделе Обзор Торговой Федерации .
Автомобильная тестовая среда
CATBox основан на автомобильной тестовой среде под названием Spectatio, которая предоставляет API-интерфейсы для тестирования различных приложений на автомобильных устройствах. Он построен на основе UI Automator , среды тестирования с открытым исходным кодом, которая предоставляет набор API для создания тестов пользовательского интерфейса, взаимодействующих с пользовательскими и системными приложениями.
Загрузка набора тестов CATBox
Андроид 12
Android 12 — это выпуск этапа разработки под кодовым названием S. Используйте следующие ссылки, чтобы загрузить наборы тестов CATBox для Android 12:
Андроид 11
Android 11 — это выпуск этапа разработки под кодовым названием R. Используйте следующие ссылки, чтобы загрузить наборы тестов CATBox для Android 11:
Сборка CATBox
Используйте команду сборки catbox
после того, как код Android AOSP будет доступен на локальной рабочей станции. Чтобы собрать пакет CATBox локально:
Выберите Device Target и выполните следующую команду:
# Select Device Target Based on Device Architecture $ lunch <target>
Чтобы собрать CATBox, выполните следующую команду:
# Build CATBox $ make catbox
Эта команда создает файл
android-catbox.zip
в каталоге/out/host/linux-x86/catbox
, который затем можно использовать для запуска тестов.
Настройка среды
Настройка среды, необходимая для выполнения тестов CATBox, аналогична настройке CTS . Чтобы настроить среду, выполните каждую из следующих задач:
- Установите ADB и AAPT .
- Установите JDK. См. Комплект для разработки Java для Ubuntu.
- Увеличить лимит памяти. См. Требования к хранению .
Настройка и запуск CATBox
Используйте тестовую среду Tradefed для запуска тестов на устройствах Android. Перед настройкой CATBox ознакомьтесь с Обзором Торговой Федерации .
Чтобы настроить и запустить CATBox, см. разделы ниже.
Настройка устройства
Перед запуском плана тестирования выполните следующие шаги для настройки устройства:
Убедитесь, что вы установили последние версии Android Debug Bridge (adb) и Android Asset Packaging Tool (AAPT) , а также добавили расположение этих инструментов в системный путь вашего компьютера. Подробнее см. ADB и AAPT .
Подключите хотя бы одно устройство и подготовьте тестируемое устройство (DUT) следующим образом:
- Чтобы восстановить заводские настройки автомобильного устройства, нажмите « Настройки» > «Система» > «Параметры сброса» > «Удалить все данные» .
- Дождитесь автоматического перезапуска устройства.
Убедитесь, что adb включен. Чтобы убедиться, что устройство доступно, выполните следующую команду:
$ adb devices
Чтобы включить root, выполните следующую команду:
# Enable Root $ adb -s DEVICE_SERIAL root
Замените
DEVICE_SERIAL
серийным идентификатором автомобильного устройства.Подключиться к Wi-Fi.
Извлеките пакет CATBox
После завершения настройки устройства разархивируйте пакет CATBox и перейдите в извлеченную папку:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ cd android-catbox
Выполнение тестов в CATBox
Чтобы запустить CATBox с планами тестирования в пакете CATBox, выполните следующее:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Замените DEVICE_SERIAL
серийным идентификатором автомобильного устройства. Если к хост-компьютеру подключено несколько устройств, используйте DEVICE_SERIAL
, чтобы различать их. Замените TEST_PLAN_NAME
именем плана тестирования, который вы хотите запустить.
Чтобы получить полный список доступных планов тестирования, выполните следующее:
./tools/catbox-tradefed list plans | grep -i catbox
В следующей таблице представлены доступные планы тестирования по типам:
Тип теста | Имя |
---|---|
Планы функционального тестирования | catbox-functional-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
Планы тестирования производительности | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
Результаты испытаний CATBox
Результаты тестирования сохраняются в папке android-catbox/results/latest
как для функциональных тестов, так и для тестов производительности.
- Результаты теста см. в
test_result.xml
. - Подробные сведения о тестах на отказ см.
test_result_failures_suite.html
. - Результаты показателей производительности см. в
CatboxPerformanceTests.reportlog.json
в каталогеreport-log-files
.
Журналы сохраняются по пути android-catbox/logs/latest
как для функциональных тестов, так и для тестов производительности.
Некоторые тесты, такие как Dial, Bluetooth Audio и jank-тесты списка контактов, требуют дополнительной настройки устройства.
Циферблатный тест
Тест Dial требует настройки устройства и параметров среды выполнения. Чтобы настроить устройство:
- Подключите мобильное устройство к головному устройству Automotive через Bluetooth.
- Убедитесь, что в тестовом телефоне есть SIM-карта для запуска тестов набора номера и что он подключен к мобильной сети.
- Тесты набора номера используют контакты по умолчанию, хранящиеся в телефоне. Используйте contact.vcf для загрузки контактов на телефон.
Замените
COMPANION_SERIAL
серийным идентификатором телефона и выполните следующие команды:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
Параметры времени выполнения
Тесты набора номера используют маленькие и большие телефонные номера для выполнения теста. Тесты набора номера также используют имя и номер контакта для тестов поиска. Используйте следующие параметры для предоставления этой информации:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
Аудио тест Bluetooth
Чтобы настроить устройство для аудиотеста Bluetooth:
- Убедитесь, что приложение YouTube Music установлено на телефоне и вы вошли в учетную запись. Если нет, установите приложение и войдите в учетную запись.
- Соедините телефон вручную с автомобильным устройством через Bluetooth.
- Как только телефон будет сопряжен, воспроизведите на телефоне песню, а затем начните выполнение теста.
Джанк-тест списка контактов
Чтобы настроить устройство для jank-теста списка контактов:
- Убедитесь, что в телефоне есть несколько контактов, чтобы тест мог прокручивать список контактов для сбора показателей нежелательной почты.
- Соедините телефон вручную с автомобильным устройством через Bluetooth.
- Как только телефон будет сопряжен, контакты будут доступны на устройстве.