Проведение тестов CTS-V

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

Требования

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

  • Устройство Android, успешно прошедшее проверку на совместимость с API Android, является тестируемым устройством (DUT).
  • Компьютер на базе Linux с портом, совместимым с USB 2.0. Все подключения к проверяемому устройству осуществляются через этот порт.
  • Второе устройство 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 .

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

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

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

    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 Verifier

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

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

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

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

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

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

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

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

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

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

Некоторые тесты, такие как режим 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. Распечатайте целевой файл calibration-pattern.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>

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

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

  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 и выберите Меню > Очистить .