Google Home Test Suite

Облако-облако    Local Home SDK

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

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

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

  • Проверяет, реализованы ли Report State и Request Sync для ваших устройств и функций.

  • Проверяет, реализовано ли намерение QUERY для вашего устройства и совпадают ли его результаты с результатами функции "Сообщить о состоянии".

Чтобы запустить инструмент 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, оставьте значение Report State/Request Sync Timeout по умолчанию. Однако при тестировании вы можете изменить значение тайм-аута, если агенту требуется больше времени, чтобы передать данные о состоянии в Home Graph.
    2. Если вы сертифицируете интеграцию Cloud-to-cloud, убедитесь, что включена функция Синхронизация запросов на тестирование. Во время тестирования вам будет предложено добавить, изменить или удалить устройство и проверить, изменился ли список устройств в Home Graph. Изменения вносятся через интеграцию, которую вы тестируете. У тестируемой интеграции всегда должно быть хотя бы одно устройство, подключенное к аккаунту агента.

    3. Если вы используете признак Scene, выберите Test Scene trait (Тестирование признака "Сцена").

    4. Если вы запускаете набор тестов для устройств Local Home, выберите Поддерживает Local Home 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"}. Если ответ не соответствует коду или сообщению об ошибке, этот тест будет считаться пройденным неудачно. Подробнее о том, как обменивать токены обновления на токены доступа…
Проверьте, был ли обновлен токен доступа после обновления токена. Новые токены доступа должны возвращаться в ответ на запросы токенов обновления. Если сервер предоставляет тот же токен доступа, тестовый случай будет считаться неудачным.
Проверьте, действителен ли ещё неистекший токен доступа. Будет показано время окончания срока действия токена доступа.
Проверьте, был ли обновлен токен обновления во время обновления. Мы проверяем, изменились ли токены обновления после запроса токена обновления. Если токен обновления изменился, ваш сервер должен аннулировать старый токен обновления только после того, как был использован новый. Это позволит избежать конфликтов, которые могут привести к нарушению связи аккаунта пользователя. Тест будет неудачным, если вы аннулируете старый токен обновления до того, как будет использован новый.

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

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

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

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

Ошибка при получении данных модуля: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

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

Как отправить результаты тестирования

Результаты Test Suite должны пройти все тесты, прежде чем вы сможете отправить их на сертификацию. Если у вас есть функции, которые требуют ручного тестирования, все равно запустите инструмент 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. Заполните все обязательные поля и нажмите Отправить.