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

Este tópico se aplica a:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual StudioExpress

O tópico é aplicável O tópico não é aplicável O tópico não é aplicável O tópico não é aplicável

Você pode estender a interface do usuário para o Visualizador de resultados de teste de desempenho da Web usando os namespaces a seguir:

Além disso, você precisará adicionar uma referência a LoadTestPackage.dll que está localizado na pasta %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies.

  • Para estender o interface de usuário da desempenho visualizador teste da Web os resultados, você deve criar um Visual Studio suplemento 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 o interface de usuário da desempenho visualizador teste da Web os resultados.

Crie ou abra uma solução que contém um aplicativo ASP.NET e um projeto de teste

Para se preparar para estender o Visualizador de resultados de teste de desempenho da Web

Criar um suplemento de Visual Studio

Um add-in é uma DLL compilada que é executado o Visual Studio o ambiente de desenvolvimento integrado (IDE). Compilação ajuda a proteger sua propriedade intelectual e melhora o desempenho. Embora você possa criar suplementos manualmente, talvez seja mais fácil de usar o Assistente de suplemento. Este assistente cria um funcional mas básico suplemento que você pode executar imediatamente após a criação. Depois que o suplemento Assistente gera o programa básico, você pode adicionar código para ele e personalizá-lo.

O assistente Add-In permite que você forneça um nome para exibição e uma descrição para seu suplemento. Ambos serão exibidos na Gerenciador de suplementos. Opcionalmente, você pode ter o código de gerar assistente adiciona o Ferramentas um comando para abrir o suplemento de menu. Você também pode optar por exibir um personalizado sobre caixa de diálogo para seu suplemento. Quando o assistente for concluído, você tem um novo projeto que tenha apenas uma classe que implementa o add-in. O nome da classe será conectar.

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

Para obter mais informações, consulte Criando Adicionar-.

Para criar um suplemento usando o Assistente de suplemento

  1. No Solution Explorer, clique com o botão direito a solução, clique em Add e selecione Novo projeto.

    A caixa de diálgo New Project é exibida.

  2. Em Modelos instalados, expanda Other Project Types e selecione extensibilidade.

  3. Na lista de modelos, selecione - in Visual Studio.

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

  5. Clique em OK.

    O Assistente de suplemento Visual Studio inicia.

  6. Clique em Next.

  7. Sobre o Select a Programming Language , selecione a linguagem de programação que você deseja usar para escrever o suplemento.

    ObservaçãoObservação

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

  8. Sobre o Selecionar um Host de aplicativo , selecione Microsoft Visual Studio 2010 e desmarque Microsoft Visual Studio 2010 Macros.

  9. Clique em Next.

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

    Depois que o add-in é criado, o seu nome e descrição são exibidos na Suplementos disponíveis Listar no Gerenciador de suplementos. Adicione detalhes suficientes para a descrição do seu suplemento para que os usuários possam aprender qual seu suplemento oferece, como ele funciona e assim por diante.

  11. Clique em Next.

  12. Sobre o Escolher opções de suplemento página, selecione gostaria que meu suplemento seja carregado quando o aplicativo host é iniciado.

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

  14. Sobre o escolhendo 'Ajuda sobre' Informações página, você pode especificar se as informações sobre o suplemento a ser exibido em um sobre caixa de diálogo. Se você deseja que as informações a serem exibidas, selecione o Sim, eu gostaria que meu suplemento oferecem 'Sobre' caixa de informações caixa de seleção.

    Informações que podem ser adicionadas para o Visual Studio sobre caixa de diálogo inclui o número de versão, os detalhes de suporte, dados de licenciamento e assim por diante.

  15. Clique em Next.

  16. As opções que você selecionou são exibidas na Resumo página para que você revise. Se você estiver satisfeito, clique em Concluir para criar o suplemento. Se você quiser alterar algo, clique na novamente botão.

    A nova solução e projeto são criadas e o arquivo de Connect. cs para o novo suplemento é exibido no Editor de código.

    Você irá adicionar código ao arquivo Connect. cs, após o procedimento a seguir, que cria um controle de usuário que será referenciado por este projeto WebPerfTestResultsViewerAddin.

Depois de um suplemento é criado, você deve registrá-lo com Visual Studio antes que ele poderá ser ativado em Gerenciador de suplementos. Você pode fazer isso usando um arquivo XML que tem uma extensão de nome de arquivo. addin.

O arquivo. addin descreve as informações que Visual Studio requer para exibir o suplemento no Gerenciador de suplementos. Quando Visual Studio é iniciado, ele procura no local do arquivo. addin para quaisquer arquivos AddIn disponíveis. Se encontrar algum, ele lê o arquivo XML e oferece Gerenciador de suplementos as informações que ele necessita para iniciar o add-in quando é clicado.

O arquivo. addin é criado automaticamente quando você cria um add-in usando o Assistente de suplemento.

Para obter mais informações, consulte Adicionar-.

Locais de arquivo de suplemento

Duas cópias do arquivo. addin são criadas automaticamente pelo assistente Add-In, da seguinte maneira:

