Como: criar um suplemento de Visual Studio para o Visualizador de resultados do teste de desempenho da Web

Você pode estender interface de usuário para o visualizador de resultados de teste de desempenho da Web usando os seguintes namespaces:

Além disso, você precisa adicionar uma referência para a DLL de LoadTestPackage que está localizado em %ProgramFiles% \ Microsoft Visual Studio 11,0 \ Common7 \ IDE \ pasta de PrivateAssemblies.

  • Para estender interface de usuário do visualizador de resultados de teste de desempenho da Web, você deve criar um suplemento a Visual Studio e um controle de usuário.Os procedimentos a seguir explicam como criar o suplemento, o controle de usuário, e como implementar as classes necessárias para estender interface de usuário do visualizador de resultados de teste de desempenho da Web.

Requisitos

  • Visual Studio Ultimate

Crie ou abra uma solução que contém um aplicativo ASP.NET e um desempenho da Web e um teste de carregamento Project

Para preparar para estender o visualizador de resultados de teste de desempenho da Web

Crie um suplemento ao Visual Studio

Um suplemento é uma DLL compilado que executa no ambiente de desenvolvimento integrado Visual Studio (IDE).Ajuda de compilação protegem a propriedade intelectual e melhora o desempenho.Embora você possa criar adendos manualmente, talvez seja mais fácil usar o assistente do suplemento.O assistente cria um suplemento mas funcionalmente básico que você pode executar imediatamente após você o cria.Após o assistente do suplemento gera o programa básico, você pode adicionar código e personalizá-lo.

O assistente de suplementos permite que você forneça um nome para exibição e descrição para o suplemento.Ambos serão exibidas em Gerenciador de Suplementos.Opcionalmente, você pode fazer o assistente gere código que adiciona ao menu de Ferramentas um comando abra o suplemento.Você também pode optar exibir uma caixa de diálogo personalizada de Sobre para o suplemento.Quando o assistente terminar, você terá um novo projeto que tem apenas uma classe que implementa o suplemento.Essa classe é chamada se conecta.

Você usará Gerenciador de Suplementos o final deste tópico.

Para obter mais informações, consulte A criação de suplementos e assistentes.

Para criar um suplemento usando o assistente do suplemento

  1. No solution Explorer, clique com o botão direito do mouse na solução, escolha Adicionar e selecione Novo Projeto.

    A caixa de diálgo New Project é exibida.

  2. Em Modelos Instalados, expanda Outros tipos de projetos e selecione Extensibilidade.

  3. Na lista de modelos, Suplemento do Visual Studioselecione.

  4. Sob o nome, digite um nome para o suplemento.Por exemplo, WebPerfTestResultsViewerAddin.

  5. Escolha OK.

    O assistente de suplementos do Visual Studio.

  6. Escolha Avançar.

  7. Na página de Selecione uma Linguagem de Programação , selecione a linguagem de programação que você deseja usar para escrever o suplemento.

    ObservaçãoObservação

    Este tópico usa Visual C# para o código de exemplo.

  8. Na página de Selecione um Aplicativo Host , em Visual Studio selecione e em Macros do Visual Studioclaro.

  9. Escolha Avançar.

  10. Digite um nome e descrição para o suplemento na página de Digite um Nome e uma Descrição .

    Depois que o suplemento é criado, seu nome e descrição são exibidos na lista de Suplementos disponíveis em Gerenciador de Suplementos.Adicione o suficiente para detalhes a descrição do suplemento para que os usuários podem saber o que o suplemento faz, como funciona, e assim por diante.

  11. Escolha Avançar.

  12. Na página Escolha opções do suplemento, selecione Desejo que o suplemento seja carregado quando o aplicativo host for iniciado.

  13. Desmarque as caixas de seleção restantes.

  14. Na página de Escolhendo Informações de 'Ajuda Sobre' , você pode especificar se você deseja informações sobre o suplemento a ser exibido em uma caixa de diálogo de Sobre .Se você desejar que as informações a serem exibidas, selecione a caixa de seleção de Sim, desejo que o suplemento ofereça informações da caixa 'Sobre' .

    Informações que pode ser adicionada a caixa de diálogo de Visual StudioSobre inclui o número de versão, detalhes de suporte, licenciando dados, e assim por diante.

  15. Escolha Avançar.

  16. As opções que você selecionou são exibidas na página de Resumo para examinar.Se você estiver satisfeito, escolha Concluir para criar o suplemento.Se você desejar alterar algo, escolha o botão de Voltar .

    A nova solução e projeto é criado e o arquivo de Connect.cs para o novo suplemento é exibido no editor de códigos.

    Você adicionará código para o arquivo de Connect.cs após o seguinte procedimento que cria um controle de usuário que é referenciada por este projeto de WebPerfTestResultsViewerAddin.

