這篇部落格文章最初發表於 cimetrix.com
Cimetrix® 設備測試
Cimetrix® EquipmentTest軟體產品提供了一項功能,可根據使用者偏好徹底自訂使用者介面。該使用者介面是透過標準的 .NET 整合開發環境,以 Microsoft Windows Presentation Framework (WPF) 中的使用者控制項形式建立,並會以獨立分頁的形式顯示於 EquipmentTest 中預設的「測試」分頁之後。分頁標題亦可進行自訂,以適應不同的測試情境。 請注意,若要在任何外掛程式中開發自訂的 GUI 分頁,必須使用 EquipmentTest Pro 版本。
這項功能對各類使用者皆十分實用。舉例來說,工廠可對設備進行連續測試,並利用自訂圖形使用者介面 (GUI) 功能,將輸出日誌儲存為系統上的獨立檔案,從而有效辨識失敗案例。設備製造商則可運用此功能自訂測試情境,並以能將過往測試輸出資料與最新結果進行比對的方式來分析結果。其他類型的使用者或許還能構思出各式各樣的其他應用可能性,使 EquipmentTest 成為一款真正多功能的工具。
如何在外掛程式中新增自訂 GUI 標籤頁
使用者可以覆寫或追加 PluginBaseModel 類別的 OtherTabs 屬性,以新增所需數量的 GUI 標籤頁。以下範例包含這兩種情況的程式碼片段。


下圖展示了一個包含兩個 GUI 標籤頁的一般外掛程式,其中自訂 GUI 已修改為僅包含一個按鈕。
外掛程式中客製化圖形使用者介面的用途
以下段落將探討在 EquipmentTest 中自訂 GUI 的兩種精妙應用方式。
複製另一個控制面板
如果您是 EquipmentTest 的新使用者,可以利用自訂 GUI 功能,重現其他測試系統中熟悉的介面。 由於此 GUI 是以 WPF 開發,您在 GUI 的佈局與操作方面擁有極大的靈活性與控制權。這意味著可以修改測試內容,使其依據特定用戶選擇來執行,並/或將所選測試的特定附加資訊顯示於 GUI 上。例如,可修改日誌內容,使其包含比預設畫面目前顯示的更多細節。
以下圖片展示 TESTConnect 的使用者介面,以及在 EquipmentTest 上重現的其圖形使用者介面。當然,這並非完全相同的複製品,但大部分原始功能都能獲得支援;只要稍加努力,即可修改該圖形使用者介面,使其與原版完全一致。


即時編譯
EquipmentTest 的自訂 GUI 功能可利用 .NET 的「即時編譯」功能。若能動態編寫並執行測試程式碼,則無需在每次需要變更時,都必須編輯、重新建置及載入外掛程式,即可變更測試情境。這將使測試流程更加快速且高效。
下方定義的「Compile」方法會將待執行的測試程式碼作為參數傳入。接著,該程式碼會被編譯以產生包含所需參照的 DLL 函式庫。任何編譯錯誤都會透過事件處理常式「WriteLog」,寫入 GUI 上的指定 TextBox 中。

下圖所示為一個 GEM 外掛程式,其中新增了一個自訂控制面板,用於動態執行程式碼。TextBox 專門用於輸入程式碼,而各項按鈕則用於控制測試程序。此範例屬於某個專案的一部分,該專案支援在 EquipmentTest 中直接執行 TESTConnect 腳本。
第一個任務是建立一個主控台應用程式,用以產生一個 XML 檔案,其中包含將 TESTConnect 腳本轉換而成的 C# 測試程式碼,並將此檔案作為參數傳入。下一個任務則是開發一個 EquipmentTest 外掛程式,該外掛程式會載入該 XML 檔案,並在下圖所示的範例 GUI 上將每個腳本顯示為獨立的測試項目。此範例設計上可支援任意數量的測試,並可透過「新增」按鈕新增測試項目。 透過這種方式,您可以直接撰寫程式碼來傳送訊息,並檢查回覆訊息是否符合預期。此範例還定義了封裝方法,以便重複使用這段訊息傳遞程式碼,從而加快類似使用情境的開發流程。主控台輸出可重新導向至專門用於記錄的文字方塊,並可定義封裝方法來記錄訊息詳情。雖然此功能有效實現了在 EquipmentTest 中的腳本編寫,但仍有幾項缺點必須解決。 每當您需要使用新的 API 方法時,必須在外掛程式中新增對所需函式庫的參照,並重新建置及載入外掛程式才能繼續測試。一個理想的解決方案是提供「儲存」按鈕,讓您能建立一個包含當前變更、且與最初載入的檔案類似的 XML 檔案,如此一來,在新增函式庫參照後,即可直接載入該檔案。另一個問題是,在 Visual Studio 中撰寫的程式碼在視覺呈現上,會與 EquipmentTest 中的文字方塊有所不同。
然而,整體情況比我在這裡所說明的更為廣泛。 您可以自訂 EquipmentTest,以任何您偏好的方式執行測試。若您需要更多空間來編寫測試程式碼,可以編輯儲存在電腦中的 C# 檔案,並直接從 EquipmentTest 執行該程式碼。您可選擇是否在 EquipmentTest 圖形使用者介面(GUI)的文字方塊中顯示程式碼。此外,您也可以將生成的輸出日誌儲存至本機檔案中。這項功能的進一步探索,全憑您自行決定。

結論
在前幾段中,我們已說明何謂自訂 GUI 外掛程式,以及如何透過專用的 GUI 標籤頁來存取它。這是一項強大的功能,為所有 EquipmentTest 使用者開闢了廣泛的可能性。我們強烈建議您探索此功能並加以運用,以提升測試效率,從而減少取得結果所需的整體工作量。EquipmentTest 的文件是獲取更多資訊的絕佳來源,我們衷心希望已說服您試試看!