Google Home Test Suite 是一款 Web 应用,可让您自行测试智能家居 Action。Test Suite 会根据与您的账号相关联的设备和特征自动生成并运行测试用例。完成测试后,您可以查看测试结果。
如需使用 Test Suite 并向 Google 提交测试结果以进行认证,请参阅测试和分享智能家居 Action 页面了解相关信息。 此版本的 Test Suite 专门用于开发和质量保证。
Test Suite 执行的测试包括但不限于以下方面:
您可以点击下方的按钮启动 Test Suite 工具:
自行测试 Action
以下部分介绍了如何在设备和智能家居 Action 项目上运行 Test Suite。Test Suite 需要您登录,以便检查 Google Home Graph 中的设备并直接向 Google Assistant 发送命令。
要对您的操作进行自测,请按照以下步骤操作:
- 在网络浏览器中,打开 Test Suite。
使用右上角的按钮登录 Google。
配置项目详情:
- 在项目 ID 字段中,输入智能家居 Action 的项目标识符。
- 点击下一步。
配置 测试设置:
- 如果您要认证 Cloud-to-cloud 集成,请保持默认的报告状态/请求同步超时值不变。不过,在测试时,如果代理需要更多时间向 Home Graph 报告状态,您可以更改超时值。
如果您要认证 Cloud-to-cloud 集成,请确保已启用测试请求同步选项 - 在测试期间,系统会提示您添加、更新或移除设备,并检查 Home Graph 中的设备列表是否已更改。变更操作将通过您正在测试的集成进行。被测集成必须始终至少有一个设备连接到代理用户。
如果您正在使用 Scene 特性,请选择 测试场景特性。
如果您正在运行本地家庭设备的测试套件,请选择 支持本地家庭 SDK。
- 选择本地履单或无缝设置。
- 如果设备可以在本地处理 QUERY intent,请点击 支持本地查询。
执行测试运行并查看结果:
- 点击下一步开始运行测试。界面显示了正在测试的设备和特征。
查看结果和提交页面:
- 测试完成后,点击下一步以查看结果。
测试结果包括通过和未通过的测试次数,以及表示通过率的最终得分。
账户关联验证测试
账号关联在 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"}。
如果响应与“错误代码或消息”不匹配,则此测试用例将失败。访问
以交换刷新令牌来获取访问令牌 了解更多信息。 |
| 测试令牌刷新后访问令牌是否已更新。 | 应在收到刷新令牌请求时返回新的访问令牌。如果您的服务器提供相同的访问令牌,则测试用例将失败。 |
| 检查未过期的访问令牌是否仍然有效。 | 将显示访问令牌的过期时间。 |
| 检查在刷新期间是否已轮换刷新令牌。 | 我们检查刷新令牌请求后刷新令牌是否已更改。如果刷新令牌发生更改,您的服务器应仅在已使用新的刷新令牌后才使旧的刷新令牌失效,以防止可能导致用户账号关联中断的竞态条件。如果在新刷新令牌生效之前使旧的刷新令牌失效,则测试将失败。 |
错误消息
下表列出了一些您可能会遇到的常见错误消息以及建议的解决方法。
| 错误消息 | 如何解决 |
|---|---|
| 项目 <_id_> 之前未使用过 HomeGraph API,或者该 API 已被禁用。 | 请确保您已启用 HomeGraph API。 |
| 找不到所请求的实体 | 检查您的 agentUserId 是否有效,以及是否已关联到您的服务。 |
请确保您拥有项目 获取模块数据时出错:getModuleData 错误:https://hometestsuiteproxy-pa.googleapis.com/v1/module:get 的 HTTP 响应失败:403 OK 403 |
|
提交测试结果
您的 Test Suite 结果必须通过 100% 的测试,然后才能提交以进行认证。如果您有任何需要手动测试的特性,即使测试结果未达到 100%,您仍然应该运行 Test Suite 工具并附上结果。
要提交测试结果并认证您的Cloud-to-cloud集成,请按照以下步骤操作:
- 收到测试结果并准备好认证您的 Cloud-to-cloud 集成后,请在 Test Suite 工具中点击 提交。
- 依次前往 Google Home Developer Console > Cloud-to-cloud > 认证。
- 选择要认证的集成。
- 在下面文档请输入您的Test Suite结果 ID 。
填写所有必填字段,然后点击 提交。