Compartilhar via


Como: Criar um Editor personalizado para dados para o seu adaptador de dados de diagnóstico

Quando você cria um adaptador de dados de diagnóstico, talvez queira permitir que o usuário configurar dados específicos quando seu adaptador de dados de diagnóstico personalizado for selecionado para suas configurações de teste. Por exemplo, você pode selecionar os dados de configuração que especifica quais chaves do registro para extrair, o nível de carga de rede para simular ou em qual diretório para localizar os arquivos temporários ou arquivos a serem anexados de trabalho.

Você deve usar um arquivo de configuração para definir valores iniciais para o seu adaptador de dados de diagnóstico. Você pode fornecer um editor personalizado para permitir ao usuário modificar os dados de configuração.

Para criar seu próprio editor, você irá criar um controle de usuário que implementa IDataCollectorConfigurationEditor.

Seu adaptador de dados de diagnóstico pode usar um DataCollectorConfigurationEditorAttribute para especificar a classe do editor usar para editar configurações de configuração de dados de diagnóstico.

Você também pode especificar os dados de configuração padrão que você deseja usar. Consulte Projeto de amostra para a criação de um adaptador de dados de diagnóstico para a configuração padrão de amostra.

Use o procedimento a seguir para criar um editor personalizado para atualizar os dados para as configurações de teste ao seu adaptador de dados personalizados diagnóstico é usado.

ObservaçãoObservação

Para criar um editor personalizado, você primeiro deve criar o seu adaptador de dados de diagnóstico que tem o DataCollectorConfigurationEditorAttribute aplicado para a classe. Você pode usar o opcional HelpUri propriedade nesse atributo para especificar a fonte de conteúdo de Ajuda do editor. Para obter mais informações sobre como criar o seu adaptador de dados de diagnóstico, consulte Como: Criar um adaptador de dados de diagnóstico.

Para um projeto de adaptador de dados de diagnóstico de exemplo completo, incluindo um editor de configuração personalizada, consulte Projeto de amostra para a criação de um adaptador de dados de diagnóstico.

A criação de um Editor personalizado para o seu adaptador de dados de diagnóstico