.Local do arquivo de suplemento

.Local do arquivo dll

Descrição

Pasta raiz do projeto

\Documentos\Visual Studio 2010\Projects\MyAddin1\MyAddin1\

Caminho local (MyAddin1.dll)

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

Pasta do suplemento

\Documentos\Visual Studio 2010\Addins\

- ou -

Compartilhado local documentos\Addins\

Pasta de depuração do projeto

(Por exemplo, \ Documentos\Visual Studio 2010

Projects\MyAddin1\MyAddin1\bin\)

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

Criar um projeto de biblioteca de controle do Windows Form

O Visual Studio suplemento criado no procedimento anterior faz referência a um projeto de biblioteca de controle do Windows Forms para criar uma instância de um UserControl classe.

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

Para criar um controle a ser usado no Visualizador de resultados de teste da Web

  1. No Solution Explorer, clique com o botão direito a solução, clique em Add e selecione Novo projeto.

    A caixa de diálgo New Project é exibida.

  2. Em Modelos instalados, expanda o Visual Basic ou Visual C# e selecione Windows.

    ObservaçãoObservação

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

  3. Na lista de modelos, selecione Windows Forms Control Library.

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

  5. Clique em OK.

    O projeto de biblioteca de controle do Windows forms que webperftestresultsviewercontrol é adicionado no Solution Explorer e UserControl1. cs é exibido no modo de design.

  6. No Toolbox, arraste um DataGridView para a superfície de userControl1.

  7. Clique no glifo de marca de ação (Glifo de marca inteligente) no canto superior direito da DataGridView e execute as seguintes etapas:

    1. Clique em Encaixar no contêiner pai.

    2. Desmarque as caixas de seleção para Permitem adicionar, Enable Editing, Enable Deleting e Permitem a reordenação de coluna.

    3. Clique em Adicionar coluna.

      O Adicionar coluna caixa de diálogo é exibida.

    4. No tipo de lista suspensa, selecione DataGridViewTextBoxColumn.

    5. Limpar o texto "Coluna1" em o texto de cabeçalho.

    6. Clique em Adicionar.

    7. Clique em Close.

  8. Na janela Properties, altere o (nome) propriedade da DataGridView para resultControlDataGridView.

  9. Clique com o botão direito no design de superfície e selecione Exibir código.

    O arquivo UserControl1. cs é exibido no Editor de código.

  10. Clique com o botão direito do namespace WebPerfTestResultsViewControl, selecione Refactor e selecione Renomear.

    O Raname caixa de diálogo é exibida.

  11. No nome do novo caixa de texto, digite WebPerfTestResultsViewerControl para corresponder ao namespace inserido para o projeto de suplemento Visual Studio anteriormente.

  12. Alterar o nome do instanciado UserControl classe a partir de UserContro1 para resultControl:

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

    No próximo procedimento, você irá adicionar código ao arquivo de Connect. cs do projeto WebPerfTestResultsViewerAddin que fará referência a classe resultControl.

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

Adicione código para o WebPerfTestResultsViewerAddin

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

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

  2. Na caixa de diálogo Add Reference, clique na guia .NET .

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

  4. Clique em OK.

  5. Com o botão direito do referências nó novamente e selecione Adicionar referência de.

  6. No Add Reference caixa de diálogo, clique no Procurar guia.

  7. Clique na lista suspensa para Examinar e navegue até %ProgramFiles%\Microsoft 10.0\Common7\IDE\PrivateAssemblies de Visual Studio e selecione o arquivo Microsoft.VisualStudio.QualityTools.LoadTestPackage.dll.

  8. Clique em OK.

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

  10. Na caixa de diálogo Add Reference, clique na guia .NET .

  11. Em Nome do projeto, selecione o WebPerfTestResultsViewerControl de projeto e clique em OK.

  12. Se o arquivo Connect. cs não ainda estiver aberto, no Solution Explorer, clique com o botão direito do Connect. cs o projeto de WebPerfTestResultsViewerAddin de arquivo e selecione Exibir código.

  13. No arquivo Connect. cs, adicione as seguintes instruções Using:

    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 até o final do arquivo Connect. cs. Você precisa adicionar uma lista de GUIDs para o UserControl no caso mais de uma instância do Visualizador de resultados de teste de desempenho da Web é aberta. Você irá adicionar código posterior que usa essa lista.

    Uma segunda lista de seqüência de caracteres é usada no método OnDiscconection que você será código mais tarde.

            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 Connect. cs instancia uma classe chamada conectar da IDTExtensibility2 de classe e também inclui alguns métodos para implementar a Visual Studio add-in. Um dos métodos é o método OnConnection, que recebe a notificação de que o suplemento está sendo carregado. O método OnConnection, você usará a classe LoadTestPackageExt para criar seu pacote de extensibilidade para o Visualizador de resultados de teste de desempenho da Web. Adicione o seguinte código para o método 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 connect para criar o método WebTestResultViewerExt_WindowCreated para o manipulador de eventos loadTestPackageExt.WebTestResultViewerExt.WindowCreated adicionado no método OnConnection e para o método WindowCreated que a chama o método 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 para criar o método WebTestResultViewer_SelectedChanged para o manipulador de eventos loadTestPackageExt.WebTestResultViewerExt.SelectionChanged adicionado no método OnConnection conectar:

            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 para criar o método WebTesResultViewer_WindowClosed para o manipulador de eventos para o loadTestPackageExt.WebTestResultViewerExt.WindowClosed que você adicionou no método OnConnection conectar:

            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 preenchido para o suplemento de Visual Studio, você precisa adicionar o método Update para o resultControl na no projeto WebPerfTestResultsViewerControl.

