HOW TO:為您的診斷資料配接器建立資料的自訂編輯器
當您建立診斷資料配接器時,可以讓使用者在選取您的自訂診斷資料配接器以用於其測試設定時,能夠設定特定資料。 例如,您可以選取組態資料,以指定要擷取哪些登錄機碼、要模擬何種網路負載層級,或是要在哪個目錄中尋找要附加的暫存檔或工作檔案。
您必須使用組態檔,為您的診斷資料配接器設定初始值。 您可以提供自訂編輯器,讓使用者可以修改組態資料。
若要建立您自己的編輯器,您必須建立實作了 IDataCollectorConfigurationEditor 的使用者控制項。
診斷資料配接器可以使用 DataCollectorConfigurationEditorAttribute,來指定用於編輯診斷資料組態設定的編輯器類別。
您也會指定要使用的預設組態資料。 如需範例預設組態,請參閱建立診斷資料配接器的範例專案。
使用下列程序建立自訂編輯器,以在有使用者使用您的自訂資料診斷配接器時,更新測試設定的資料。
注意事項 |
---|
若要建立自訂編輯器,您必須先建立已將 DataCollectorConfigurationEditorAttribute 套用至此類別的診斷資料配接器。您可以在該屬性 (Attribute) 中使用選擇性 HelpUri 屬性 (Property) 來指定編輯器的說明內容來源。如需如何建立診斷資料配接器的詳細資訊,請參閱 HOW TO:建立診斷資料配接器。 |
如需診斷資料配接器專案的完整範例 (包括自訂組態編輯器),請參閱建立診斷資料配接器的範例專案。
為您的診斷資料配接器建立自訂編輯器
為您的診斷資料配接器建立自訂編輯器
在專案中為您的資料診斷配接器建立使用者控制項:
以滑鼠右鍵按一下包含診斷資料配接器類別的專案,指向 [加入],然後指向 [使用者控制項]。
在此範例中,請將文字為 Data File Name: 的標籤和名為 FileTextBox 的文字方塊加入至表單,讓使用者輸入必要的資料。
注意事項 目前僅支援 Windows Forms 使用者控制項。
將下列程式碼行加入至宣告區段:
using System.Xml; using Microsoft.VisualStudio.TestTools.Common; using Microsoft.VisualStudio.TestTools.Execution;
將此使用者控制項放入自訂編輯器中。
以滑鼠右鍵按一下程式碼專案中的使用者控制項,然後指向 [檢視程式碼]。
設定類別以實作編輯器介面 IDataCollectorConfigurationEditor,如下所示:
public partial class MyDataConfigEditor : UserControl, IDataCollectorConfigurationEditor
以滑鼠右鍵按一下程式碼中的 IDataCollectorConfigurationEditor,然後選取 [實作介面] 命令。 您必須為此介面實作的方法會加入至您的類別中。
將 DataCollectorConfigurationEditorAttribute 加入至您的使用者控制項,讓您的編輯器將其識別為診斷資料配接器編輯器,並將 [公司]、[產品] 和 [版本] 取代為診斷資料配接器的適當資訊:
[DataCollectorConfigurationEditorTypeUri( "configurationeditor://MyCompany/MyConfigEditor/1.0")]
加入兩個私用變數,如下所示:
private DataCollectorSettings collectorSettings; private IServiceProvider ServiceProvider { get; set; }
加入程式碼以初始化診斷資料配接器的編輯器。 您可以使用 settings 變數中的資料,將預設值加入至使用者控制項中的欄位。 此資料是指位於 XML 組態檔中,您配接器之 <DefaultConfiguration> 項目中的資料。
public void Initialize( IServiceProvider svcProvider, DataCollectorSettings settings) { ServiceProvider = svcProvider; collectorSettings = settings; // Display the default file name as listed in the settings file. this.SuspendLayout(); this.FileTextBox.Text = getText(collectorSettings.Configuration); this.ResumeLayout(); }
加入程式碼,以將您編輯器中的控制項資料儲存回診斷資料配接器 API 所需的 XML 格式,如下所示:
public DataCollectorSettings SaveData() { collectorSettings.Configuration.InnerXml = String.Format( @"<MyCollectorName http://MyCompany/schemas/MyDiagnosticDataCollector/1.0""> <File FullPath=""{0}"" /> </MyCollectorName>", FileTextBox.Text); return collectorSettings; }
如果對您來說很重要,請加入程式碼以驗證 VerifyData 方法中的資料正確無誤,或者讓方法傳回 true。
public bool VerifyData() { // Not currently verifying data return true; }
(選擇性) 您可以加入程式碼,以將資料重設為 ResetToAgentDefaults() 方法 (使用私用 getText() 方法) 中的 XML 組態檔所提供的初始設定。
// Reset to default value from XML configuration // using a custom getText() method public void ResetToAgentDefaults() { this.FileTextBox.Text = getText(collectorSettings.DefaultConfiguration); } // Local method to read the configuration settings private string getText(XmlElement element) { // Setup namespace manager with our namespace XmlNamespaceManager nsmgr = new XmlNamespaceManager( element.OwnerDocument.NameTable); // Find all the "File" elements under our configuration XmlNodeList files = element.SelectNodes("//ns:MyCollectorName/ns:File", nsmgr); string result = String.Empty; if (files.Count > 0) { XmlAttribute pathAttribute = files[0].Attributes["FullPath"]; if (pathAttribute != null && !String.IsNullOrEmpty(pathAttribute.Value)) { result = pathAttribute.Value; } } return result; }
建置您的方案。 根據您的安裝目錄,將診斷資料配接器組件和 XML 組態檔 (<diagnostic data adapter name>.dll.config) 複製至下列位置:Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\DataCollectors。
注意事項 雖然組態編輯器和診斷資料配接器的所在專案和組件可以不同,但也可以位於相同的組件中。
運用您的偵錯資料器於測試,你必須從現有的設定清單選擇或從Microsoft Test Manager或 Visual Studio創建一個新的然後選擇您的偵錯資料器。
配接器會顯示在測試設定的 [資料和診斷] 索引標籤上,並使用您指派給類別的易記名稱。
要配置您的偵錯資料器到您的測試設定,選擇配置器名稱旁的配置。
您的自訂編輯器隨即顯示。
視需要編輯自訂編輯器中的欄位,然後選[儲存]。
如果您從 Microsoft Test Manager執行測試,您可以在執行測試前將這些測試設定指派給測試計劃,或使用 [以選項執行] 命令來指派測試設定和覆寫測試設定。 如需測試設定的詳細資訊,請參閱使用測試設定安裝電腦和收集診斷資訊。
在可以使用新的組態編輯器搭配診斷資料配接器之前,您必須將 DataCollectorConfigurationEditorAttribute 套用至要使用編輯器的每個診斷資料配接器類別,然後在用戶端電腦上重新編譯和重新安裝這些類別。 如需如何安裝診斷資料配接器和組態編輯器的詳細資訊,請參閱 HOW TO:安裝自訂的診斷資料配接器。
使用已選取您診斷資料配接器的測試設定來執行您的測試。
您在編輯器中指定的資料檔案會附加至測試結果中。
如需如何設定測試設定以便在執行測試時使用環境的詳細資訊,請參閱在 Microsoft Test Manager 中指定測試設定或使用 Microsoft Test Manager 建立自動化系統測試的測試設定。
請參閱
工作
參考
IDataCollectorConfigurationEditor
DataCollectorConfigurationEditorAttribute
DataCollectorConfigurationEditorAttribute