请注意!新的开发者预览版计划即将推出。点击此处申请,抢先试用新工具并提供反馈。

Google Home 测试套件

云到云    Local Home SDK

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

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

  • 检查是否已针对您的设备和特征实现了报告状态请求同步

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

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

启动 Test Suite

自行测试你的 Action

以下部分介绍了如何在设备和智能家居 Action 项目上运行 Test SuiteTest Suite 要求您登录,它才能检查 Google Home Graph 中的设备并将命令直接发送到 Google Assistant

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

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

  3. 配置项目详情

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

    1. 如要认证你的智能家居 Action,请勿更改默认的 Report State/Request Sync Timeout 值。不过,对于测试,如果代理需要更多时间向 Home Graph 报告状态,您可以更改超时值。
    2. 如需对智能家居 Action 进行验证,请确保已启用 Test Request Sync 选项。在测试期间,系统会提示您添加、更新或移除设备,并检查 Home Graph 中的设备列表是否已更改。变更操作通过您正在测试的集成发生。受测集成必须至少始终将一个设备连接到代理用户。

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

    4. 如要运行 Local Home 设备的测试套件,请选择 Supports Local Home SDK

      1. 选择 Local FulfillmentSeamless Setup
      2. 如果设备可以在本地处理 QUERY intent,请点击 Support Local 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.
检查过期访问令牌是否有刷新令牌。 当访问令牌过期时,必须提供刷新令牌。 如果找不到刷新令牌,此测试将失败。

刷新令牌验证测试

系统会测试刷新令牌,以确保您的令牌交换端点能正确将其交换为新的访问令牌。

测试项目 说明
使用无效刷新令牌来刷新令牌,同时检查合作伙伴响应。 您的服务器应该向无效的刷新令牌请求返回包含 {"error": "invalid_grant"} 的 HTTP 400 Bad Request 错误。 如果响应与“错误代码或消息”不匹配,则此测试用例将失败。如需了解详情,请参阅 使用刷新令牌交换访问令牌
测试令牌刷新后,访问令牌是否已更新。 您应该返回新的访问令牌来响应刷新令牌请求。如果您的服务器提供相同的访问令牌,则测试用例将失败。
检查未过期的访问令牌是否仍然有效。 系统会显示访问令牌过期时间。
检查刷新令牌是否在刷新期间轮替。 我们检查刷新令牌请求之后,是否更改了刷新令牌。如果刷新令牌发生更改,您的服务器应该仅在使用新的刷新令牌后使旧刷新令牌失效,以防出现破坏用户帐号关联的竞态条件。如果您在使用新刷新令牌之前使旧刷新令牌失效,测试将会失败。

错误消息

下表列出了您可能遇到的一些常见错误消息以及建议的解决方法。

错误消息 解决办法
HomeGraph API 之前未在项目 <_id_> 中使用过或已停用 请确保您已启用 HomeGraph API
未找到所请求的实体 请检查您的 agentUserId 是否有效并已与您的服务相关联。

确保您对项目“${your project id}”拥有 resourcemanager.projects.get 权限,并且已在权限请求页面上授予所有权限。

获取模块数据时出错:getModuleData error: Http failed response 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. 收到测试结果并准备好对智能家居 Action 进行认证后,请点击 Test Suite 工具中的 Submit
  2. 点击下载测试结果按钮,以检索测试结果。
  3. 点击前往提交表单,向 Google 提交测试结果。
  4. 填写所有必填字段,然后点击提交