Google Home Test Suite 是一个 Web 应用,让您可以自行测试智能家居 Action。Test Suite 会根据与您的帐号关联的设备和特征自动生成并运行测试用例。完成测试后,您可以查看测试结果,或填写提交表单以向 Google 提交测试结果。
由 Test Suite 执行的测试包括但不限于:
您可以点击以下按钮,启动 Test Suite 工具:
自行测试你的 Action
以下部分介绍了如何在设备和智能家居 Action 项目上运行 Test Suite。Test Suite 要求您登录,它才能检查 Google Home Graph 中的设备并将命令直接发送到 Google Assistant。
如需自行测试你的 Action,请按以下步骤操作:
- 在网络浏览器中,打开 Test Suite。
使用右上角的按钮登录 Google。
配置项目详情:
- 在项目 ID 字段中,输入智能家居 Action 的项目标识符。
- 点击下一步。
配置测试设置:
- 如要认证你的智能家居 Action,请勿更改默认的 Report State/Request Sync Timeout 值。不过,对于测试,如果代理需要更多时间向 Home Graph 报告状态,您可以更改超时值。
如需对智能家居 Action 进行验证,请确保已启用 Test Request Sync 选项。在测试期间,系统会提示您添加、更新或移除设备,并检查 Home Graph 中的设备列表是否已更改。变更操作通过您正在测试的集成发生。受测集成必须至少始终将一个设备连接到代理用户。
如果您使用的是场景特征,请选择测试场景特征。
如要运行 Local Home 设备的测试套件,请选择 Supports Local Home SDK。
- 选择 Local Fulfillment 或 Seamless Setup。
- 如果设备可以在本地处理 QUERY intent,请点击 Support 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. |
检查过期访问令牌是否有刷新令牌。 | 当访问令牌过期时,必须提供刷新令牌。 如果找不到刷新令牌,此测试将失败。 |
刷新令牌验证测试
系统会测试刷新令牌,以确保您的令牌交换端点能正确将其交换为新的访问令牌。
测试项目 | 说明 |
---|---|
使用无效刷新令牌来刷新令牌,同时检查合作伙伴响应。 | 您的服务器应该向无效的刷新令牌请求返回包含 {"error": "invalid_grant"} 的 HTTP 400 Bad Request 错误。
如果响应与“错误代码或消息”不匹配,则此测试用例将失败。如需了解详情,请参阅
使用刷新令牌交换访问令牌。 |
测试令牌刷新后,访问令牌是否已更新。 | 您应该返回新的访问令牌来响应刷新令牌请求。如果您的服务器提供相同的访问令牌,则测试用例将失败。 |
检查未过期的访问令牌是否仍然有效。 | 系统会显示访问令牌过期时间。 |
检查刷新令牌是否在刷新期间轮替。 | 我们检查刷新令牌请求之后,是否更改了刷新令牌。如果刷新令牌发生更改,您的服务器应该仅在使用新的刷新令牌后使旧刷新令牌失效,以防出现破坏用户帐号关联的竞态条件。如果您在使用新刷新令牌之前使旧刷新令牌失效,测试将会失败。 |
错误消息
下表列出了您可能遇到的一些常见错误消息以及建议的解决方法。
错误消息 | 解决办法 |
---|---|
HomeGraph API 之前未在项目 <_id_> 中使用过或已停用 | 请确保您已启用 HomeGraph API。 |
未找到所请求的实体 | 请检查您的 agentUserId 是否有效并已与您的服务相关联。 |
确保您对项目“ 获取模块数据时出错:getModuleData error: Http failed response https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 |
|
提交测试结果
您的Test Suite结果必须通过 100% 的测试,然后才能提交认证表单。如果您有任何需要手动测试的特征,则应该仍然运行 Test Suite 工具并附加结果,即使结果并未全部通过测试即可。
如需提交测试结果并验证您的智能家居 Action,请按以下步骤操作:
- 收到测试结果并准备好对智能家居 Action 进行认证后,请点击 Test Suite 工具中的 Submit。
- 点击下载测试结果按钮,以检索测试结果。
- 点击前往提交表单,向 Google 提交测试结果。
填写所有必填字段,然后点击提交。