Partilhar via


Como criar um plug-in de teste de carga

 

Publicado: abril de 2016

Você pode criar um plug-in de teste de carga para executar o código em momentos diferentes com o teste de carga em execução. Você cria um plug-in para expandir ou modificar a funcionalidade interna do teste de carga. Por exemplo, você pode codificar um plug-in de teste de carga para modificar o padrão do teste de carga com o teste de carga em execução. Para fazer isso, você deve criar uma classe que herde a interface ILoadTestPlugin. Essa classe deve implementar o método Initialize dessa interface. Para obter mais informações, consulte ILoadTestPlugin.

Dica

Você também pode criar plug-ins para testes de desempenho na Web.Para obter mais informações, consulte Como criar um plug-in de teste de desempenho na Web

Requisitos

  • O Visual Studio Enterprise

Para criar um plug-in de teste de carga usando o Visual C#

  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, consulte How to: Create and Configure Test Projects for Automated Tests.

  2. Adicione um teste de carga ao projeto de teste e configurá-lo para executar um teste de desempenho na Web.

    Para obter mais informações, consulte [obsoleto] Criando testes de carga.

  3. 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.

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

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

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

  7. Escolha OK.

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

  9. 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.

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

  11. Escolha a guia .NET, role para baixo e selecione Microsoft.VisualStudio.QualityTools.LoadTestFramework.

  12. Escolha OK.

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

  13. 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 carga e selecione Adicionar Referência.

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

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

  16. Escolha OK.

  17. No Editor de Códigos, adicione uma instrução using para o namespace Microsoft.VisualStudio.TestTools.LoadTesting.

  18. Implemente a interface ILoadTestPlugin da classe que foi criada no projeto da biblioteca de classes. Consulte a seção Exemplo a seguir para obter uma implementação de exemplo.

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

  20. Clique com o botão direito do mouse no nó superior do teste de carga e escolha Adicionar Plug-in de Teste de Carga.

    A caixa de diálogo Adicionar Plug-in de Teste de Carga é exibida.

  21. Em Selecionar um plug-in, selecione a classe de plug-in do teste de carga.

  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 de carga.

    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 mostra um plug-in de teste de carga que executa um código personalizado depois que ocorre um evento LoadTestFinished. Se esse código for executado em um agente de teste em um computador remoto e o agente de teste não tiver um serviço SMTP localhost, o teste de carga permanecerá no estado "Em andamento" porque uma caixa de mensagem será aberta.

Dica

O código a seguir exige que você adicione uma referência a System.Windows.Forms.

using System;
using Microsoft.VisualStudio.TestTools.LoadTesting;
using System.Net.Mail;
using System.Windows.Forms;

namespace LoadTestPluginTest
{
    public class MyLoadTestPlugin : ILoadTestPlugin
    {
        LoadTest myLoadTest;

        public void Initialize(LoadTest loadTest)
        {
            myLoadTest = loadTest;
            myLoadTest.LoadTestFinished += new
                EventHandler(myLoadTest_LoadTestFinished);
        }

        void myLoadTest_LoadTestFinished(object sender, EventArgs e)
        {
            try
            {
                // place custom code here
                MailAddress MyAddress = new MailAddress("someone@example.com");
                MailMessage MyMail = new MailMessage(MyAddress, MyAddress);
                MyMail.Subject = "Load Test Finished -- Admin Email";
                MyMail.Body = myLoadTest..Name + " has finished.";

                SmtpClient MySmtpClient = new SmtpClient("localhost");
                MySmtpClient.Send(MyMail);
            }

            catch (SmtpException ex)
            {
                MessageBox.Show(ex.InnerException.Message +
                    ".\r\nMake sure you have a valid SMTP.", "LoadTestPlugin", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
            }
        }
    }
} 

Oito eventos são associados a um teste de carga que pode ser identificado no plug-in de teste de carga para executar um código personalizado com o teste de carga. Esta é uma lista dos eventos que dão acesso a períodos diferentes da execução do teste de carga:

Consulte também

ILoadTestPlugin
Criar código personalizado e plug-ins para testes de carga
Como criar um plug-in de teste de desempenho na Web