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

Дополняет набор тестов на совместимость Android (CTS Verifier). В то время как 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:

    1. Перед установкой CTS Verifier выполните следующую команду, чтобы разрешить доступ к интерфейсам, не входящим в состав SDK.
    adb shell settings put global hidden_api_policy 1
    
    1. Установите Android Studio .

    2. Загрузите APK-файл CTS Verifier для нужной версии 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.

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

Меню тестов 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. Дождитесь появления диалогового окна на тестируемом устройстве, затем нажмите OK .

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

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

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

  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. Определите точность:
    3. Если линии совпадают с вертикальными линиями на целевом шаблоне с точностью до нескольких сантиметров, то заявленное поле зрения для выбранного разрешения является точным.
    4. Если линии не совпадают, отображаемое поле зрения будет неточным. Для исправления этого отрегулируйте ползунок в нижней части экрана до тех пор, пока наложение не совпадет с целевым шаблоном как можно точнее. Когда наложение и изображение целевого шаблона совпадают, отображаемое поле зрения будет приблизительно соответствовать правильному значению. Отображаемое поле зрения должно отличаться от калибровочного значения не более чем на 2 градуса.
    5. Нажмите кнопку «Назад» и повторите калибровочный тест для всех разрешений изображения, поддерживаемых тестируемым устройством.

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

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

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

тумблер CTS-V

Рисунок 8. Переключатель проверки CTS.

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

<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 <var>CURRENT_USER</var> --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
        ```
      
      To download a report from the list, you can specify the Row ID or
      filename. For example:
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
        ```
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip
        ```
      
  5. Чтобы удалить результаты «пройдено» или «не пройдено», выберите результаты в приложении CTS Verifier и выберите Меню > Очистить .