SDK для локального домашнего использования из облака в облако
Google Home Test Suite — это веб-приложение, которое позволяет вам самостоятельно протестировать действия вашего умного дома. Test Suite автоматически генерирует и запускает тестовые примеры на основе устройств и характеристик, связанных с вашей учетной записью. После завершения тестов вы можете просмотреть результаты тестов.
Чтобы использовать Test Suite и отправить результаты тестов в Google для сертификации, см. информацию на странице «Протестируйте и поделитесь действиями умного дома» . Эта версия Test Suite предназначена специально для разработки и обеспечения качества.
Тесты, выполняемые с помощью Test Suite , включают, помимо прочего, следующее:
Проверяет, реализованы ли состояние отчета и синхронизация запросов для ваших устройств и характеристик.
Проверяет, что намерение QUERY реализовано для вашего устройства и его результаты соответствуют результатам состояния отчета.
Вы можете запустить инструмент Test Suite , нажав кнопку ниже:
Самопроверьте свое действие
В следующем разделе описывается, как запустить Test Suite на вашем устройстве и в проекте Action умного дома. Test Suite требует от вас входа в систему, чтобы он мог проверять устройства в вашем Google Home Graph и отправлять команды непосредственно в Google Assistant .
Чтобы самостоятельно протестировать свое действие, выполните следующие действия:
- В веб-браузере откройте Test Suite .
Войдите в Google, используя кнопку в правом верхнем углу.
Настройте детали проекта :
- В поле «Идентификатор проекта » введите идентификатор проекта для действия вашего умного дома.
- Нажмите Далее .
Настройте параметры теста :
- При сертификации интеграции Cloud-to-cloud оставьте значение по умолчанию «Состояние отчета/время ожидания синхронизации запросов» без изменений. Однако для тестирования вы можете изменить значение таймаута, если вашему агенту требуется больше времени, чтобы сообщить о состоянии в Home Graph.
При сертификации интеграции Cloud-to-cloud убедитесь, что опция «Синхронизация тестового запроса» включена — во время тестирования вам будет предложено добавить, обновить или удалить устройство, а также проверить, изменился ли список устройств в Home Graph. Действия по изменению происходят посредством тестируемой вами интеграции. В вашей тестируемой интеграции всегда должно быть хотя бы одно устройство, подключенное к пользователю агента.
Если вы используете черту Scene , выберите черту «Тестовая сцена» .
Если вы используете набор тестов для локальных домашних устройств, выберите «Поддерживает 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%.
Чтобы отправить результаты тестирования и подтвердить интеграцию Cloud-to-cloud , выполните следующие действия:
- После получения результатов тестирования и готовности сертифицировать интеграцию Cloud-to-cloud нажмите «Отправить» в инструменте « Test Suite .
- Нажмите кнопку «СКАЧАТЬ РЕЗУЛЬТАТЫ ТЕСТА», чтобы получить результаты теста.
- Нажмите кнопку «Перейти к форме отправки», чтобы отправить результаты теста в Google.
Заполните все обязательные поля, затем нажмите «Отправить» .