

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 覆寫系統行為動作
<a name="testing-simulation-action-override"></a>

覆寫系統行為動作提供強大的方法來控制聯絡流程中的特定資源在測試執行期間的運作方式。當您覆寫資源時，會暫時變更其行為以用於測試目的，而不修改實際的聯絡流程組態。

## 資源覆寫的運作方式
<a name="testing-simulation-action-override-how"></a>

當您設定資源的覆寫 （例如 Lambda 函數、佇列、Lex 機器人或操作時數） 時，覆寫只會套用到該特定資源一次。這表示下次在測試期間叫用特定資源時，將會使用您的覆寫組態。單次使用後，系統會使用覆寫，而後續叫用將正常運作，除非您已設定其他覆寫。

**重要**  
在任何指定時間，每個特定資源只允許一個作用中覆寫。如果您依序為相同的資源設定多個覆寫，它們的運作方式就像「佇列」（先入先出）。最新設定的覆寫優先，但之後的覆寫仍然可用，並會在每次使用覆寫時依序啟用。

這種單次使用行為可讓您獲得最大的彈性，以覆寫測試流程中不同點的資源，讓您使用相同資源在不同時間點的行為來測試各種案例。不過，最佳實務是在觀察資源時覆寫資源，以簡化測試組態邏輯。

## 簡單範例：測試不同的 Lambda 回應
<a name="testing-simulation-action-override-example"></a>

讓我們演練一個實際範例，說明其運作方式。

案例：您的聯絡流程會呼叫特定 Lambda 函數兩次，一次用於驗證客戶的帳戶狀態，稍後再一次用於擷取其訂單歷史記錄。您想要測試流程處理每個呼叫不同回應的方式。

測試組態：
+ **第一個互動群組** – 觀察：測試已開始
  + 動作：使用傳回 "Active" 的模擬回應覆寫 Lambda 函數 "ValidateAccount"
+ **第二個互動群組** – 觀察：Lambda 函數 "ValidateAccount" 開始
  + 動作：使用傳回 "Suspended" 的模擬回應覆寫 Lambda 函數 "ValidateAccount"
  + 使用第一個覆寫 （傳回「作用中」)，因為它至少最近在互動群組中設定
  + 您的流程會收到「作用中」狀態。
+ **第三個互動群組** – 觀察：Lambda 函數 "ValidateAccount" 再次啟動
  + 現在已使用最新的覆寫 （傳回「暫停」)
  + 您的流程會收到「暫停」狀態。

發生的情況：即使您為相同的 Lambda 函數設定了兩個覆寫，每個覆寫只會按組態順序使用一次。這可讓您測試流程如何處理來自測試中不同點之相同資源的不同回應。

![測試案例設計工具顯示三個互動群組，其中包含依序設定的 Lambda 函數覆寫。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/test-action-override-example.png)


## 覆寫支援的資源和動作
<a name="testing-simulation-action-override-resources"></a>

### Lambda 函數覆寫
<a name="testing-simulation-action-override-lambda"></a>

控制 Lambda 函數呼叫在測試期間的行為。您可以重新導向至不同的 Lambda 函數或提供模擬回應。

**替代資源：**重新導向 Lambda 調用以使用不同的函數，在您想要使用 Lambda 函數的測試版本時很有用。

組態選項：
+ **動作** – 選取「模擬資源行為」
+ **資源類型** – Lambda 函數
+ **目標資源** – 從下拉式清單中選取，或輸入您要覆寫的 Lambda 函數 ARN
+ **選項** – 選擇「替代資源」
+ **替代資源** – 從下拉式清單中選取，或提供替代 Lambda 函數的 ARN

**模擬回應：**提供預先定義的回應，無需實際呼叫任何 Lambda 函數，並使用 進行隔離測試。

成功回應的組態選項：
+ **選項** – 選擇「模擬回應」
+ **回應** – 選取「成功」
+ **延遲** – 指定傳回回應之前要等待多少秒
+ **原始 JSON** （選用） – 輸入應傳回的資料 (JSON 格式）

錯誤回應的組態選項：
+ **選項** – 選擇「模擬回應」
+ **回應** – 選取「錯誤」
+ **延遲** – 指定傳回回應之前要等待多少秒

![顯示 Lambda 函數覆寫與模擬回應選項的動作區塊組態。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/test-action-override-lambda.png)


### 操作覆寫時數
<a name="testing-simulation-action-override-hours"></a>

修改操作時數檢查的行為方式，讓您無論實際時間為何，都能測試out-of-hours時間的情況。

**替代資源：**重新導向至不同的操作資源時數。

組態選項：
+ **動作** – 選取「模擬資源行為」
+ **資源類型** – 操作時數
+ **目標資源** – 從下拉式清單中選取，或輸入您要覆寫的操作時數 ARN
+ **選項** – 選擇「替代資源」
+ **替代資源** – 從下拉式清單中選取，或提供替代操作資源時數的 ARN

**模擬回應：**傳回預先定義的結果，無需檢查實際時數。

回應的組態選項：
+ **選項** – 選擇「模擬回應」
+ **回應** – 選擇「InHours」或「OutOfHours」或「Error」

![顯示以模擬回應選項覆寫操作時數的動作區塊組態。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/test-action-override-hours.png)


### Lex 機器人覆寫
<a name="testing-simulation-action-override-lex"></a>

在測試期間控制 Lex 機器人互動，可讓您使用測試機器人。

**替代資源：**重新導向至不同的 Lex 機器人。

組態選項：
+ **動作** – 選取「模擬資源行為」
+ **資源類型** – Lex 機器人
+ **目標資源** – 從下拉式清單中選取，或輸入您要覆寫之 Lex 機器人的 ARN 和別名
+ **選項** – 選擇「替代資源」
+ **替代資源** – 從下拉式清單中選取，或提供替代 Lex 機器人資源的 ARN 和別名

**模擬回應：**提供預先定義的機器人回應，而不叫用實際的機器人。

回應的組態選項：
+ **選項** – 選擇「模擬回應」
+ **回應** – 選擇「成功」或「錯誤」或「超過時間限制」
+ **延遲** – 指定傳回回應之前要等待多少秒
+ **原始 JSON** （選用） – 輸入應傳回的資料 (JSON 格式）

![顯示 Lex 機器人覆寫與模擬回應選項的動作區塊組態。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/test-action-override-lex.png)


### 佇列覆寫
<a name="testing-simulation-action-override-queue"></a>

修改佇列傳輸行為，以測試不同的佇列案例或傳輸失敗。

**替代資源：**將傳輸重新導向至不同的佇列。

組態選項：
+ **動作** – 選取「模擬資源行為」
+ **資源類型** – 佇列
+ **目標資源** – 從下拉式清單中選取或輸入您要覆寫之佇列的 ARN
+ **選項** – 選擇「替代資源」
+ **替代資源** – 從下拉式清單中選取，或提供替代佇列資源的 ARN

**模擬回應：**模擬傳輸失敗以進行錯誤路徑測試。

組態選項：
+ **選項** – 選擇「模擬回應」
+ **回應** – 選擇「容量佇列」或「錯誤」

![顯示具有模擬回應選項的佇列覆寫的動作區塊組態。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/test-action-override-queue.png)
