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

Средство проверки набора тестов совместимости 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

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

Настраивать

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

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

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

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

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

      adb shell settings put global hidden_api_policy 1
      
    • Установите Android-студию .

    • Загрузите APK-файл CTS Verifier для версии Android для тестирования.

  2. Подключите DUT к компьютеру с 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 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. Подключите DUT к компьютеру с 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

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

<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. Подключите DUT к компьютеру с 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 и выберите «Меню» > «Очистить» .