Adicione código para o 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 no nó do projeto WebPerfTestResultsViewerControl e selecione Propriedades.

  2. Selecione o aplicativo guia e clique o estrutura de destino na lista suspensa e selecione .NET Framework 4 e feche as propriedades.

    Isso é necessário para suportar as referências de dll são necessários para estender o Visualizador de resultados de teste de desempenho da Web.

  3. No Solution Explorer, no projeto WebPerfTestResultsViewerControl, direito a referências nó e selecione Adicionar referência de.

  4. Na caixa de diálogo Add Reference, clique na guia .NET .

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

  6. Clique em OK.

  7. No arquivo UserControl1. cs, adicione as seguintes instruções Using:

    using Microsoft.VisualStudio.TestTools.WebTesting;
    using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
    
  8. Adicione o método de atualização que é chamado e passado de um WebTestRequestResult do método WebTestResultViewer_SelectedChanged de WebPerfTestResultsViewerAddin no arquivo Connect. cs. O método de atualização preenche a DataGridView com várias propriedades passadas a ele o 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());
                }
            }
    

Criar a solução de WebPerfTestResultsViewerAddin

Para criar a solução

  • Sobre o Build menu, selecione Build Solution.

Registrar o suplemento de WebPerfTestResultsViewerAddin

Para registrar o suplemento usando o Gerenciador de suplementos

  1. Sobre o Ferramentas menu, selecione Gerenciador de suplementos.

  2. O Gerenciador de suplementos caixa de diálogo é exibida.

  3. Marque a caixa de seleção para o suplemento de WebPerfTestResultsViewerAddin no suplementos disponíveis coluna e desmarque as caixas de seleção sob o inicialização e a linha de comando colunas.

  4. Clique em OK.

    Para obter mais informações, consulte Como: controle de Adicionar-</c0>.

Executar o teste de desempenho de Web usando a compilação, o suplemento de WebPerfTestResultsViewerAddin

Para executar o novo VS suplemento para o Visualizador de resultados de teste da Web

  1. Executar o teste de desempenho de Web e você verá nova guia a WebPerfTestResultsViewerAddin suplemento intitulada exibida no Visualizador de resultados de teste da Web desempenho de amostra.

  2. Clique na guia para ver as propriedades apresentadas no DataGridView.

Segurança

Para melhorar a segurança, impedindo que o add-ins mal-intencionado ativando automaticamente, Visual Studio fornece configurações em um Opções de ferramentas página chamada Macros/adicionar segurança.

Além disso, esta página de opções permite especificar as pastas em que Visual Studio procura.Arquivos de registro addIn. Isso melhora a segurança permitindo que você limite os locais onde.Arquivos de registro do suplemento podem ser lido. Isso ajuda a evitar mal-intencionado.Arquivos de suplemento, inadvertidamente, sejam usados.

Configurações de segurança de suplemento

As configurações do Adicionar-no/macros de segurança, Ambiente, Opções Caixa de Diálogo que se relacionam com add-in security são da seguinte maneira:

  • Permitir que os componentes de suplemento para carregar. Selecionada por padrão. Quando selecionada, o add-ins têm permissão para carregar na Visual Studio. Quando não selecionada, o add-ins estão proibidos de carregar o arquivo Visual Studio.

  • Permitir que os componentes de suplemento carregar a partir de um URL. Não é selecionada por padrão. Quando selecionada, os suplementos são permitidos para ser carregado a partir de sites externos. Quando não selecionada, o add-ins remotos estão proibidos de carregar o arquivo Visual Studio. Se um suplemento não pode carregar por algum motivo, não pode ser carregado na Web. Essa configuração controla apenas a carregar a DLL do suplemento. A.Arquivos de registro do suplemento sempre devem estar localizados no sistema local.

  • Para obter mais informações, consulte Adicionar-.

Consulte também

Tarefas

Como: controle de Adicionar-</c0>

Passo a passo: Depuração um Adicionar-

Referência

UserControl

Microsoft.VisualStudio.TestTools.LoadTesting

Microsoft.VisualStudio.TestTools.WebTesting

Microsoft.VisualStudio.TestTools.WebTesting.Rules

UserControl

DataGrid

Conceitos

Adicionar-

Gráfico do modelo de objetos de automação

Eventos em controles Windows Forms

Outros recursos

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

Propriedades de controles do Windows Forms

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