Para criar um editor personalizado para o seu adaptador de dados de diagnóstico

  1. Crie um controle de usuário no projeto para o seu adaptador de dados de diagnóstico:

    1. Clique com o botão direito do projeto de código que contém a classe do adaptador de dados de diagnóstico, aponte para Add e, em seguida, aponte para O controle de usuário.

    2. Neste exemplo, adicione um rótulo ao formulário com este texto: Nome do arquivo de dados: e uma caixa de texto chamado FileTextBox que permitirá que o usuário insira os dados necessários.

    ObservaçãoObservação

    Somente os controles de usuário do Windows Forms são suportados atualmente.

  2. Adicione essas linhas para a seção de declaração:

    using System.Xml;
    using Microsoft.VisualStudio.TestTools.Common;
    using Microsoft.VisualStudio.TestTools.Execution;
    
  3. Verifique o controle de usuário em um editor personalizado.

    1. O controle de usuário em seu projeto de código com o botão direito e aponte para Exibir código.

    2. Definir a classe para implementar a interface do editor IDataCollectorConfigurationEditor da seguinte maneira:

       public partial class MyDataConfigEditor :
            UserControl, IDataCollectorConfigurationEditor
    
    1. Com o botão direito IDataCollectorConfigurationEditor no código e selecione o Implementar Interface comando. Os métodos que você deve implementar essa interface são adicionados à sua classe.

    2. Adicionar o DataCollectorConfigurationEditorAttribute ao seu user control para o seu editor de identificá-lo como um editor de adaptador de dados de diagnóstico, substituindo empresa, produto, e versão com as informações apropriadas para o seu adaptador de dados de diagnóstico:

      [DataCollectorConfigurationEditorTypeUri(
          "configurationeditor://MyCompany/MyConfigEditor/1.0")]
      
  4. Adicione duas variáveis particulares da seguinte maneira:

    private DataCollectorSettings collectorSettings;
    private IServiceProvider ServiceProvider { get; set; }
    
  5. Adicione código para inicializar o editor para o seu adaptador de dados de diagnóstico. Você pode adicionar valores padrão aos campos no seu controle de usuário usando os dados que está na variável de configurações. Isso é que os dados que está sendo o <DefaultConfiguration> elemento no arquivo de configuração XML para o 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. Adicione código para salvar os dados de seus controles em seu editor de volta para o formato XML necessário para o adaptador de dados de diagnóstico API da seguinte maneira:

    public DataCollectorSettings SaveData()
    {
        collectorSettings.Configuration.InnerXml =
            String.Format(
    @"<MyCollectorName
        http://MyCompany/schemas/MyDiagnosticDataCollector/1.0"">
      <File FullPath=""{0}"" />
    </MyCollectorName>",
        FileTextBox.Text);
        return collectorSettings;
    }
    
  7. Se for importante para você, adicione código para verificar se os dados estão corretos no VerifyData método, ou você pode ter o método retornar true.

    public bool VerifyData()
    {
        // Not currently verifying data
        return true;
    }
    
  8. (Opcional) Você pode adicionar código para redefinir os dados para as configurações iniciais fornecidas no arquivo de configuração XML na ResetToAgentDefaults() método que usa particular getText() método.

    // 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. Desenvolver sua solução. Copie o assembly de diagnóstico do adaptador de dados e o arquivo de configuração XML (<diagnostic data adapter name>.dll.config) no seguinte local, com base em seu diretório de instalação: Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\DataCollectors.

    ObservaçãoObservação

    Embora o editor de configuração pode estar em um assembly que é diferente do adaptador de dados de diagnóstico e de um projeto, eles também podem ser no mesmo assembly.

  10. Para usar o seu adaptador de dados de diagnóstico em testes, selecione na lista de configurações de teste existente ou criar um novo do Microsoft Test Manager ou Microsoft Visual Studio 2010 e, em seguida, selecione seu adaptador de dados de diagnóstico.

    O adaptador é exibido na dados e diagnósticos guia suas configurações de teste com o nome amigável que você atribuiu à classe.

  11. Para configurar o adaptador de dados de diagnóstico para as configurações de teste, clique em Configure ao lado do nome do adaptador.

    Agora o seu editor personalizado é exibido.

  12. Edite os campos em seu editor personalizado conforme necessário e clique em Salvar.

  13. Se você estiver executando seus testes de Microsoft Test Manager, você pode atribuir esses testar configurações de seu plano de teste antes de executar os testes, ou usar o Executar com opções comando atribuir configurações de teste e substituir as configurações de teste. Para obter mais informações sobre configurações de teste, consulte Configuração de máquinas e coletar informações de diagnóstico usando as configurações de teste.

  14. Antes de usar o novo editor de configuração com um adaptador de dados de diagnóstico, você deve aplicar o DataCollectorConfigurationEditorAttribute para cada classe de adaptador de dados de diagnóstico que você deseja usar o editor e recompilar e reinstalá-los no computador cliente. Para obter mais informações sobre como instalar os adaptadores de dados de diagnóstico e editores de configuração, consulte Como: Instalar um adaptador de dados de diagnóstico personalizado.

  15. Execute os testes usando as configurações de teste com o seu adaptador de dados de diagnóstico selecionado.

    O arquivo de dados que você especificou no seu editor é anexado a resultados de testes.

Para obter mais informações sobre como configurar as configurações de teste para usar um ambiente, quando você executa os testes, consulte Criar configurações de teste para testes manuais ou Criar configurações de teste para testes automatizados, como parte de um plano de teste.

Consulte também

Tarefas

Projeto de amostra para a criação de um adaptador de dados de diagnóstico

Referência

IDataCollectorConfigurationEditor

DataCollectorConfigurationEditorAttribute

DataCollectorConfigurationEditorAttribute

Conceitos

A criação de um adaptador de dados de diagnóstico para coletar dados personalizados ou afetam uma máquina de teste

Configuração de máquinas e coletar informações de diagnóstico usando as configurações de teste