Использование CTS Verifier

Android Compatibility Test Suite Verifier (CTS Verifier) ​​дополняет Compatibility Test Suite (CTS). В то время как CTS проверяет API и функции, которые могут быть автоматизированы, CTS Verifier предоставляет тесты для API и функций, которые невозможно протестировать на стационарном устройстве без ручного ввода или позиционирования, например, качество звука, сенсорный экран, акселерометр и камера.

Требования

Перед запуском CTS Verifier убедитесь, что у вас есть следующее оборудование:

  • Устройство Android, которое подтвердило совместимость с API Android, успешно пройдя CTS. Это тестируемое устройство (DUT).
  • Компьютер Linux с совместимым портом USB 2.0. Все соединения с DUT проходят через этот порт.
  • Второе устройство Android с известной совместимой реализацией Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (если DUT поддерживает UWB) и эмуляции хост-карты NFC (HCE).
  • Маршрутизатор Wi-Fi, настроенный с именем точки доступа и паролем. Маршрутизатор должен иметь возможность отключаться от интернета, но не выключаться.

Убедитесь, что вы также подготовили штативы, держатели устройств и предварительно измеренные расстояния, необходимые для тестов измерения расстояния (близости) для UWB, Wi-Fi NAN и Bluetooth RSSI. Подробности см. в разделе Калибровка присутствия .

Требования UICC к тестам NFC

