Comment : créer un éditeur personnalisé pour les données de votre adaptateur de données de diagnostic
Publication: juillet 2016
Lors de la création d'un adaptateur de données de diagnostic, vous souhaiterez peut-être que l'utilisateur puisse configurer des données spécifiques dans le cas où votre adaptateur de données de diagnostic personnalisé est sélectionné pour ses paramètres de test. Par exemple, vous pouvez sélectionner les données de configuration qui spécifient les clés de Registre à extraire, le niveau de charge réseau à simuler ou le répertoire dans lequel doivent se trouver les fichiers temporaires ou les fichiers de travail à joindre.
Vous devez utiliser un fichier de configuration pour configurer les valeurs initiales de votre adaptateur de données de diagnostic. Vous pouvez fournir un éditeur personnalisé pour permettre à l'utilisateur de modifier les données de configuration.
Pour créer votre propre éditeur, vous devez définir un contrôle utilisateur qui implémente IDataCollectorConfigurationEditor.
Votre adaptateur de données de diagnostic peut utiliser DataCollectorConfigurationEditorAttribute pour spécifier la classe d'éditeur à employer pour la modification des paramètres de configuration des données de diagnostic.
Vous pouvez également spécifier les données de configuration par défaut que vous voulez utiliser. Consultez Exemple de projet pour la création d'un adaptateur de données de diagnostic pour un exemple de configuration par défaut.
Utilisez la procédure suivante pour créer un éditeur personnalisé permettant de mettre à jour les données relatives à vos paramètres de test lorsque vous employez votre adaptateur de données de diagnostic personnalisé.
Notes
Pour créer un éditeur personnalisé, vous devez d'abord créer votre adaptateur de données de diagnostic en appliquant DataCollectorConfigurationEditorAttribute à la classe.Vous pouvez utiliser la propriété HelpUri facultative dans cet attribut pour spécifier la source de contenu d'aide de votre éditeur.Pour plus d'informations sur la création de votre adaptateur de données de diagnostic, consultez Comment : créer un adaptateur de données de diagnostic.
Pour obtenir un exemple complet de projet d'adaptateur de données de diagnostic, notamment un éditeur de configuration personnalisé, consultez Exemple de projet pour la création d'un adaptateur de données de diagnostic.
Création d'un éditeur personnalisé pour votre adaptateur de données de diagnostic
Pour créer un éditeur personnalisé pour votre adaptateur de données de diagnostic
Créez un contrôle utilisateur dans le projet pour votre adaptateur de données de diagnostic :
Cliquez avec le bouton droit sur le projet de code qui contient votre classe d'adaptateur de données de diagnostic, puis pointez sur Ajouter et sur Contrôle utilisateur.
Pour cet exemple, ajoutez une étiquette au formulaire avec le texte suivant : "Nom du fichier de données :" et une zone de texte nommée "ZoneTexteFichier" qui permettra à l'utilisateur d'entrer les données nécessaires.
Notes
Seuls les contrôles utilisateur Windows Forms sont actuellement pris en charge.
Ajoutez ces lignes à la section de déclaration :
using System.Xml; using Microsoft.VisualStudio.TestTools.Common; using Microsoft.VisualStudio.TestTools.Execution;
Définissez ce contrôle utilisateur en tant qu'éditeur personnalisé.
Cliquez avec le bouton droit sur le contrôle utilisateur dans votre projet de code et pointez sur Afficher le code.
Définissez la classe permettant d'implémenter l'interface de l'éditeur IDataCollectorConfigurationEditor comme suit :
public partial class MyDataConfigEditor : UserControl, IDataCollectorConfigurationEditor
Cliquez avec le bouton droit sur IDataCollectorConfigurationEditor dans le code, puis sélectionnez la commande Implémenter l'interface. Les méthodes que vous devez implémenter pour cette interface sont ajoutées à votre classe.
Ajoutez la classe DataCollectorConfigurationEditorAttribute au contrôle utilisateur de votre éditeur afin d'identifier ce dernier comme un éditeur d'adaptateurs de données de diagnostic. Pour ce faire, remplacez Company, Product et Version par les informations appropriées pour votre adaptateur de données de diagnostic :
[DataCollectorConfigurationEditorTypeUri( "configurationeditor://MyCompany/MyConfigEditor/1.0")]
Ajoutez deux variables privées comme suit :
private DataCollectorSettings collectorSettings; private IServiceProvider ServiceProvider { get; set; }
Ajoutez du code pour initialiser votre éditeur pour votre adaptateur de données de diagnostic. Vous pouvez ajouter des valeurs par défaut aux champs de votre contrôle utilisateur à l'aide des données de la variable de paramètre. Il s'agit des données figurant dans l'élément <DefaultConfiguration> du fichier de configuration XML de votre adaptateur.
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(); }
Ajoutez du code pour réenregistrer les données de vos contrôles dans votre éditeur au format XML requis par l'API d'adaptateur de données de diagnostic comme suit :
public DataCollectorSettings SaveData() { collectorSettings.Configuration.InnerXml = String.Format( @"<MyCollectorName http://MyCompany/schemas/MyDiagnosticDataCollector/1.0""> <File FullPath=""{0}"" /> </MyCollectorName>", FileTextBox.Text); return collectorSettings; }
Si cela est important, ajoutez du code pour vérifier que les données sont correctes dans la méthode VerifyData ; la méthode peut aussi simplement retourner la valeur true.
public bool VerifyData() { // Not currently verifying data return true; }
(Facultatif) Vous pouvez ajouter du code à la méthode ResetToAgentDefaults(), qui utilise la méthode getText() privée, pour réinitialiser les données aux paramètres initiaux fournis dans le fichier de configuration 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; }
Générez votre solution. Copiez l'assembly d'adaptateur de données de diagnostic et le fichier de configuration XML (<diagnostic data adapter name>.dll.config) à l'emplacement suivant, en fonction de votre répertoire d'installation : Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\DataCollectors.
Notes
Bien que l'éditeur de configuration et l'adaptateur de données de diagnostic puissent se trouver dans un projet et un assembly différents, ils peuvent également se trouver dans le même assembly.
Pour utiliser votre adaptateur de données de diagnostic lors de tests, vous devez effectuer une sélection dans la liste des paramètres de test existants, ou bien créer une liste à partir de Microsoft Test Manager ou de Visual Studio, puis sélectionner dans celle-ci votre adaptateur de données de diagnostic.
L'adaptateur s'affiche sous l'onglet Données et diagnostics de vos paramètres de test avec le nom convivial que vous avez assigné à la classe.
Pour configurer votre adaptateur de données de diagnostic pour vos paramètres de test, choisissez Configurer en regard du nom de l'adaptateur.
Votre éditeur personnalisé s'affiche.
Apportez les modifications requises aux champs de votre éditeur personnalisé, puis choisissez Enregistrer.
Si vous exécutez vos tests à partir de Microsoft Test Manager, vous pouvez préalablement assigner ces paramètres de test à votre plan de test ou bien utiliser la commande Exécuter avec des options pour assigner et remplacer des paramètres de test. Pour plus d'informations sur les paramètres de test, consultez Configuration d'ordinateurs et collecte d'informations de diagnostic à l'aide de paramètres de test.
Avant de pouvoir utiliser votre nouvel éditeur de configuration avec un adaptateur de données de diagnostic, vous devez appliquer DataCollectorConfigurationEditorAttribute à chaque classe d'adaptateur de données de diagnostic à employer dans l'éditeur, puis les recompiler et les réinstaller sur l'ordinateur client. Pour plus d'informations sur l'installation d'adaptateurs de données de diagnostic et d'éditeurs de configuration, consultez Comment : installer un adaptateur de données de diagnostic personnalisé.
Exécutez vos tests à l'aide des paramètres de test, en sélectionnant votre adaptateur de données de diagnostic.
Le fichier de données que vous avez spécifié dans votre éditeur est joint à vos résultats de tests.
Pour plus d'informations sur la configuration de vos paramètres de test pour l'utilisation d'un environnement lors de l'exécution des tests, consultez Collecter plus de données de diagnostic dans des tests manuels ou Créer des paramètres de test pour des tests du système automatisés à l'aide de Microsoft Test Manager.
Voir aussi
IDataCollectorConfigurationEditor
DataCollectorConfigurationEditorAttribute
DataCollectorConfigurationEditorAttribute
Création d'un adaptateur de données de diagnostic pour collecter des données personnalisées ou affecter un ordinateur de test
Configuration d'ordinateurs et collecte d'informations de diagnostic à l'aide de paramètres de test
Exemple de projet pour la création d'un adaptateur de données de diagnostic