Complete Automotive Tests in a Box (CATBox) — это пакет с открытым исходным кодом, который предоставляет платформы и инструменты, необходимые для оптимизации и выполнения автомобильных тестов с минимальной конфигурацией. CATBox масштабируем и совместим с инструментами, инфраструктурой и тестами, которые вы используете для тестирования и проверки реализаций Android Automotive OS (AAOS). В результате вы можете предлагать на рынке высококачественную продукцию.
Проектирование и реализация CATBox
Набор тестов CATBox предоставляет инструменты, платформы и тесты, необходимые для выполнения функциональных тестов и тестов производительности на автомобильном целевом устройстве и при использовании сопутствующего устройства.
На следующем изображении показан высокоуровневый дизайн пакета CATBox.
Рисунок 1. Пакет CATBox
Tradefed
Tradefed — это среда непрерывного тестирования с открытым исходным кодом, используемая для выполнения тестов на устройствах Android. Подробности см. в Обзоре Торговой федерации .
Система автомобильных испытаний
CATBox основан на платформе автомобильного тестирования под названием Spectatio , которая предоставляет API для тестирования различных приложений на автомобильных устройствах. Он построен на основе UI Automator , среды тестирования с открытым исходным кодом, которая предоставляет набор API для создания тестов пользовательского интерфейса, которые взаимодействуют с пользовательскими и системными приложениями.
Загрузка набора тестов CATBox
Андроид 14
Android Automotive 14 — это выпуск вехи разработки под кодовым названием U. Используйте следующие ссылки, чтобы загрузить наборы тестов CATBox для Android 14:
Андроид 12
Android 12 — это выпуск вехи разработки под кодовым названием S. Используйте следующие ссылки, чтобы загрузить наборы тестов CATBox для Android 12:
Андроид 11
Android 11 — это выпуск ключевого этапа разработки под кодовым названием R. Используйте следующие ссылки, чтобы загрузить наборы тестов CATBox для Android 11:
Сборка CATBox
Используйте команду сборки catbox
, как только код Android AOSP станет доступен на локальной рабочей станции.
Чтобы собрать пакет CATBox локально:
Выберите целевое устройство в зависимости от архитектуры устройства и выполните следующую команду:
lunch <target>
Чтобы собрать CATBox, выполните следующую команду:
make catbox
Эта команда создает файл
android-catbox.zip
в каталоге/out/host/linux-x86/catbox
, который затем можно использовать для запуска тестов.
Настройка среды
Настройка среды, необходимая для выполнения тестов CATBox, аналогична настройке CTS . Чтобы настроить среду, выполните каждую из следующих задач:
Установите ADB и AAPT .
Установите JDK. См. Комплект разработки Java для Ubuntu .
Увеличьте лимит памяти. См. Требования к хранению .
Настройте и запустите CATBox
Используйте платформу тестирования Tradefed для запуска тестов на устройствах Android. Прежде чем настраивать CATBox, ознакомьтесь с Обзором Trade Federation .
Чтобы настроить и запустить CATBox, см. разделы ниже.
Настройте устройство
Прежде чем запускать план тестирования, выполните следующие действия для настройки устройства:
Убедитесь, что вы установили последние версии Android Debug Bridge (adb) и Android Asset Packaging Tool (AAPT) , а также добавили расположение этих инструментов в системный путь вашего компьютера. Подробнее см. ADB и AAPT .
Подключите хотя бы одно устройство и подготовьте тестируемое устройство (ТУ) следующим образом:
Чтобы выполнить сброс настроек автомобильного устройства, выберите «Настройки» > «Система» > «Параметры сброса» > «Стереть все данные» .
Подождите, пока устройство автоматически перезагрузится.
Убедитесь, что adb включен. Чтобы убедиться, что устройство доступно, выполните следующую команду:
adb devices
Чтобы включить root, выполните следующую команду:
adb -s DEVICE_SERIAL root
Замените
DEVICE_SERIAL
серийным идентификатором автомобильного устройства.Подключитесь к Wi-Fi.
Извлеките пакет CATBox
После настройки устройства разархивируйте пакет CATBox и перейдите в извлеченную папку:
unzip android-catbox.zip
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 | Функциональные тесты. |
catbox-functional-app-info-setting | Информация о приложении, устанавливающая функциональные тесты. |
catbox-functional-admin-user-grant-permissions | Функциональные тесты предоставления разрешений администратору. |
catbox-functional-app-info-setting-ui-elements | Информация о приложении, устанавливающая функциональные тесты. |
catbox-functional-appgrid | Функциональные тесты сетки приложений. |
catbox-functional-base | Список функциональных тестов. |
catbox-functional-bluetooth-audio | Аудио Bluetooth Функциональные тесты. |
catbox-functional-bluetooth-palette | Функциональные тесты строки состояния. |
catbox-functional-bluetooth-tests | Bluetooth тестируется с помощью Mobly. |
catbox-functional-brightness-palette | Функциональные тесты строки состояния. |
catbox-functional-btmoped | Функциональные тесты на базе Bluetooth-мопеда. |
catbox-functional-date-time-setting | Функциональные тесты установки даты и времени. |
catbox-functional-dial | Наберите функциональные тесты. |
catbox-functional-display-setting | Функциональные тесты настройки дисплея. |
catbox-functional-driving-optimized-apps | Функциональные тесты ограничения UX. |
catbox-functional-enable-developers-option | Включите опцию разработчиков функциональных тестов. |
catbox-functional-home | Домашние функциональные тесты. |
catbox-functional-lock-screen | Функциональные тесты экрана блокировки. |
catbox-functional-mediacenter | Функциональные тесты Медиацентра. |
catbox-functional-microphone-recent-apps | Функциональные тесты настройки микрофона. |
catbox-functional-microphone-setting | Функциональные тесты настройки микрофона. |
catbox-functional-multiuser | Многопользовательские функциональные тесты. |
catbox-functional-multiuser-system-user | Многопользовательские функциональные тесты. |
catbox-functional-navigation-bar | Функциональные тесты панели навигации. |
catbox-functional-network-palette | Функциональные тесты строки состояния. |
catbox-functional-network-setting | Функциональные тесты настройки сети. |
catbox-functional-notification | Уведомление о функциональных тестах. |
catbox-functional-privacy-permission-manager | Функциональные тесты настройки разрешений приложения конфиденциальности. |
catbox-functional-privacy-setting | Функциональные тесты настройки микрофона. |
catbox-functional-privacy-setting-ui-elements | Функциональные тесты настройки конфиденциальности. |
catbox-functional-profile-icon | Функциональные тесты панели значков профиля. |
catbox-functional-profiles-icon-list | Тесты списка значков профилей. |
catbox-functional-security-setting | Функциональные тесты настроек безопасности. |
catbox-functional-setting | Постановка функциональных тестов. |
catbox-functional-settings-location | Установка локации Тесты. |
catbox-functional-sound-setting | Функциональные тесты настройки звука. |
catbox-functional-status-bar | Функциональные тесты строки состояния. |
catbox-functional-storage-setting | Функциональные тесты настроек хранилища. |
catbox-functional-system-setting | Функциональные тесты настройки системы. |
catbox-functional-systemui | Тестирование пользовательского интерфейса системы. |
catbox-functional-ux-restriction | Функциональные тесты ограничения UX. |
catbox-functional-ux-restriction-facet-bar | Функциональные тесты ограничения UX. |
В следующей таблице перечислены планы тестирования производительности CATBox.
Планы тестирования производительности | Описание |
---|---|
catbox-performance-cold-app-start-up-dialer | Тест производительности при холодном запуске приложения для номеронабирателя и телефона. |
catbox-performance-cold-app-start-up-mediacenter | Тест производительности холодного запуска приложения для Media Center. |
catbox-performance-cold-app-start-up-settings | Тест производительности холодного запуска приложения для настроек. |
catbox-performance-create-and-switch-to-new-guest | Измерьте задержку для переключения на нового гостя. |
catbox-performance-create-and-switch-to-new-user | Измерьте задержку при переключении на нового пользователя без прав администратора. |
catbox-performance-hot-app-start-up-dialer | Тест производительности при запуске горячего приложения для Dialer и Phone. |
catbox-performance-hot-app-start-up-mediacenter | Тест производительности при запуске горячего приложения для Media Center. |
catbox-performance-hot-app-start-up-settings | Тест производительности при запуске горячего приложения для настроек. |
catbox-performance-jank-appgrid | Тест производительности Appgrid. |
catbox-performance-jank-contact-list | Тест производительности для Контактов. |
catbox-performance-jank-media | Тесты производительности для Media. |
catbox-performance-jank-media-switch-playback | Тест производительности при воспроизведении с переключателем мультимедиа. |
catbox-performance-jank-notifications | Тест производительности уведомлений. |
catbox-performance-jank-settings | Тест производительности для настроек. |
catbox-performance-switch-to-existing-user | Измерьте задержку, чтобы переключиться на существующего пользователя. |
Запустите тест на стороне хоста для нескольких устройств.
При выполнении тестов на стороне хоста с несколькими устройствами используется CATBox для запуска теста за один сеанс. Например, BTDiscoveryTest
:
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest
CATBox устанавливает apk
, а затем тест запускается в правильной среде выполнения Python.
Просмотрите результаты испытаний CATBox
Результаты функциональных тестов и тестов производительности сохраняются в android-catbox/results/latest
.
Тип результата | Расположение |
---|---|
Результаты испытаний | test_result.xml |
Подробности отказных испытаний | test_result_failures_suite.html |
Результаты показателей производительности | /report-log-files/CatboxPerformanceTests.reportlog.json |
Функциональные тесты и тесты производительности | /android-catbox/logs/latest |