Partilhar via


Como criar um plug-in de teste de desempenho na Web

 

Publicado: abril de 2016

Plug-ins de teste de desempenho na Web permitem isolar e reutilizar o código fora das instruções declarativas principais no teste de desempenho na Web. Um plug-in de teste de desempenho na Web personalizado oferece uma maneira de chamar um código quando o teste de desempenho na Web é executado. O plug-in de teste de desempenho na Web é executado uma vez para cada iteração de teste. Além disso, se você substituir os métodos PreRequest ou PostRequest no plug-in de teste, esses plug-ins de solicitação serão executados antes ou depois de cada solicitação, respectivamente.

Você pode criar plug-in um teste de desempenho na Web personalizado derivando sua própria classe a partir de WebTestPlugin classe base.

Você pode usar plug-ins de teste de desempenho na Web personalizados com os testes de desempenho na Web que você gravou, o que permite escrever uma quantidade mínima de código para obter um nível de maior controle sobre os testes de desempenho na Web. No entanto, também é possível usá-los com testes de desempenho na Web codificados. Para obter mais informações, consulte [obsoleto] Como criar um teste de desempenho na Web codificado.

Dica

Você também pode criar plug-ins de teste de carga.Consulte Como criar um plug-in de teste de carga.

Requisitos

  • O Visual Studio Enterprise

Para criar um plug-in de teste de desempenho na Web personalizado

  1. Abra um projeto de teste de carga que contém um teste de desempenho na Web e de desempenho na Web.

    Para obter mais informações sobre como criar um desempenho na Web e carregar o projeto de teste, consulte How to: Create and Configure Test Projects for Automated Tests.

  2. No Gerenciador de Soluções, clique com o botão direito do mouse na solução, selecione Adicionar e escolha Novo Projeto.

    A caixa de diálogo Adicionar Novo Projeto é exibida.

  3. Em Modelos Instalados, clique em Visual C#.

  4. Na lista de modelos de projeto, selecione Biblioteca de Classes.

  5. Na caixa de texto Nome, digite um nome para a classe.

  6. Escolha OK.

  7. O novo projeto da biblioteca de classes é adicionado ao Gerenciador de Soluções e a nova classe é exibida no Editor de Códigos.

  8. No Gerenciador de Soluções, clique com o botão direito na pasta Referências da nova biblioteca de classes e selecione Adicionar Referência.

  9. A caixa de diálogo Adicionar Referência é exibida.

  10. Escolha a guia .NET, role para baixo e selecione Microsoft.VisualStudio.QualityTools.WebTestFramework

  11. Escolha OK.

    A referência para Microsoft.VisualStudio.QualityTools.WebTestFramework é adicionada à pasta Referência do Gerenciador de Soluções.

  12. No Gerenciador de Soluções, clique com o botão direito do mouse no nó superior do projeto de teste de carga e desempenho na Web que contém o teste de carga a que você deseja adicionar o plug-in de teste de desempenho na Web e selecione Adicionar Referência.

  13. A caixa de diálogo Adicionar Referência é exibida.

  14. Escolha a guia Projetos e selecione o projeto da biblioteca de classes.

  15. Escolha OK.

  16. No Editor de Códigos, escreva o código de seu plug-in. Primeiro, crie uma nova classe pública que derive de WebTestPlugin.

  17. Implemente o código dentro de um ou mais manipuladores de eventos. Consulte a seção Exemplo a seguir para obter uma implementação de exemplo.

  18. Depois de gravar o código, compile o novo projeto.

  19. Abra um teste de desempenho na Web.

  20. Para adicionar o plug-in de teste de desempenho na Web, escolha Adicionar Web Test Plug-in na barra de ferramentas.

    A caixa de diálogo Adicionar plug-in de teste na Web é exibida.

  21. Em Selecionar um plug-in, selecione a classe de plug-in do teste de desempenho na Web.

  22. No Propriedades de plug-in selecionado painel, defina os valores iniciais para o plug-in usar em tempo de execução.

    Dica

    Você pode expor quantas propriedades quiser de seus plug-ins; apenas torne-os públicos, definíveis e de um tipo de base como Inteiro, Booliano ou Cadeia de Caracteres.Você também pode alterar as propriedades de plug-in de teste de desempenho na Web mais tarde usando a janela Propriedades.

  23. Escolha OK.

    O plug-in é adicionado à pasta Plug-ins de teste na Web.

    Aviso

    Você pode obter um erro semelhante ao seguinte quando você executa um teste de desempenho da Web ou o teste de carregamento que usa o seu plug-in:

    Request failed: Exception in <plug-in> event: Could not load file or assembly '<"Plug-in name".dll file>, Version=<n.n.n.n>, Culture=neutral, PublicKeyToken=null' or one of its dependencies.The system cannot find the file specified.

    Isso será causado se você fizer alterações de código em qualquer um de seus plug-ins e criar uma nova versão de DLL (Version=0.0.0.0), mas o plug-in ainda estiver fazendo referência à versão do plug-in original.Para corrigir esse problema, siga estas etapas:

    1. Em seu projeto de desempenho na Web e de teste de carga, você verá um aviso em referências.Remova e adicione novamente a referência à DLL do plug-in.

    2. Remova o plug-in do seu teste ou do local apropriado e adicione-o de volta.

Exemplo

O código a seguir cria um plug-in de teste de desempenho na Web personalizado que adiciona um item a WebTestContext que representa a iteração de teste.

Após a execução do teste de desempenho na Web, usando esse plug-in você pode ver o item adicionado que se chama TestIteratnionNumber na guia Contexto no Visualizador de Resultados de Teste de Desempenho na Web.

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using Microsoft.VisualStudio.TestTools.WebTesting;

namespace SampleRules
{
    [Description("This plugin can be used to set the ParseDependentsRequests property for each request")]
    public class SampleWebTestPlugin : WebTestPlugin
    {
        private bool m_parseDependents = true;

        public override void PreWebTest(object sender, PreWebTestEventArgs e)
        {
            // TODO: Add code to execute before the test.
        }

        public override void PostWebTest(object sender, PostWebTestEventArgs e)
        {
            // TODO: Add code to execute after the test.
        }

        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            // Code to execute before each request.
            // Set the ParseDependentsRequests value on the request
            e.Request.ParseDependentRequests = m_parseDependents;
        }

        // Properties for the plugin.
        [DefaultValue(true)]
        [Description("All requests will have their ParseDependentsRequests property set to this value")]
        public bool ParseDependents
        {
            get
            {
                return m_parseDependents;
            }
            set
            {
                m_parseDependents = value;
            }
        }
    }
}

Consulte também

WebTestRequestPlugin
Criar código personalizado e plug-ins para testes de carga
Como criar um plug-in de nível de solicitação
Codificando uma regra de extração personalizada para um teste de desempenho para Web
Codificando uma regra de validação personalizada para um teste de desempenho para Web
Como criar um plug-in de teste de carga
[obsoleto] Como criar um teste de desempenho na Web codificado
como: editar um teste de desempenho na Web existente