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

l10n

SDK для локального домашнего использования из облака в облако

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

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

  • Проверяет, реализованы ли состояние отчета и синхронизация запросов для ваших устройств и характеристик.

  • Проверяет, что намерение QUERY реализовано для вашего устройства и его результаты соответствуют результатам состояния отчета.

Вы можете запустить инструмент Test Suite , нажав кнопку ниже:

Запустить Test Suite

Самопроверьте свое действие

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

Чтобы самостоятельно протестировать свое действие, выполните следующие действия:

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

  3. Настройте детали проекта :

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

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

    3. Если вы используете черту Scene , выберите черту «Тестовая сцена» .

    4. Если вы используете набор тестов для локальных домашних устройств, выберите «Поддерживает 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: ответ об ошибке 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%.

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

  1. После того, как вы получите результаты испытаний и будете готовы сертифицировать действие своего умного дома, нажмите «Отправить» в инструменте Test Suite .
  2. Нажмите кнопку «СКАЧАТЬ РЕЗУЛЬТАТЫ ТЕСТА» , чтобы получить результаты теста.
  3. Нажмите кнопку «Перейти к форме отправки» , чтобы отправить результаты теста в Google.
  4. Заполните все обязательные поля, затем нажмите «Отправить» .