Compartilhar via


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

Quando você cria um adaptador de dados de diagnóstico, você 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, qual o nível de carga de rede para simular ou em qual diretório para localizar os arquivos temporários ou trabalhar de arquivos a serem anexados.

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 para a edição de definiçõ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 um exemplo de configuração padrão.

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

ObservaçãoObservação

Para criar um editor personalizado, você deve primeiro criar seu adaptador de dados de diagnóstico que tem o DataCollectorConfigurationEditorAttribute aplicados à classe.Você pode usar o opcional HelpUri propriedade nesse atributo para especificar a fonte de conteúdo de ajuda para o seu 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.

Criando 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. O projeto de código que contém a classe do adaptador de dados de diagnóstico de atalho, aponte para Add e, em seguida, aponte para O controle de usuário.

    2. Para esse exemplo, adicionar um rótulo ao formulário com este texto: nome do arquivo de dados: e uma caixa de texto chamado FileTextBox que permitirão 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. Transforme este 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 para 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 seu 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.São os dados que está sendo o <DefaultConfiguration> elemento no arquivo de configuração XML para o seu 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 na 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 11.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 Visual Studio e, em seguida, selecione o 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 seu adaptador de dados de diagnóstico para as configurações de teste, escolha 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, em seguida, escolha Salvar.

  13. Se você estiver executando seus testes de Microsoft Test Manager, você pode atribuí-los testar as configurações para o plano de teste antes de executar os testes, ou usar o Executar com opções comando atribuir configurações de teste e substituir testar as configurações.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 a 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 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 adaptador de dados de diagnóstico selecionado.

    O arquivo de dados que você especificou no seu editor é anexado aos resultados do teste.

Para obter mais informações sobre como configurar as configurações de teste para usar um ambiente quando você executa os testes, consulte Especificando as configurações de teste no Microsoft Test Manager ou Criar configurações de teste para testes de sistema automatizados usando o Microsoft Test Manager.

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

Criando 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