偵錯指令碼

所需權限應用程式 > Studio > 指令碼 > 偵錯

Studio 提供了兩種檢查指令碼中問題的方法:

  • 檢查是否有語法錯誤。
  • 運行指令碼追蹤,將為您顯示指令碼處理每個動作時發生的情況。

如果指令碼中有 Snippet 動作,您可以從 Snippet Editor 視窗內偵錯 Snippet 代碼

檢查語法錯誤

當您檢查語法錯誤時,指令碼中發現的任何問題都會出現在 Script Errors 標籤中。該標籤顯示與指令碼有關的所有警告和錯誤,包括在 Snippet 中。警告不會阻止指令碼的執行或儲存,但錯誤會阻止。最佳做法是在將指令碼投入生產之前處理所有警告,即使其沒有阻止指令碼的運行。

儲存指令碼時將會自動進行語法檢查,但是您可以隨時運行語法檢查。您將無法運行或儲存包含錯誤的指令碼。如果試圖運行或儲存有錯誤的指令碼,Studio 將顯示一個通知視窗。您可以檢查 Script Errors 標籤以了解更多資訊。錯誤可能包括以下內容:

  • 變數拼寫錯誤。例如:Snippet Line 2. Function: NameLabel has not been defined
  • 使用函數作為方法參數。例如:Unterminated function parameters
  • 在需要特定資料類型的方法或函數中使用錯誤的資料類型。例如:Unterminated function parameters

有一些錯誤可能不會出現在 Script Errors 標籤上。某些驗證錯誤會出現在錯誤通知視窗中,並顯示有關錯誤的詳情。驗證錯誤包括諸如 REST API  動作中的無效 JSON。如果在指令碼包含驗證錯誤時視圖儲存,則指令碼可能恢復到沒有驗證錯誤的最新版本。如果發生這種情況,任何未儲存的變更都將丟失。

點擊兩下 Script Errors 標籤上的任何警告或錯誤,查看發生問題的畫布上的動作。

  1. Studio 中,打開一個指令碼。
  2. 點擊 ValidationSyntax Check
  3. 點擊 Script Errors 標籤以檢視語法檢查的結果。
  4. 點擊兩下 Script Errors 標籤上的任何警告或錯誤,查看發生問題的畫布上的動作。

指令碼追蹤

您可以透過 Trace Output 工具追蹤指令碼的進度和效能。該工具透過指令碼追蹤聯絡並顯示觸發的每個動作的結果、正在設定的變數內容以及設定時間、變數在每個點上儲存的值。這是一個可以測試和偵錯指令碼的有用工具。您可以對即時互動或模擬的的互動運行追蹤。

只有在指令碼被儲存的情況下才能執行追蹤。如果試圖對未儲存變更的指令碼執行指令碼追蹤,Studio 會提示您儲存指令碼。如果您的指令碼有錯誤,Studio將不會儲存指令碼。您必須在儲存指令碼和執行追蹤之前解決錯誤。指令碼中的任何validation errors導致 Studio 恢復到沒有驗證錯誤的上一版本指令碼。如果您已經開始追蹤,它將會執行,但會在最後儲存的指令碼版本上執行。

使用 Trace Output 視窗。

當您運行追蹤時,在 Trace Output 視窗中會顯示輸出。您可以使用此視窗來檢視指令碼中的變數,並查看在每個動作Closed 在 Studio 指令碼內執行一個流程,如收集客戶資料、播放訊息或音樂,或將聯絡人路由至客服專員。中隨著指令碼運行,變數是如何變化的。

  1. Studio 中,打開指令碼並運行追蹤,或打開已儲存的追蹤檔案。

  2. Trace Output 視窗的右上方,點擊「指令碼詳情」窗格中的動作。如果您正在監看即時追蹤,此窗格會在指令碼運行時即時更新,並觸發每個動作。

  3. 點擊 Trace Output 視窗頂部工具列上的圖示以展開 或全部摺疊「追蹤輸出」視窗中的「全部擴展」圖示,正方形內有一個 + 且其旁邊有一連串的堆疊橫線,代表一個清單。指令碼詳情窗格中變數的所有詳情。這會影響到任何包含額外詳情的變數。這些變數由名稱旁邊的 + 圖示表示。
  4. 按一下視窗底部的 Variables 標籤,當觸發選定的動作時捲動指令碼中出現的所有變數。

  5. 點擊 Tools圖示,選擇選項以變更 Variables 標籤中顯示的變數。

  6. Properties 窗格上,您可以查看所選動作的屬性以及它們是如何配置的。
  7. 如果您想透過追蹤來追蹤特定的變數,將變數新增到監看清單

變更追蹤中的變數可見性

您可以變更追蹤中顯示的變數集。這允許您可以根據在追蹤中尋找的內容重點關注特定種類的變數。

  1. Studio 中,開啟指令碼並運行追蹤。
  2. Trace Output 視窗的工具列上,點擊 Tools圖示
  3. 選擇您想在追蹤中檢視或隱藏的變數集的選項。當前,旁邊有剔選符號的選項在追蹤中是可見的。

