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 发送命令。
如需自行测试您的 Action,请按以下步骤操作:
- 在网络浏览器中,打开 Test Suite。
使用右上角的按钮登录 Google。
配置项目详情:
- 在 Project ID 字段中,输入您的智能家居 Action 的项目标识符。
- 点击下一步。
配置测试设置:
- 如果要认证 Cloud-to-cloud 集成,请将默认的报告状态/请求同步超时值保持不变。不过,如果代理需要更长时间向 Home Graph 报告状态,您可以更改超时值以进行测试。
如果要认证 Cloud-to-cloud 集成,请确保已启用测试请求同步选项。在测试期间,系统会提示您添加、更新或移除设备,并检查 Home Graph 中的设备列表是否发生了变化。更改操作会通过您正在测试的集成进行。您要测试的集成必须始终至少有一个设备与代理用户相关联。
如果您使用的是 Scene trait,请选择 Test Scene trait。
如果您要针对 Local Home 设备运行测试套件,请选择 Supports Local Home SDK(支持 Local Home SDK)。
- 选择本地配送或流畅设置。
- 如果设备可以在本地处理 QUERY intent,请点击 Supports Local 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 错误:https://hometestsuiteproxy-pa.googleapis.com/v1/module:get 的 HTTP 失败响应:403 OK 403 |
|
提交测试结果
您必须先确保 Test Suite 结果在所有测试中都通过,然后才能提交认证表单。如果您有任何需要手动测试的特征,即使测试未达到 100% 通过,您也应运行 Test Suite 工具并附加结果。
如需提交测试结果并认证 Cloud-to-cloud 集成,请按以下步骤操作:
- 收到测试结果并准备好对 Cloud-to-cloud 集成进行认证后,请在 Test Suite 工具中点击提交。
- 点击下载测试结果按钮,检索测试结果。
- 点击前往提交表单,将测试结果提交给 Google。
填写所有必填字段,然后点击提交。