Cómo: Crear un editor personalizado para los datos del adaptador de datos de diagnóstico
Al crear un adaptador de datos de diagnóstico, es posible que desee permitir que el usuario configure datos específicos cuando seleccione el adaptador de datos de diagnóstico personalizado para su configuración de pruebas. Por ejemplo, puede seleccionar los datos de configuración que especifican qué claves del Registro se van a extraer, qué nivel de carga de red se debe simular o en que el directorio se deben buscar los archivos temporales o archivos de trabajo para adjuntar.
Debe usar un archivo de configuración para establecer los valores iniciales del adaptador de datos de diagnóstico. Puede proporcionar un editor personalizado para permitir al usuario modificar los datos de configuración.
Para crear su propio editor, tendrá que crear un control de usuario que implemente IDataCollectorConfigurationEditor.
El adaptador de datos de diagnóstico puede utilizar un DataCollectorConfigurationEditorAttribute para especificar la clase de editor que desea utilizar para editar la configuración de datos de diagnóstico.
También se especifican los datos de configuración predeterminados que desea usar. Vea Proyecto de ejemplo para crear un adaptador de datos de diagnóstico para obtener una configuración predeterminada de ejemplo.
Use el procedimiento siguiente para crear un editor personalizado para actualizar los datos de la configuración de pruebas cuando se use el adaptador de diagnóstico de datos personalizado.
Nota
Para crear un editor personalizado, primero debe crear un adaptador de datos de diagnóstico con el DataCollectorConfigurationEditorAttribute aplicado a la clase. Puede utilizar la propiedad opcional HelpUri en ese atributo para especificar el origen de contenido de ayuda para el editor. Para obtener más información sobre cómo crear un adaptador de datos de diagnóstico, vea Cómo: Crear un adaptador de datos de diagnóstico.
Para obtener un ejemplo completo de un proyecto de adaptador de datos de diagnóstico, que incluye un editor de configuración personalizado, vea Proyecto de ejemplo para crear un adaptador de datos de diagnóstico.
Crear un editor personalizado para su adaptador de datos de diagnóstico
Para crear un editor personalizado para su adaptador de datos de diagnóstico
En el proyecto, cree un control de usuario para su adaptador de datos de diagnóstico:
Haga clic con el botón secundario en el proyecto de código que contiene la clase de adaptador de datos de diagnóstico, elija Agregar y, a continuación, elija Control de usuario.
Para este ejemplo, agregue una etiqueta con este texto: "Nombre del archivo de datos": y un cuadro de texto denominado "FileTextBox" que permitirá al usuario escribir los datos necesarios.
Nota
Actualmente solo se admiten controles de usuario de Windows Forms.
Agregue estas líneas a la sección de declaración:
using System.Xml; using Microsoft.VisualStudio.TestTools.Common; using Microsoft.VisualStudio.TestTools.Execution;
Cree este control de usuario en un editor personalizado.
En el proyecto de código, haga clic con el botón secundario en el control de usuario y elija Ver código.
Establezca la clase para implementar la interfaz del editor IDataCollectorConfigurationEditor de la siguiente manera:
public partial class MyDataConfigEditor : UserControl, IDataCollectorConfigurationEditor
Haga clic con el botón secundario en IDataCollectorConfigurationEditor en el código y seleccione el comando Implementar interfaz. Los métodos que necesita implementar en esta interfaz se agregan a la clase.
Agregue DataCollectorConfigurationEditorAttribute al control de usuario del editor para identificarlo como un editor de adaptador de datos de diagnóstico y reemplace Compañía, Producto y Versión con la información correspondiente al adaptador de datos de diagnóstico:
[DataCollectorConfigurationEditorTypeUri( "configurationeditor://MyCompany/MyConfigEditor/1.0")]
Agregue dos variables privadas como sigue:
private DataCollectorSettings collectorSettings; private IServiceProvider ServiceProvider { get; set; }
Agregue el código para inicializar el editor para el adaptador de datos de diagnóstico. Puede agregar valores predeterminados a los campos del control de usuario usando los datos de la variable de configuración. Estos datos son los que están en el elemento <DefaultConfiguration> del archivo de configuración XML del adaptador.
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(); }
Agregue el código para guardar los datos de los controles en el editor de nuevo con el formato XML requerido por la API del adaptador de datos de diagnóstico, de la siguiente manera:
public DataCollectorSettings SaveData() { collectorSettings.Configuration.InnerXml = String.Format( @"<MyCollectorName http://MyCompany/schemas/MyDiagnosticDataCollector/1.0""> <File FullPath=""{0}"" /> </MyCollectorName>", FileTextBox.Text); return collectorSettings; }
Si es importante para usted, agregue código para comprobar que los datos son correctos en el método VerifyData, o puede hacer que el método devuelva true.
public bool VerifyData() { // Not currently verifying data return true; }
(Opcional) Puede agregar código para restablecer los datos a la configuración inicial que se proporciona en el archivo de configuración XML en el método ResetToAgentDefaults() que usa el método getText() privado.
// 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; }
Compile la solución. Copie el ensamblado del adaptador de datos de diagnóstico y el archivo de configuración XML (<diagnostic data adapter name>.dll.config) en la siguiente ubicación, según su directorio de instalación: Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\DataCollectors.
Nota
Aunque el editor de configuración se puede encontrar en un proyecto y un ensamblado diferentes del adaptador de datos de diagnóstico, también pueden estar en el mismo ensamblado.
Para usar el adaptador de datos de diagnóstico en las pruebas, debe seleccionarlo en la lista de configuración de pruebas existente o crear uno nuevo con Microsoft Test Manager o Microsoft Visual Studio 2010 y, a continuación, seleccionarlo.
El adaptador se muestra en la pestaña Datos y diagnósticos de su configuración de pruebas con el nombre descriptivo que asignó a la clase.
Para configurar el adaptador de datos de diagnóstico para la configuración de pruebas, haga clic en Configurar al lado del nombre del adaptador.
Se muestra el editor personalizado.
Modifique los campos necesarios en el editor personalizado y, a continuación, haga clic en Guardar.
Si está ejecutando las pruebas en Microsoft Test Manager, puede asignar estas configuraciones de pruebas a su plan de pruebas antes de ejecutar las pruebas o usar el comando Ejecutar con opciones para asignar e invalidar configuraciones de pruebas. Para obtener más información acerca de la configuración de pruebas, vea Configurar máquinas y recopilar información de diagnóstico con la configuración de pruebas.
Para poder utilizar el nuevo editor de configuración con un adaptador de datos de diagnóstico, debe aplicar DataCollectorConfigurationEditorAttribute a cada clase del adaptador de datos de diagnóstico con la que desee utilizar el editor, y volver a compilarla e instalarla en el equipo cliente. Para obtener más información sobre cómo instalar adaptadores de datos de diagnóstico y editores de configuración, vea Cómo: Instalar un adaptador de datos de diagnóstico personalizado.
Ejecute las pruebas usando la configuración de pruebas y con el adaptador de datos de diagnóstico seleccionado.
El archivo de datos que especificó en el editor se adjunta a los resultados de pruebas.
Para obtener más información sobre cómo establecer la configuración de pruebas para usar un entorno al ejecutar las pruebas, vea Crear una configuración de pruebas para pruebas manuales o Crear una configuración de pruebas para pruebas automatizadas como parte de un plan de pruebas.
Vea también
Tareas
Proyecto de ejemplo para crear un adaptador de datos de diagnóstico
Referencia
IDataCollectorConfigurationEditor
DataCollectorConfigurationEditorAttribute
DataCollectorConfigurationEditorAttribute
Conceptos
Configurar máquinas y recopilar información de diagnóstico con la configuración de pruebas