擷取指令碼追蹤

您可以在指令碼運行時擷取其追蹤。要實現此操作,需要生產指令碼處理實時聯絡。這使您能夠診斷聯絡中心出現的問題,或與技術支援人員一起獲取疑難排解的資料。您可以選擇在指令碼運行時擷取下一個執行個體的追蹤,或者您可以擷取連續追蹤。連續追蹤擷取指令碼進程的每一次互動。當您擷取單個追蹤時,結果資訊會出現在 Trace Output 視窗。

  1. 在 Studio 中,開啟您想擷取追蹤的指令碼。
  2. 點擊 Debug > Capture Script > Next Instance
  3. 互動開始時,指令碼就開始運行,Trace Output 視窗隨即開啟。視窗顯示指令碼運行時的跟蹤。

擷取連續的指令碼追蹤

連續追蹤擷取指令碼進程的每一次互動。追蹤輸出將儲存於 CXone業務單位Closed 用於管理 CXone 環境的技術支援、計費和全域設定的高級組織分組 的檔案中。您可以指定這些檔案的儲存位置。

  1. 在 Studio 中,開啟您想擷取追蹤的指令碼。
  2. 點擊 Debug > Capture Script > ContinuousStudio 開始擷取指令碼運行的所有執行個體。

檢視追蹤檔案

您可以檢視從連續追蹤中儲存的追蹤檔案。

  1. 在 Studio 中,點擊 Debug 選單,然後選擇是要載入位於系統上的追蹤檔案,還是要載入 CXone 業務單位Closed 用於管理 CXone 環境的技術支援、計費和全域設定的高級組織分組 中的遠端追蹤檔案。
  2. 從顯示的檔案視窗中選擇您要開啟的檔案。
  3. 點擊按鈕以開啟所選的追蹤檔案。根據您開啟的是本地檔案還是遠端檔案,名稱會有所不同。選定的檔案將在 Trace Output 視窗中載入。
  4. 如果您想從 CXone 將追蹤檔案下載到您的本地電腦,點擊Trace Output 視窗中的 Tools 圖示 「追蹤工作」的圖示,一個錘子和一個扳手,呈 X 型交叉。,然後選擇 Save Trace As

擷取帶有特定 ANI 或 DNIS 的追蹤

您可以設定特定的 ANIClosed 也被稱為呼叫者 ID。顯示語音來電的電話號碼。 或 DNISClosed 識別聯絡人為聯絡您進行呼入語音通話而撥打的號碼,以及客服專員或系統在進行呼出語音通話時撥打的號碼。,以便在來自指定號碼的呼叫進入系統時觸發追蹤。

  1. 在 Studio 中,開啟您想擷取追蹤的指令碼。
  2. Studio 工具列中,點擊 Trace Script 下拉清單,選擇 Trace when ANI isTrace when DNIS is

  3. Insert <number> 欄位中輸入您要觸發追蹤的 ANI 或 DNIS 號碼。
  4. 點擊 Capture Next Instance圖示 。點擊的次數會改變行為:
    • 點擊一次,可追蹤使用指定號碼執行之指令碼的下一個執行個體。圖示變成紅色。
    • 點擊兩次,可連續追蹤使用指定號碼執行之指令碼的未來執行個體。圖示變為 2 個紅色圓形。
    • 點擊三次,可清除擷取。圖示恢復到原來的灰色。
  5. 下一次當使用指定 ANI 或 DNIS 執行指令碼時,將會擷取追蹤,並將其儲存到檔案。

追蹤中的監看變數

您可以建立您特別感興趣的變數清單。監看清單允許您僅追蹤這些變數,而不必在追蹤中搜尋變數。您可以儲存此清單,因此,每次您對該特定指令碼運行追蹤時,將會儲存監看清單並載入到 Trace Output 視窗。

  1. 在 Studio 中,開啟要追蹤的指令碼。
  2. 執行指令碼的初始追蹤。
  3. Trace Output 視窗中,點擊指令碼詳情窗格中的動作清單。在 Variables 標籤上將顯示與每個動作相關的變數。
  4. 對於每個您想新增到監看清單的變數:
    1. 選擇 Variables 標籤上的變數。
    2. 點擊 Add to Watch List 圖示
  5. 如果您知道名稱,您可以手動新增變數:
    1. Trace Output 視窗的工具列上,點擊加號圖示。Watch List 標籤顯示新變數的欄位。
    2. 輸入您想要監看的變數名稱,然後按 Enter
  6. 如果您想刪除監看清單中的變數,在 Watch List 標籤上將其選中,然後點擊 Trace Output 視窗中工具列上的減號圖示。
  7. 要儲存此監看清單,點擊 Trace Output 視窗中的 Tools圖示,然後選擇 Save Watch List。清單儲存在 Studio 中。每次您在此指令碼上運行追蹤,監看清單就會載入 Trace Output 視窗。
  8. 當您準備好監看您的監看清單中的變數時,請運行指令碼上的新追蹤。