Freigeben über


Gewusst wie: Erstellen eines benutzerdefinierten Editors für Daten im Adapter für diagnostische Daten

Beim Erstellen eines Adapters für diagnostische Daten können Sie es dem Benutzer ermöglichen, bestimmte Daten zu konfigurieren, wenn der benutzerdefinierte Adapter für diagnostische Daten für die Testeinstellungen ausgewählt wird.Sie können z. B. die Konfigurationsdaten auswählen, die die zu extrahierenden Registrierungsschlüssel angeben, und festlegen, welche Ebene der Netzwerklast simuliert werden soll oder in welchem Verzeichnis nach temporären Dateien oder Arbeitsdateien gesucht werden soll.

Sie müssen eine Konfigurationsdatei verwenden, um die Anfangswerte für den Adapter für diagnostische Daten einzurichten.Sie können einen benutzerdefinierten Editor bereitstellen, um dem Benutzer das Ändern der Konfigurationsdaten zu ermöglichen.

Um einen eigenen Editor zu erstellen, müssen Sie ein Benutzersteuerelement erstellen, das IDataCollectorConfigurationEditor implementiert.

Der Adapter für diagnostische Daten kann die Editorklasse zum Bearbeiten von Diagnosedaten-Konfigurationseinstellungen mithilfe eines DataCollectorConfigurationEditorAttribute-Objekts angeben.

Darüber hinaus geben Sie die zu verwendenden Standardkonfigurationsdaten an.Informationen zu Beispielstandardkonfigurationen finden Sie unter Beispielprojekt für das Erstellen eines Adapters für diagnostische Daten.

Führen Sie die folgenden Schritte aus, um einen benutzerdefinierten Editor für das Aktualisieren von Daten der Testeinstellungen zu erstellen, wenn ein benutzerdefinierter Adapter für diagnostische Daten verwendet wird.

HinweisHinweis

Sie müssen zum Erstellen eines benutzerdefinierten Editors zunächst den Adapter für diagnostische Daten erstellen, in dem DataCollectorConfigurationEditorAttribute für die Klasse übernommen wurde.Sie können die optionale HelpUri-Eigenschaft in diesem Attribut verwenden, um die Quelle der Hilfeinhalte für den Editor anzugeben.Weitere Informationen zum Erstellen eines Adapters für diagnostische Daten finden Sie unter Gewusst wie: Erstellen eines Adapters für diagnostische Daten.

Informationen zu einem vollständigen Beispielprojekt für Adapter für diagnostische Daten einschließlich eines benutzerdefinierten Konfigurations-Editors finden Sie unter Beispielprojekt für das Erstellen eines Adapters für diagnostische Daten.

Erstellen eines benutzerdefinierten Editors für den Adapter für diagnostische Daten

