使用 Canary 蓝图 - Amazon CloudWatch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Canary 蓝图

本节提供有关每种 Canary 蓝图的详细信息以及每种蓝图最适合的任务。为以下 Canary 类型提供了蓝图:

  • 检测信号显示器

  • API Canary

  • 无效链接检查器

  • GUI 工作流程

使用蓝图创建 Canary 时,在您填写 CloudWatch 控制台中的字段时,页面的 Script editor (脚本编辑器) 区域会将您正在创建的 Canary 显示为 Node.js 脚本。您还可以在此区域编辑 Canary 以进一步定制。

检测信号监控

检测信号脚本加载指定的 URL,并存储页面的屏幕截图和 HTTP 存档文件(HAR 文件)。它们还存储已访问 URL 的日志。

您可以使用 HAR 文件查看有关网页性能的详细数据。您可以分析 Web 请求列表并捕获性能问题,例如某个项的加载时间。

API Canary

API Canary 可以测试 REST API 的基本读写函数。REST 指表述性状态转移,是开发人员在创建 API 时需要遵循的一组规则。其中一条规则规定,指向特定 URL 的链接应返回一段数据。

在 REST API 中,每个 URL 都被称为一个请求,而发送回的数据是响应。每个请求包含以下信息:

  • 终端节点,即您请求的 URL。

  • 方法,它是发送到服务器的请求类型。REST API 支持 GET(读取)、POST(写入)、PUT(更新)、PATCH(更新)和 DELETE(删除)操作。

  • 标头,用于向客户端和服务器提供信息。它们用于身份验证和提供有关正文内容的信息。有关有效标头的列表,请参阅 HTTP 标头

  • 数据(或正文),其中包含要发送到服务器的信息。这仅用于 POST、PUT、PATCH 或 DELETE 请求。

  • 您请求的 URL。

API Canary 蓝图支持 GET 和 POST 方法。使用此蓝图时,您必须指定标头。例如,您可以指定 Authorization 作为 Key (键),并指定必要的授权数据作为该键的 Value (值)

如果您在测试 POST 请求,还可以在 Data (数据) 字段中指定要发布的内容。


              控制台中的创建 Canary 页面,其中填充了 API Canary 蓝图的字段。

无效链接检查器使用 document.getElementsByTagName('a'),收集您正在测试的 URL 中的所有链接。它仅测试指定数量的链接,URL 本身计为第一个链接。例如,如果要检查包含五个链接的页面上的所有链接,则必须指定 Canary 跟踪六个链接。

Canary 检测以下类型的链接错误:

  • 404 未找到页面

  • 主机名无效

  • 错误的 URL。例如,URL 缺少括号,包含多余的斜杠,或者协议错误。

  • 无效的 HTTP 响应代码

  • 主机服务器返回没有内容和没有响应代码的空响应。

  • HTTP 请求在 Canary 运行期间持续超时。

  • 主机持续丢弃连接,因为它配置错误或太忙。

GUI 工作流生成器

GUI 工作流生成器蓝图验证是否可以在您的网页上执行操作。例如,如果您有一个带有登录表单的网页,则 Canary 可以填充用户和密码字段并提交表单,以验证网页是否正常工作。

当您使用蓝图创建此类型的 Canary 时,可以指定希望 Canary 在网页上执行的操作。您可以使用的操作如下:

  • 单击— 选择您要指定的元素,然后模拟用户单击或选择该元素的行为。要指定元素,请使用 [id=]a[class=]

  • 验证选择器 — 验证网页上存在指定的元素。此测试对于验证之前的操作是否导致使用正确的元素填充页面非常有用。要指定待验证的元素,请使用 [id=]a[class=]

  • 验证文本 — 验证指定的字符串是否包含在目标元素中。此测试对于验证之前的操作是否导致显示正确的文本非常有用。要指定元素,请使用类似于 div[@id=]//h1 的格式,因为此操作使用 Puppeteer 中的 waitForXPath 函数。

  • 输入文本 — 在目标元素中写入指定的文本。要指定待验证的元素,请使用 [id=]a[class=]

  • 单击并导航 — 在选择指定的元素之后,等待整个页面加载。当您需要重新加载页面时,这非常有用。要指定元素,请使用 [id=]a[class=]

例如,以下蓝图单击指定 URL 上的 firstButton,验证显示了包含所需文本的所需选择器,在 Name (名称) 字段中输入名称 Test_Customer,单击 Login (登录) 按钮,然后通过检查下一页上是否显示 Welcome (欢迎) 文本来验证登录成功。


              控制台中的创建 Canary 页面,其中填充了 GUI 工作流蓝图的字段。