Google Home 测试套件

云到云    Local Home SDK

Google Home Test Suite 是一款 Web 应用,通过它您可以 自行测试你的智能家居 Action。Test Suite 会根据与您的账号关联的设备和特征自动生成和运行测试用例。完成测试后,您可以查看 或填写提交表单,将测试结果提交给 Google。

Test Suite 执行的测试包含但不包含 仅限于:

  • 检查是否为设备和特征实现了报告状态请求同步

  • 验证 QUERY intent 已针对您的设备实现,且其结果与报告状态结果一致。

您可以点击以下按钮启动 Test Suite 工具:

启动 Test Suite

自行测试 Action

以下部分介绍了如何在Test Suite 你的设备和智能家居 Action 项目。Test Suite 需要您登录,以便检查 Google Home Graph 中的设备并直接向 Google Assistant 发送命令。

如需自行测试您的 Action,请按以下步骤操作:

  1. 在网络浏览器中,打开 Test Suite
  2. 使用右上角的按钮登录 Google。

  3. 配置 Project Details

    1. 项目 ID 字段中,输入您的项目 ID 智能家居 Action。
    2. 点击下一步
  4. 配置测试设置

    1. 如果您要对智能家居 Action 进行认证,请勿更改默认的报告状态/请求同步超时值。但是,对于 你可以更改超时值 向 Home Graph 报告状态。
    2. 如果您要认证智能家居 Action,请确保已启用测试请求同步选项。在测试期间,系统会提示您添加、更新或移除设备,并检查 Home Graph 中的设备列表是否发生了变化。若要更改操作,请通过您当前使用的集成 测试。被测集成必须始终有至少 1 部设备 附加到代理用户。

    3. 如果您使用的是 Scene 特征,请选择 测试场景特征

    4. 如果你为 Local Home 设备运行测试套件,请选择 支持 Local Home SDK

      1. 选择 Local FulfillmentSeamless Setup
      2. 如果设备可以处理 QUERY intent,请点击支持本地查询
  5. 执行 Test Run 并查看结果:

    1. 点击 Next 开始运行测试。界面中显示了 以及被测试的特征。
  6. 查看结果和提交页面:

    1. 测试完成后,点击 Next 查看结果。

测试结果包括通过和失败的测试数量 表示通过百分比的得分。

账号关联验证测试

账号关联 在 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 工具并 并附加该结果。

如需提交测试结果并认证你的智能家居 Action,请执行以下操作: 请按以下步骤操作:

  1. 收到测试结果并准备好认证您的 home 操作,点击 Test Suite 工具中的 Submit
  2. 点击下载测试结果按钮以检索测试结果。
  3. 点击转到提交表单,将测试结果提交给 Google。
  4. 填写所有必填字段,然后点击提交