So erstellen Sie einen benutzerdefinierten Editor für den Adapter für diagnostische Daten

  1. Erstellen Sie im Projekt ein Benutzersteuerelement für Ihren Adapter für diagnostische Daten:

    1. Klicken Sie mit der rechten Maustaste auf das Codeprojekt, das die Klasse des Adapters für diagnostische Daten enthält, zeigen Sie auf Hinzufügen, und zeigen Sie dann auf Benutzersteuerelement.

    2. Fügen Sie für dieses Beispiel eine Bezeichnung zum Formular mit dem folgenden Text hinzu: "Datendateiname:" und ein Textfeld mit dem Namen "FileTextBox", in dem der Benutzer die notwendigen Daten eingeben kann.

    HinweisHinweis

    Nur Windows Forms-Steuerelemente werden derzeit unterstützt.

  2. Fügen Sie dem Deklarationsabschnitt diese Zeilen hinzu:

    using System.Xml;
    using Microsoft.VisualStudio.TestTools.Common;
    using Microsoft.VisualStudio.TestTools.Execution;
    
  3. Machen Sie dieses Benutzersteuerelement zu einem benutzerdefinierten Editor.

    1. Klicken Sie mit der rechten Maustaste auf das Benutzersteuerelement in dem Codeprojekt, und zeigen Sie auf Code anzeigen.

    2. Legen Sie fest, dass die Klasse die Editorschnittstelle IDataCollectorConfigurationEditor wie folgt implementiert:

       public partial class MyDataConfigEditor :
            UserControl, IDataCollectorConfigurationEditor
    
    1. Klicken Sie im Code mit der rechten Maustaste auf IDataCollectorConfigurationEditor, und wählen Sie den Befehl Schnittstelle implementieren aus.Die Methoden, die Sie für diese Schnittstelle implementieren müssen, werden der Klasse hinzugefügt.

    2. Fügen Sie das DataCollectorConfigurationEditorAttribute-Objekt dem Benutzersteuerelement für den Editor hinzu, damit es als Adapter für diagnostische Daten identifiziert werden kann, und ersetzen Sie Firma, Produkt und Version durch die entsprechenden Informationen für den Adapter für diagnostische Daten:

      [DataCollectorConfigurationEditorTypeUri(
          "configurationeditor://MyCompany/MyConfigEditor/1.0")]
      
  4. Fügen Sie folgendermaßen zwei private Variablen hinzu:

    private DataCollectorSettings collectorSettings;
    private IServiceProvider ServiceProvider { get; set; }
    
  5. Fügen Sie Code hinzu, um den Editor für den Adapter für diagnostische Daten zu initialisieren.Sie können den Feldern im Benutzersteuerelement Standardwerte anhand der Daten in der Einstellungsvariable hinzufügen.Dies sind die Daten, die im <DefaultConfiguration>-Element in der XML-Konfigurationsdatei für den Adapter enthalten sind.

    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();
    }
    
  6. Fügen Sie Code hinzu, um die Daten aus den Steuerelementen im Editor wieder im XML-Format zu speichern, das die Diagnosedatenadapter-API benötigt. Gehen Sie dazu wie folgt vor:

    public DataCollectorSettings SaveData()
    {
        collectorSettings.Configuration.InnerXml =
            String.Format(
    @"<MyCollectorName
        http://MyCompany/schemas/MyDiagnosticDataCollector/1.0"">
      <File FullPath=""{0}"" />
    </MyCollectorName>",
        FileTextBox.Text);
        return collectorSettings;
    }
    
  7. Wenn es von Bedeutung ist, fügen Sie Code hinzu, mit dem überprüft wird, ob die Daten in der VerifyData-Methode korrekt sind. Sie können auch einfach festlegen, dass die Methode true zurückgeben muss.

    public bool VerifyData()
    {
        // Not currently verifying data
        return true;
    }
    
  8. Sie können Code hinzufügen, um die Daten auf die Anfangseinstellungen zurückzusetzen, die in der XML-Konfigurationsdatei in der ResetToAgentDefaults()-Methode enthalten sind, für die das private getText()-Objekt verwendet wird (optional).

    // 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;
    }
    
  9. Erstellen Sie Ihre Lösung.Kopieren Sie die Assembly für den Adapter für diagnostische Daten und die XML-Konfigurationsdatei (<diagnostic data adapter name>.dll.config) an den folgenden Speicherort, auf der Basis Ihres Installationsverzeichnisses: Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\DataCollectors.

    HinweisHinweis

    Obwohl sich der Konfigurations-Editor in einem Projekt und einer Assembly befinden kann, die sich beide vom Adapter für diagnostische Daten unterscheiden, können sie sich auch in der gleichen Assembly befinden.

  10. Um den Adapter für diagnostische Daten in Tests zu verwenden, müssen Sie aus der Liste der vorhandenen Testeinstellungen auswählen oder eine neue von Microsoft Test Manager oder aus Visual Studio erstellen und den Adapter für diagnostische Daten auswählen.

    Der Adapter wird auf der Registerkarte Daten und Diagnose der Testeinstellungen mit dem Anzeigenamen angezeigt, den Sie der Klasse zugewiesen haben.

  11. Um den Adapter für diagnostische Daten für die Testeinstellungen zu konfigurieren, klicken Sie neben dem Namen des Adapters Konfigurieren.

    Der benutzerdefinierte Editor wird jetzt angezeigt.

  12. Bearbeiten Sie die Felder im benutzerdefinierten Editor nach Bedarf, und wählen Sie dann Speichernaus.

  13. Wenn Sie Tests in Microsoft Test Manager ausführen, können Sie diese Testeinstellungen dem Testplan zuweisen, bevor Sie die Tests ausführen, oder verwenden Sie den Befehl Ausführen mit Optionen, um Testeinstellungen zuzuweisen und zu überschreiben.Weitere Informationen zu Testeinstellungen finden Sie unter Einrichten von Computern und Sammeln von Diagnoseinformationen mithilfe von Testeinstellungen.

  14. Bevor Sie den neuen Konfigurations-Editor mit einem Adapter für diagnostische Daten verwenden können, müssen Sie das DataCollectorConfigurationEditorAttribute-Objekt für jede Adapterklasse für diagnostische Daten übernehmen, für die Sie den Editor verwenden möchten, und sie auf dem Clientcomputer neu kompilieren und installieren.Weitere Informationen zum Installieren von Adaptern für diagnostische Daten und Konfigurations-Editoren finden Sie unter Gewusst wie: Installieren eines benutzerdefinierten Adapters für diagnostische Daten.

  15. Führen Sie die Tests unter Verwendung der Testeinstellungen aus, wenn der Adapter für diagnostische Daten ausgewählt ist.

    Die von Ihnen im Editor angegebene Datendatei ist an die Testergebnisse angefügt.

Weitere Informationen zum Konfigurieren der Testeinstellungen auf eine Umgebung beim Ausführen von Tests finden Sie unter Angeben von Testeinstellungen in Microsoft Test Manager oder unter Erstellen von Testeinstellungen für automatisierte Systemtests mit Microsoft Test Manager.

Siehe auch

Aufgaben

Beispielprojekt für das Erstellen eines Adapters für diagnostische Daten

Referenz

IDataCollectorConfigurationEditor

DataCollectorConfigurationEditorAttribute

DataCollectorConfigurationEditorAttribute

Konzepte

Erstellen eines Adapters für diagnostische Daten zum Sammeln von benutzerdefinierten Daten oder Beeinflussen eines Testsystems

Einrichten von Computern und Sammeln von Diagnoseinformationen mithilfe von Testeinstellungen