CTS Verifier имеет следующие тестовые случаи NFC:

  • Field-off (использует данные транзакции из 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

На стороне эмулятора мы ожидаем, что событие транзакции выведет соответствующую активность на передний план.

Настраивать

Измените режим навигации системы тестового устройства на трехкнопочный режим следующим образом:

  1. Откройте «Настройки».
  2. Перейдите в Система > Жесты > Системная навигация .
  3. Выберите любой кнопочный режим навигации, предпочтительнее трехкнопочный режим, если он доступен.

Чтобы настроить среду тестирования CTS Verifier:

  1. На компьютере Linux:

    • Выполните следующую команду перед установкой CTS Verifier, чтобы разрешить доступ к интерфейсам, не относящимся к SDK.

      adb shell settings put global hidden_api_policy 1
      
    • Установите Android Studio .

    • Загрузите APK-файл CTS Verifier для версии Android, которую вы хотите протестировать.

  2. Подключите проверяемое устройство к компьютеру Linux.

  3. С терминала на компьютере Linux установите CtsVerifier.apk на DUT.

    adb install -r -g CtsVerifier.apk
    
  4. Для Android 10 и выше выполните следующую команду, чтобы предоставить приложению разрешение на создание отчета.

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. Для Android 11 и выше выполните следующую команду, чтобы разрешить сохранение отчетов в самостоятельно определяемом каталоге во внешнем каталоге верхнего уровня устройства.

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. Для Android 13 и выше выполните следующую команду, чтобы разрешить тестовый доступ к API для CTS Verifier.

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. Для Android 14 и выше выполните следующую команду, чтобы предоставить приложению разрешение на включение экрана.

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. Убедитесь, что на проверяемом устройстве правильно установлены системная дата и время.

Запустить CTS-верификатор

Запустите приложение CTS Verifier, нажав значок CTS Verifier на проверяемом устройстве.

Значок CTS Verifier в лаунчере

Рисунок 1. Значок CTS Verifier

Приложение отображает несколько наборов тестов, доступных для ручной проверки.

Меню тестов CTS Verifier

Рисунок 2. Меню тестов CTS Verifier

Каждый тест содержит набор общих элементов в нижней части экрана.

Верификатор качества потокового видео

Рисунок 3. Тестовый экран с выделенными общими элементами теста

  • Пройдено (✓). Нажмите, если DUT соответствует требованиям теста согласно инструкциям Info.
  • Информация (?). Нажмите, чтобы отобразить инструкции по тесту. Также автоматически появляется при первом открытии теста.
  • Не пройдено (!). Нажмите, если DUT не соответствует требованиям теста согласно инструкциям Info.

Некоторые тесты, такие как режим USB-аксессуара и тест калибровки камеры, требуют дополнительной настройки теста и инструкций, подробно описанных в следующих разделах.

Тестовый режим USB-аксессуара для версии 8.0 и выше

Тест USB-аксессуаров CTS Verifier

Рисунок 4. Процедура тестирования USB-аксессуара для версии 8.0 и выше

Тест USB-аксессуаров CTS Verifier

Рисунок 5. Тестирование режима USB-аксессуара для версии 8.0 и выше

Тестовый режим USB-аксессуара для версий 7.x и ниже

Для теста USB-аксессуара требуется компьютер с ОС Linux для запуска программы USB-настольного компьютера (хоста).

  1. Подключите проверяемое устройство к компьютеру Linux.
  2. На компьютере запустите программу cts-usb-accessory из пакета CTS Verifier:

    ./cts-usb-accessory
  3. Дождитесь появления всплывающего сообщения на проверяемом устройстве, затем нажмите кнопку ОК .
    Тест USB-аксессуаров CTS Verifier

    Рисунок 6. Тест USB-аксессуара

  4. Перейдите к тесту USB-аксессуара в приложении CTS Verifier на проверяемом устройстве.

  5. На компьютере просмотрите вывод с консоли. Пример вывода:

    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
    

Калибровка поля зрения камеры

Используйте процедуру калибровки поля зрения, чтобы быстро определить поле зрения устройства с умеренной точностью.

  1. Настройте тестовую среду:

    1. Распечатайте целевой файл калибровочного шаблона.pdf на бумаге формата 11 x 17 дюймов или A3.
    2. Закрепите напечатанный рисунок на жесткой подложке.
    3. Расположите камеру и напечатанную мишень, как показано на следующей схеме.
      Мишень, напечатанная камерой

      Рисунок 7. Мишень, напечатанная камерой

  2. Установите целевую ширину:

    1. Измерьте расстояние (в сантиметрах) между сплошными линиями на целевом шаблоне, чтобы учесть неточности печати (~38 см).
    2. Запустите приложение калибровки.
    3. Нажмите кнопку настройки и выберите Расстояние маркера .
    4. Измерьте и введите расстояние до целевого рисунка (~100 см).
    5. Нажмите кнопку «Назад», чтобы вернуться к предварительному просмотру калибровки.
  3. Убедитесь, что устройство и цель размещены так, как показано на рисунке, и в диалоговом окне настройки введены правильные расстояния. В предварительном просмотре отображается изображение с наложенной на него вертикальной линией; эта линия должна совпадать с центральной линией шаблона цели. Прозрачную сетку можно использовать с другими вертикальными линиями, чтобы гарантировать, что оптическая ось ортогональна цели.

  4. Запустите калибровочный тест:

    1. Выберите разрешение изображения (используя селектор в левом нижнем углу), затем коснитесь экрана, чтобы сделать снимок. Тест переходит в режим калибровки и отображает фотографию с двумя вертикальными линиями, наложенными на изображение.
    2. Точность определения:
      • Если линии совпадают с вертикальными линиями на целевом рисунке с точностью до нескольких сантиметров, то указанное поле зрения для выбранного разрешения является точным.
      • Если линии не совпадают, то указанное поле зрения неточно. Чтобы исправить это, отрегулируйте ползунок в нижней части экрана, пока наложение не совпадет с целевым шаблоном как можно точнее. Когда наложение и изображение целевого шаблона совпадают, отображаемое поле зрения является близким приближением к правильному значению. Указанное поле зрения должно быть в пределах +/-2 градуса от калибровочного значения.
    3. Нажмите кнопку «Назад» и повторите калибровочный тест для всех разрешений изображения, поддерживаемых тестируемым устройством.

Запустите CTS Verifier для альтернативных режимов

Начиная с версий CTS 10 R6 и CTS 11 R2, CTS Verifier поддерживает тесты, необходимые для устройств с альтернативными режимами или для устройств с более чем одним режимом экрана.

В верхней части главного списка в CTS Verifier отображается кнопка, позволяющая пользователям переключаться между развернутым и сложенным режимом отображения. CTS Verifier покажет необходимые тесты для выбранного режима отображения. Для выполнения альтернативных режимов в CTS Verifier необходимо переключить кнопку на соответствующий режим отображения и запустить список показанных тестов.

Тумблер CTS-V

Рисунок 8. Переключатель 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>

Экспорт результатов

После завершения всех тестов вы можете сохранить результаты в виде отчета и загрузить их на компьютер. Названия отчетов автоматически снабжаются временной меткой на основе системного времени DUT.

  1. Чтобы сохранить результаты теста, нажмите значок сохранения (диск) в верхней части списка категорий тестов.

  2. Дождитесь всплывающего сообщения, в котором будет указан путь к файлу сохраненного отчета (например, /sdcard/verifierReports/ctsVerifierReport-date-time.zip ), затем запишите путь.

  3. Подключите проверяемое устройство к компьютеру Linux.

  4. Из установки 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
      
  5. Чтобы очистить результаты «прошел/не прошел», выберите результаты в приложении CTS Verifier и выберите Меню > Очистить .