

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 观察方块
<a name="testing-simulation-observe-block"></a>

Observe 模块是测试框架的基本组件，它定义了在测试执行期间要监控的系统事件。可以把它想象成在测试中设置检查点，等待特定事情发生后再采取行动。

当你在测试中配置了 Observe 模块时，你是在告诉系统：“注意这个特定的事件，当它发生时，执行这些特定的操作。” 这种事件驱动的方法反映了联络中心中现实世界中的互动是如何发生的：某件事发生了，然后你就会做出反应。

## 了解主动观测值
<a name="testing-simulation-observe-active-observations"></a>

当 Observe 模块在模拟期间主动监视其指定事件时，它就会变成活动观测值。了解观测值如何在活动状态和非活动状态之间过渡对于预测测试行为至关重要。

**当观测值变为活动状态时：**
+ 当测试开始执行时，所有未从其他交互组连接或标有 “开始” 横幅的起始交互组都将被标记为活动状态。
+ 匹配事件后，将执行同一个交互组中的任何检查方块和操作方块。成功执行后，任何已连接的交互组的观测值都将被标记为活动状态。
+ 当测试中有多个起始交互作用组时，可以同时激活多个观测值。

**当观测值变为非活动状态时：**
+ 成功匹配预期事件后，观测值将变为非活动状态。

**对测试结果的影响：**

如果活动观测值的预期事件未发生，则该观测值将继续监视该事件，直到 5 分钟后测试超时。此超时表示验证失败，导致您的测试失败。当观测因超时而失败时：
+ 观察结果仍处于活跃状态，但未得到满足。
+ 由于观察到的事件未完成，任何附加到交互组中该观察块的检查块和操作块都不会执行。
+ 测试执行以失败状态终止。

当观测成功（这意味着事件已匹配）时，该观测值将被标记为非活动状态，并且同一交互组中的任何检查块或操作块都将在移至下一个连接的交互组之前执行。

![该图显示了测试执行期间观测值如何在活动状态和非活动状态之间切换。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/test-observe-active-observations.png)


## 你能观察到什么事件？
<a name="testing-simulation-observe-events"></a>

Observe 模块可以监视多种类型的系统事件：

### 测试已开始活动
<a name="testing-simulation-observe-test-initiated"></a>

此事件在测试执行开始时触发。当您需要在任何客户互动开始之前设置初始条件时，它特别有用。例如，你可能想在测试开始时立即配置系统行为或模拟外部依赖关系。

配置选项：
+ **事件类型** — 从下拉列表中选择 “测试已开始”

操作示例：定义测试开始时应发生的情况（例如覆盖系统行为）。

![观察块配置，显示已选择测试已开始的事件类型。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/test-observe-test-initiated.png)


### 测试已完成的事件
<a name="testing-simulation-observe-test-completed"></a>

当您的测试执行结束时，就会观察到此事件。使用它来捕获所有测试交互完成后的最终状态信息操作。

配置选项：
+ **事件类型** — 从下拉列表中选择 “测试已完成”

操作示例：指定要执行的任何最终验证或记录操作。

![观察显示已选择测试已完成事件类型的区块配置。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/test-observe-test-completed.png)


### 消息已收到事件
<a name="testing-simulation-observe-message-received"></a>

此事件检测系统何时播放提示音或向模拟客户发送任何语音响应。

“已接收消息” 事件提供了灵活的匹配选项来识别正确的消息：

配置选项：
+ **事件类型**-从下拉列表中选择 “已收到消息”
+ **消息内容**-使用以下方法之一指定要查找的消息：
  + **文本**-键入消息的预期文本内容
  + **SSML** — 提供与之匹配的 SSML 格式的内容
+ **匹配标准**-选择如何匹配消息：
  + **相似**-使用智能语义匹配来查找含义相似的消息（建议在大多数情况下使用）
  + **包含**-检查观察到的消息是否包含您指定的文本

**重要**  
（语音）两次运行之间的测试结果可能略有不同。该系统根据暂停和自然的语音模式将音频分成片段，这可能会因某人停顿的时间或句子的结构而有所不同。这意味着您可能会看到不同测试执行中提示的显示方式有所不同。

![观察显示消息已接收事件类型和匹配条件选项的区块配置。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/test-observe-message-received.png)


### 流程操作已启动事件
<a name="testing-simulation-observe-flow-action-started"></a>

此事件用于观察您的联系流程中的特定操作何时开始执行。它允许您检测和响应流程中发生的操作，例如 Lambda 函数调用、操作时长检查、队列传输或机器人初始化。

配置选项：
+ **事件类型**-从下拉列表中选择 “触发操作”
+ **资源类型**-选择要观察的流程操作：
  + **Lambda 函数** — 检测何时调用 Lambda 函数（从下拉列表中选择或指定函数 ARN）
  + **营业时间 — 监控运行**时间检查（从下拉列表中选择或指定工作时间 ARN）
  + **队列**-观察队列传输操作（从下拉列表中选择或指定队列 ARN）
  + **Lex Bo** t — 检测 Lex 机器人连接（从下拉列表中选择或指定机器人 ARN 和别名）

![观察显示操作触发事件类型的区块配置，其中包含 Lambda、操作时长、队列和 Lex Bot 的资源类型选项。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/test-observe-flow-action-started.png)


## 该事件应该多久发生一次？
<a name="testing-simulation-observe-event-frequency"></a>

每个 Observe 模块都继承交互组的默认使用设置，该设置控制测试执行期间事件的匹配次数。默认情况下，该事件必须恰好发生一次。不支持更改此设置。

## 连接互动组
<a name="testing-simulation-observe-connecting-groups"></a>

定义要观察的内容后，向交互组添加连接器。在互动组菜单 (‹) 中，选择**添加连接器**，然后将连接器拖到包含下一个观察点的互动组的开头。这会在测试中创建逻辑流程，在事件发生时从一个检查点移动到另一个检查点。

![与连接器连接的交互组，显示了观察检查点之间的逻辑流。](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/test-observe-connecting-groups.png)
