Набор тестов Google Home

SDK для локального домашнего каталога (Cloud-to-cloud Local Home SDK)

Google Home Test Suite — это веб-приложение, позволяющее самостоятельно тестировать действия вашего умного дома. Test Suite автоматически генерирует и запускает тестовые сценарии на основе устройств и характеристик, связанных с вашей учетной записью. После завершения тестов вы можете просмотреть их результаты.

Чтобы использовать Test Suite и отправить результаты тестирования в Google для сертификации, см. страницу « Тестирование и обмен данными о действиях умного дома» . Эта версия Test Suite предназначена специально для разработки и обеспечения качества.

В число тестов, выполняемых Test Suite , входят, помимо прочего, следующие:

Запустить инструмент « Test Suite можно, нажав кнопку ниже:

Запуск Test Suite

Проверьте свои действия самостоятельно.

В следующем разделе описывается, как запустить Test Suite на вашем устройстве и в проекте действий для умного дома. Для запуска Test Suite требуется авторизация, чтобы он мог проверять устройства в вашем Google Home Graph и отправлять команды непосредственно в Google Assistant .

Для самопроверки вашего действия выполните следующие шаги:

  1. Откройте Test Suite в веб-браузере.
  2. Войдите в Google, используя кнопку в правом верхнем углу.

  3. Настройте параметры проекта :

    1. В поле «Идентификатор проекта» введите идентификатор проекта для вашего действия в системе умного дома.
    2. Нажмите «Далее» .
  4. Настройка параметров тестирования :

    1. При сертификации интеграции « Cloud-to-cloud оставьте значение параметра «Время ожидания синхронизации отчета/запроса» по умолчанию без изменений. Однако для тестирования вы можете изменить значение времени ожидания, если вашему агенту требуется больше времени для отправки отчета о состоянии в Home Graph.
    2. При сертификации вашей интеграции Cloud-to-cloud убедитесь, что включена опция « Тестовая синхронизация запросов» — во время тестирования вам будет предложено добавить, обновить или удалить устройство и проверить, изменился ли список устройств в Home Graph. Изменения происходят через тестируемую интеграцию. К тестируемой интеграции всегда должно быть привязано как минимум одно устройство к пользователю-агенту.

    3. Если вы используете параметр Scene , выберите параметр "Проверить сцену" .

    4. Если вы запускаете набор тестов для устройств локального домашнего режима, выберите «Поддерживает SDK локального домашнего режима» .

      1. Выберите вариант «Локальное выполнение заказов» или «Беспроблемная настройка» .
      2. Нажмите «Поддерживает локальный запрос», если устройство может обрабатывать намерение QUERY локально.
  5. Выполните тестовый запуск и просмотрите результаты:

    1. Нажмите «Далее» , чтобы начать тестирование. В интерфейсе отображаются тестируемые устройства и характеристики.
  6. Посмотреть страницу «Результаты и отправка» :

    1. После завершения тестов нажмите «Далее» , чтобы просмотреть результаты.

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

Тест проверки связи учетных записей

В экосистеме умного дома Google связь между учетными записями играет важную роль. Тест проверки связи между учетными записями в Test Suite проверяет вашу службу OAuth на наличие потенциальных проблем.

Тест проверки связи учетных записей содержит тесты для проверки токенов доступа и токенов обновления :

Тест проверки токена доступа

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

Тестовые элементы Объяснение
Проверьте, имеет ли токен доступа формат JWT. Функция привязки учетных записей Google не рекомендует использовать токены доступа в формате JWT. Если обнаружен токен в формате JWT, отображается следующее предупреждение: The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token.
Проверьте, есть ли у истекшего токена доступа токен обновления. Если срок действия токена доступа истекает, необходимо предоставить токен обновления. Если токен обновления не будет найден, проверка завершится неудачей.

Проверка проверки токена обновления

Токены обновления проверяются, чтобы убедиться, что ваша конечная точка обмена токенов корректно обменивает их на новые токены доступа.

Тестовые элементы Объяснение
Обновление по недействительному токену обновления, проверка ответа партнера. Ваш сервер должен возвращать ошибку HTTP 400 Bad Request с {"error": "invalid_grant"} в ответ на запрос с недействительным токеном обновления. Если ответ не соответствует "коду ошибки или сообщению", этот тестовый случай завершится неудачей. Для получения дополнительной информации посетите страницу обмена токенов обновления для получения токенов доступа .
Проверьте, обновился ли токен доступа после обновления токена. В ответ на запросы на обновление токена должны возвращаться новые токены доступа. Если ваш сервер предоставляет тот же токен доступа, тестовый случай завершится неудачей.
Проверьте, действителен ли еще действующий токен доступа. Будет отображено время истечения срока действия токена доступа.
Проверьте, не был ли токен обновления сменён во время обновления. Мы проверяем, изменяются ли токены обновления после запроса на обновление. Если токен обновления изменяется, ваш сервер должен аннулировать старый токен обновления только после использования нового, чтобы предотвратить состояния гонки, которые могут нарушить привязку учетной записи пользователя. Тест завершится неудачей, если вы аннулируете старый токен обновления до использования нового.

Сообщения об ошибках

В таблице ниже перечислены некоторые распространенные сообщения об ошибках, с которыми вы можете столкнуться, и рекомендуемые способы их устранения.

Сообщение об ошибке Как решить
API HomeGraph ранее не использовался в проекте <_id_> или отключен. Убедитесь, что вы включили API HomeGraph .
Запрошенная сущность не найдена Убедитесь, что ваш agentUserId действителен и связан с вашей службой.

Убедитесь, что у вас есть разрешение resourcemanager.projects.get для проекта ${your project id} и что вы предоставили все необходимые разрешения на экране согласия.

Ошибка при получении данных модуля: ошибка getModuleData: Сбой HTTP-ответа для https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Следуйте инструкциям в разделе «Устранение неполадок с разрешениями IAM» , чтобы убедиться, что ваша учетная запись имеет разрешение resourcemanager.projects.get для проекта.
  2. Перейдите на страницу приложений, имеющих доступ к вашей учетной записи , чтобы проверить следующие разрешения для «Набора тестов для умного дома»:
    • Основные сведения об учетной записи
      1. Посмотрите адрес электронной почты вашей основной учетной записи Google.
      2. Просмотрите свою личную информацию, включая любую личную информацию, которую вы сделали общедоступной.
    • Дополнительный доступ
      1. Используйте своего Assistant : широкий доступ к вашей учетной записи Google.
      2. Просматривайте и управляйте устройствами умного дома в вашей системе Home Graph.
    Если возникает ошибка доступа, сначала отмените доступ, а затем предоставьте все необходимые разрешения на экране согласия при повторном входе в систему.

Отправить результаты теста

Результаты вашего Test Suite должны пройти 100% проверок, прежде чем вы сможете отправить его на сертификацию. Если какие-либо характеристики требуют ручного тестирования, вам все равно следует запустить инструмент Test Suite и прикрепить результат, даже если он не пройден на 100%.

Чтобы отправить результаты тестирования и сертифицировать интеграцию Cloud-to-cloud , выполните следующие шаги:

  1. После получения результатов тестирования и готовности к сертификации интеграции Cloud-to-cloud нажмите кнопку «Отправить» в инструменте Test Suite .
  2. Перейдите в Google Home Developer Console > Cloud-to-cloud > Сертифицировать .
  3. Выберите интеграцию, которую хотите сертифицировать.
  4. В разделе «Документация» введите идентификатор результатов вашего Test Suite .
  5. Заполните все обязательные поля, затем нажмите «Отправить» .