Google Home Test Suite — это веб-приложение, которое позволяет вам самостоятельно протестировать действие умного дома. Test Suite автоматически создает и запускает тестовые случаи на основе устройств и характеристик, связанных с вашей учетной записью. По завершении тестов вы можете просмотреть результаты тестов или заполнить форму отправки, чтобы отправить результаты тестов в Google.
Тесты, выполняемые Test Suite , включают, помимо прочего, следующее:
Проверяет, реализованы ли отчеты о состоянии и запрос синхронизации для ваших устройств и признаков.
Проверяет, что намерение QUERY реализовано для вашего устройства и его результаты соответствуют результатам отчета о состоянии.
Вы можете запустить инструмент Test Suite , нажав кнопку ниже:
Самопроверка своих действий
В следующем разделе описывается, как запустить Test Suite на вашем устройстве и в проекте Smart Home Action. Test Suite требует, чтобы вы вошли в систему, чтобы он мог проверять устройства в вашем Google Home Graph и отправлять команды непосредственно в Google Assistant .
Чтобы самостоятельно проверить свое действие, выполните следующие действия:
- В веб-браузере откройте Test Suite .
Войдите в Google с помощью кнопки в правом верхнем углу.
Настройте детали проекта :
- В поле «Идентификатор проекта» введите идентификатор проекта для вашего действия «Умный дом».
- Нажмите «Далее» .
Настройте параметры теста :
- Если вы сертифицируете свое действие умного дома, оставьте значение по умолчанию Report State/Request Sync Timeout без изменений. Однако для тестирования вы можете изменить значение тайм-аута, если вашему агенту требуется больше времени, чтобы сообщить о состоянии в Home Graph.
Если вы сертифицируете свое действие умного дома, убедитесь, что параметр «Синхронизация тестового запроса» включен — во время тестирования вам будет предложено добавить, обновить или удалить устройство и проверить, не изменился ли список устройств в Home Graph. Действия по изменению происходят через интеграцию, которую вы тестируете. В вашей тестируемой интеграции всегда должно быть хотя бы одно устройство, подключенное к пользователю агента.
Если вы используете черту сцены , выберите черту тестовой сцены .
Если вы запускаете набор тестов для устройств Local Home, выберите Supports Local Home SDK .
- Выберите локальное выполнение или бесшовную настройку .
- Нажмите «Поддерживает локальный запрос» , если устройство может обрабатывать намерение QUERY локально.
Выполните тестовый прогон и просмотрите результаты:
- Щелкните Далее , чтобы начать выполнение тестов. Интерфейс показывает тестируемые устройства и признаки.
Просмотрите страницу результатов и отправки :
- После завершения тестов нажмите «Далее» , чтобы просмотреть результаты.
Результаты теста включают количество пройденных и непройденных тестов, а также окончательный балл, указывающий процент прохождения.
Проверка привязки аккаунта
Связывание учетных записей играет важную роль в экосистеме умного дома 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 действителен и связан с вашей службой. |
Убедитесь, что у вас есть разрешение Ошибка получения данных модуля: ошибка getModuleData: ответ об ошибке HTTP для https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 |
|
Отправить результаты теста
Ваши результаты Test Suite должны пройти 100 % тестов перед отправкой формы сертификации . Если у вас есть какие-либо черты, требующие ручного тестирования, вам все равно следует запустить инструмент Test Suite и прикрепить результат, даже если он не прошел на 100%.
Чтобы отправить результаты теста и сертифицировать действие умного дома, выполните следующие действия:
- После того, как вы получите результаты теста и будете готовы сертифицировать действие «Умный дом», нажмите «Отправить» в инструменте Test Suite .
- Нажмите кнопку ЗАГРУЗИТЬ РЕЗУЛЬТАТЫ ТЕСТА , чтобы загрузить результаты теста.
- Нажмите ПЕРЕЙТИ К ФОРМЕ ОТПРАВКИ , чтобы отправить результаты теста в Google.
Заполните все необходимые поля, затем нажмите «Отправить» .