Depois que um suplemento é criado, é necessário registrá-lo com Visual Studio antes que possa ser ativado em Gerenciador de Suplementos.Você faz isso usando um arquivo XML que tem uma extensão de nome de arquivo .addin.

O arquivo de .addin descreve as informações que Visual Studio necessário para exibir o suplemento em Gerenciador de Suplementos.Quando inicia de Visual Studio , ele olharem o local do arquivo de .addin para todos os arquivos de .addin disponíveis.Se encontrar alguns, lê o arquivo XML e fornece a Gerenciador de Suplementos informações que requer iniciar o suplemento quando é clicado.

O arquivo de .addin é criado automaticamente quando você cria um suplemento usando o assistente do suplemento.

Para obter mais informações, consulte Registro do suplemento.

Ff458704.collapse_all(pt-br,VS.110).gifLocal de Arquivo do suplemento

Duas cópias do arquivo de .addin são criadas automaticamente pelo assistente do suplemento, como segue:

. Local de Arquivo do suplemento

. Local do Arquivo DLL

Descrição

Pasta raiz do projeto

Documentos\ \ Visual Studio 11 \ projects \ \ \ MyAddin1 MyAddin1

Caminho local (MyAddin1.dll)

Usado para implantação de projeto do suplemento.Incluído no projeto para facilitar a edição e tem o caminho local para implantação de XCopy- estilo.

Pasta do suplemento

Documentos\ \ Visual Studio 11 \ \ suplementos

-  ou  -

Local de documentos compartilhados\Addins\

Pasta debug de O

(Por exemplo, \ documents \ Visual Studio 11

Projetos MyAddin1 MyAddin1 \ \ \ bin \)

Usado para executar o suplemento no ambiente de depuração.Sempre deve apontar para o caminho de saída de compilação atual a configuração.

Crie uma biblioteca de controle de O formulário do Windows

O suplemento a Visual Studio criou nas referências dos procedimentos anteriores um projeto de biblioteca de controle de formulários do Windows para criar uma instância de uma classe de UserControl .

Para obter mais informações, consulte Controles do Windows Forms.

