Compartir a través de


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 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

  1. En el proyecto, cree un control de usuario para su adaptador de datos de diagnóstico:

    1. 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.

    2. 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.

  2. Agregue estas líneas a la sección de declaración:

    using System.Xml;
    using Microsoft.VisualStudio.TestTools.Common;
    using Microsoft.VisualStudio.TestTools.Execution;
    
  3. Cree este control de usuario en un editor personalizado.

    1. En el proyecto de código, haga clic con el botón secundario en el control de usuario y elija Ver código.

    2. Establezca la clase para implementar la interfaz del editor IDataCollectorConfigurationEditor de la siguiente manera:

       public partial class MyDataConfigEditor :
            UserControl, IDataCollectorConfigurationEditor
    
    1. 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.

    2. 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")]
      
  4. Agregue dos variables privadas como sigue:

    private DataCollectorSettings collectorSettings;
    private IServiceProvider ServiceProvider { get; set; }
    
  5. 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();
    }
    
  6. 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;
    }
    
  7. 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;
    }
    
  8. (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;
    }
    
  9. 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 11.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.

  10. 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 Visual Studio 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.

  11. Para configurar el adaptador de datos de diagnóstico para la configuración de pruebas, elija Configurar al lado del nombre del adaptador.

    Se muestra el editor personalizado.

  12. Modifique los campos necesarios en el editor personalizado y, a continuación, elija Guardar.

  13. 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 sobre la configuración de pruebas, vea Configurar máquinas y recopilar información de diagnóstico con la configuración de pruebas.

  14. 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.

  15. 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 Especificar la configuración de prueba en Microsoft Test Manager o Crear la configuración para pruebas del sistema automatizadas mediante Microsoft Test Manager.

Vea también

Tareas

Proyecto de ejemplo para crear un adaptador de datos de diagnóstico

Referencia

IDataCollectorConfigurationEditor

DataCollectorConfigurationEditorAttribute

DataCollectorConfigurationEditorAttribute

Conceptos

Crear un adaptador de datos de diagnóstico para recopilar datos personalizados o afectar a un equipo de prueba

Configurar máquinas y recopilar información de diagnóstico con la configuración de pruebas