Para criar um controle seja usado no visualizador de resultados de teste da Web

  1. No solution Explorer, clique com o botão direito do mouse na solução, escolha Adicionar e selecione Novo Projeto.

    A caixa de diálgo New Project é exibida.

  2. Em Modelos Instalados, expanda Visual Basic ou Visual C# e selecione Janelas.

    ObservaçãoObservação

    Este tópico usa Visual C# para o código de exemplo.

  3. Na lista de modelos, Biblioteca de Controle Windows Formsselecione.

  4. Em Nome, digite um nome para o suplemento.Por exemplo, WebPerfTestResultsViewerControl.

  5. Escolha OK.

    O WebPerfTestResultsViewerControl projeto de biblioteca de controle de formulários do Windows é adicionado no solution Explorer e UserControl1.cs é exibido no modo de design.

  6. Na caixa de ferramentas, arraste DataGridView na superfície de userControl1.

  7. Clique na marca da ação (Glifo de marca inteligente) no canto superior direito de DataGridView e siga estas etapas:

    1. Escolha Encaixar no Contêiner Pai.

    2. Desmarque as caixas de seleção para Habilitar Inclusão, Habilitar Edição, Habilitar Exclusão e Habilitar Reorganização de Colunas.

    3. Escolha Adicionar Coluna.

      A caixa de diálogo de Adicionar Coluna é exibida.

    4. Na lista suspensa de Tipo , DataGridViewTextBoxColumnselecione.

    5. Desmarque o texto “Column1” em Texto do Cabeçalho.

    6. Escolha Adicionar.

    7. Escolha Fechar.

  8. Na janela propriedades, altere a propriedade de (Nome) de DataGridView ao resultControlDataGridView.

  9. Clique com o botão direito do mouse na superfície de design e selecione Exibir Código.

    O arquivo de UserControl1.cs é exibido no editor de códigos.

  10. Altere o nome da classe instanciado a partir de UserControl de UserContro1 ao resultControl:

    namespace WebPerfTestResultsViewerControl
    {
        public partial class resultControl : UserControl
        {
            public resultControl()
            {
                InitializeComponent();
            }
    

    No próximo procedimento, você adicionará código para o arquivo de Connect.cs de projeto de WebPerfTestResultsViewerAddin que fará referência à classe de resultControl.

    Você irá adicionar qualquer código adicional para o arquivo de Connect.cs posteriormente.

Adicione código ao WebPerfTestResultsViewerAddin

Para adicionar código ao suplemento ao Visual Studio para estender o visualizador de resultados de teste da Web

  1. No solution Explorer, clique com o botão direito do mouse no nó de Referências no projeto de WebPerfTestResultsViewerAddin e selecione Adicionar Referência.

  2. Na caixa de diálogo de Adicionar Referência , escolha a guia do .NET .

  3. Role para baixo e selecione Microsoft.VisualStudio.QualityTools.WebTestFramework e System.Windows.Forms.

  4. Escolha OK.

  5. Clique com o botão direito do mouse no nó de Referências novamente, e selecione Adicionar Referência.

  6. Na caixa de diálogo de Adicionar Referência , escolha a guia de Procurar .

  7. Escolha a lista suspensa para Examinar e navegar para %ProgramFiles% \ Microsoft Visual Studio 11,0 \ Common7 \ IDE \ PrivateAssemblies e selecione o arquivo de Microsoft.VisualStudio.QualityTools.LoadTestPackage.dll.

  8. Escolha OK.

  9. Clique com o botão direito do mouse no nó de projeto de WebPerfTestResultsViewerAddin, e selecione Adicionar Referência.

  10. Na caixa de diálogo de Adicionar Referência , escolha a guia de Projetos .

  11. Em Nome do Projeto, selecione o projeto de WebPerfTestResultsViewerControl e escolha OK.

  12. Se o arquivo de Connect.cs ainda não está aberto, no solution Explorer, clique com o botão direito do mouse no arquivo de Connect.cs no projeto de WebPerfTestResultsViewerAddin e selecione Exibir Código.

  13. No arquivo de Connect.cs, adicione as seguintes declarações de uso:

    using System.IO;
    using System.Windows.Forms;
    using System.Collections.Generic;
    using Microsoft.VisualStudio.TestTools.LoadTesting;
    using Microsoft.VisualStudio.TestTools.WebTesting;
    using WebPerfTestResultsViewerControl;
    
  14. Role para baixo da parte inferior do arquivo de Connect.cs.Você precisa adicionar uma lista de GUIDs para UserControl o caso de mais de uma instância do visualizador de resultados de teste de desempenho da Web é aberta.Você adicionará código posteriormente usando esta lista.

    Uma segunda lista de cadeia de caracteres é usada no método de OnDiscconection que você codificará posteriormente.

            private DTE2 _applicationObject;
            private AddIn _addInInstance;
    
            private Dictionary<Guid, List<UserControl>> m_controls = new Dictionary<Guid, List<UserControl>>();
            private List<string> temporaryFilePaths = new List<string>();
    
  15. O arquivo de Connect.cs cria uma classe chamada conecta da classe de IDTExtensibility2 e também inclui alguns métodos para implementar o suplemento a Visual Studio .Um dos métodos é o método de OnConnection, que recebe notificação que o suplemento está sendo carregado.No método de OnConnection, você usará a classe de LoadTestPackageExt para criar seu pacote de extensibilidade para o visualizador de resultados de teste de desempenho da Web.Adicione o seguinte código ao método de OnConnection:

    public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
                {
                _applicationObject = (DTE2)application;
                _addInInstance = (AddIn)addInInst;
    
                // Create a load test packge extensibility class.
                LoadTestPackageExt loadTestPackageExt = _applicationObject.GetObject("Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestPackageExt") as LoadTestPackageExt;
    
                // Process open windows.
                foreach (WebTestResultViewer webTestResultViewer in loadTestPackageExt.WebTestResultViewerExt.ResultWindows)
                {
                    WindowCreated(webTestResultViewer);
                }
    
                // Create event handlers.
                loadTestPackageExt.WebTestResultViewerExt.WindowCreated += new EventHandler<WebTestResultViewerExt.WindowCreatedEventArgs>(WebTestResultViewerExt_WindowCreated);
                loadTestPackageExt.WebTestResultViewerExt.WindowClosed += new EventHandler<WebTestResultViewerExt.WindowClosedEventArgs>(WebTesResultViewer_WindowClosed);
                loadTestPackageExt.WebTestResultViewerExt.SelectionChanged += new EventHandler<WebTestResultViewerExt.SelectionChangedEventArgs>(WebTestResultViewer_SelectedChanged);
            }
    
  16. Adicione o seguinte código à classe conectar para criar o método de WebTestResultViewerExt_WindowCreated para o manipulador de eventos de loadTestPackageExt.WebTestResultViewerExt.WindowCreated que você adicionou no método de OnConnection e para o método de WindowCreated que chama o método de WebTestResultViewerExt_WindowCreated.

            void WebTestResultViewerExt_WindowCreated(object sender, WebTestResultViewerExt.WindowCreatedEventArgs e)
            {
                // New control added to new result viewer window.
                WindowCreated(e.WebTestResultViewer);
            }
    
    private void WindowCreated(WebTestResultViewer viewer)
            {
                // Instantiate an instance of the resultControl referenced in the WebPerfTestResultsViewerControl project.
                resultControl resultControl = new resultControl();
    
                // Add to the dictionary of open playback windows.
                System.Diagnostics.Debug.Assert(!m_controls.ContainsKey(viewer.TestResultId));
                List<UserControl> userControls = new List<UserControl>();
                userControls.Add(resultControl);
    
                // Add Guid to the m_control List to manage Result viewers and controls.
                m_controls.Add(viewer.TestResultId, userControls);
    
                // Add tabs to the playback control.
                resultControl.Dock = DockStyle.Fill;
                viewer.AddResultPage(new Guid(), "Sample", resultControl);
            }
    
  17. Adicione o seguinte código à classe conectar para criar o método de WebTestResultViewer_SelectedChanged para o manipulador de eventos de loadTestPackageExt.WebTestResultViewerExt.SelectionChanged que você adicionou no método de OnConnection:

            void WebTestResultViewer_SelectedChanged(object sender, WebTestResultViewerExt.SelectionChangedEventArgs e)
            {
                foreach (UserControl userControl in m_controls[e.TestResultId])
                {
                    // Update the userControl in each result viewer.
                    resultControl resultControl = userControl as resultControl;
                    if (resultControl != null)
                        // Call the resultControl's Update method (This will be added in the next procedure).
                        resultControl.Update(e.WebTestRequestResult);
                }
            }
    
  18. Adicione o seguinte código à classe conectar para criar o método de WebTesResultViewer_WindowClosed para o manipulador de eventos para o loadTestPackageExt.WebTestResultViewerExt.WindowClosed que você adicionou no método de OnConnection:

            void WebTesResultViewer_WindowClosed(object sender, WebTestResultViewerExt.WindowClosedEventArgs e)
            {
                if (m_controls.ContainsKey(e.WebTestResultViewer.TestResultId))
                {
                    m_controls.Remove(e.WebTestResultViewer.TestResultId);
                }
            }
    

    Agora que o código foi concluído para o suplemento ao Visual Studio, você precisa adicionar o método de atualização para o resultControl no projeto de WebPerfTestResultsViewerControl.

Adicione código ao WebPerfTestResultsViewerControl

Para obter mais informações, consulte Noções básicas de desenvolvimento de controle de formulários do Windows.

Para adicionar código ao controle de usuário

  1. No solution Explorer, clique com o botão direito do mouse no nó de projeto de WebPerfTestResultsViewerControl e selecione Propriedades.

  2. Selecione a guia de Aplicativo e então escolha a lista suspensa de Estrutura de Destino e o .NET Framework 4 selecione e fechar as propriedades.

    Isso é necessário para oferecer suporte a referências de dlls necessárias estendendo o visualizador de resultados de teste de desempenho da Web.

  3. No solution Explorer, no projeto de WebPerfTestResultsViewerControl, clique com o botão direito do mouse no nó de Referências e selecione Adicionar Referência.

  4. Na caixa de diálogo de Adicionar Referência , clique na guia do .NET .

  5. Role para baixo e selecione Microsoft.VisualStudio.QualityTools.WebTestFramework.

  6. Escolha OK.

  7. No arquivo de UserControl1.cs, adicione as seguintes declarações de uso:

    using Microsoft.VisualStudio.TestTools.WebTesting;
    using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
    
  8. Adicione o método de atualização que é chamado e passado um WebTestRequestResult do método de WebPerfTestResultsViewerAddin WebTestResultViewer_SelectedChanged no arquivo de Connect.cs.O método update preenche o DataGridView com várias propriedades passados a ele no WebTestRequestResult.

    public void Update(WebTestRequestResult WebTestResults)
            {
                // Clear the DataGridView when a request is selected.
                resultControlDataGridView.Rows.Clear();
                // Populate the DataGridControl with properties from the WebTestResults.
                this.resultControlDataGridView.Rows.Add("Request: " + WebTestResults.Request.Url.ToString());
                this.resultControlDataGridView.Rows.Add("Response: " + WebTestResults.Response.ResponseUri.ToString());
                foreach (RuleResult ruleResult in WebTestResults.ExtractionRuleResults)
                {
                    this.resultControlDataGridView.Rows.Add("Extraction rule results: " + ruleResult.Message.ToString());
                }
                foreach (RuleResult ruleResult in WebTestResults.ValidationRuleResults)
                {
                    this.resultControlDataGridView.Rows.Add("Validation rule results: " + ruleResult.Message.ToString());
                }
                foreach (WebTestError webTestError in WebTestResults.Errors)
                {
                    this.resultControlDataGridView.Rows.Add("Error: " + webTestError.ErrorType.ToString() + " " + webTestError.ErrorSubtype.ToString() + " " + webTestError.ExceptionText.ToString());
                }
            }
    

Crie a solução de WebPerfTestResultsViewerAddin

Para criar a solução

  • No menu de CompilarCompilar solução, selecione.

Registrar o suplemento a WebPerfTestResultsViewerAddin

Para registrar o suplemento usando o gerenciador do suplemento

  1. No menu de Ferramentas , Gerenciador de Suplementosselecione.

  2. A caixa de diálogo de Gerenciador de Suplementos é exibida.

  3. Selecione a caixa de seleção para o suplemento a WebPerfTestResultsViewerAddin na coluna de Suplementos disponíveis e desmarque as caixas de seleção sob as colunas de Inicialização e de Linha de comando .

  4. Escolha OK.

    Para obter mais informações, consulte Como: Add-Ins de controle, usando o Gerenciador de suplemento.

Execute o teste de desempenho da Web usando a compilação o suplemento a WebPerfTestResultsViewerAddin

Para executar o novo CONTRA o suplemento para o visualizador de resultados de teste da Web

  1. Execute o teste de desempenho da Web e você verá o WebPerfTestResultsViewerAddin suplemento a nova guia entitulado exemplo exibido no visualizador de resultados de teste de desempenho da Web.

  2. Escolha a guia para ver as propriedades apresentadas no DataGridView.

Segurança

Para melhorar a segurança impedindo que suplementos mal-intencionado ative automaticamente, Visual Studio fornece configurações na página de Opções de ferramentas chamada Segurança de macros/suplemento.

Além disso, esta página de opções permite que você especifique as pastas em que Visual Studio procura por arquivos de registro de .AddIn.Isso melhora a segurança permitindo que você limitar os locais onde os arquivos de registro de .AddIn podem ser lidos.Isso ajuda a impedir que causa dos arquivos mal-intencionados de .AddIn serem usadas.

Configurações de segurança do suplemento

As configurações em Add-in/Macros Security, Environment, Options Dialog Box relacionadas à segurança do suplemento são:

  • Permite componentes do suplemento ao carregar. Selecionado por padrão.Quando selecionado, suplementos é permitido carregar em Visual Studio.Quando não selecionado, suplementos é proibido de carregamento em Visual Studio.

  • Permite componentes do suplemento à carga de um URL. Não selecionado por padrão.Quando selecionado, suplementos é permitido ser carregado em sites externos.Quando não selecionado, suplementos de remoto é proibido de carregamento em Visual Studio.Se um suplemento não pode carregar por algum motivo, então não pode ser carregado Web.Esta configuração controla somente ao carregar a DLL do suplemento.. Os arquivos de registro do suplemento devem sempre ser localizados no sistema local.

  • Para obter mais informações, consulte Suplemento de segurança.

Consulte também

Tarefas

Como: Add-Ins de controle, usando o Gerenciador de suplemento

Passo a passo: Depuração de um projeto do suplemento

Referência

UserControl

Microsoft.VisualStudio.TestTools.LoadTesting

Microsoft.VisualStudio.TestTools.WebTesting

Microsoft.VisualStudio.TestTools.WebTesting.Rules

UserControl

DataGrid

Conceitos

Registro do suplemento

Gráfico de modelo de objeto de automação

Eventos em controles do Windows Forms

Outros recursos

Criar e usar o Custom Plug-ins para carga e testes de desempenho da Web

Propriedades de controles do Windows Forms

Desenvolvendo controles de formulários do Windows personalizada com o.NET Framework