Compartilhar via


Como: Create a Load Test Plug-in

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 criar um teste de carga de plug-in para executar código em momentos diferentes durante a execução do teste de carga. Você pode criar um plug-in para expandir ou modificar interna na funcionalidade de teste de carga. Por exemplo, você pode codificar um plug-in para definir ou modificar o padrão de teste de carga durante a execução do teste de carga de teste de carga. Para fazer isso, você deve criar uma classe que herda de ILoadTestPlugin interface. Essa classe deve implementar a Initialize o método de interface. Para obter mais informações, consulte ILoadTestPlugin.

ObservaçãoObservação

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

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

  1. Abra um projeto de teste que contém um teste de desempenho da Web.

    Para obter mais informações, consulte Como: Criar e configurar projetos de teste para testes automatizados.

  2. Adicionar um teste de carga para o projeto de teste e configurá-lo para executar um teste de desempenho de Web.

    Para obter mais informações, consulte Como: Criar um novo teste de carga usando o novo Assistente de teste de carga.

  3. No Solution Explorer, clique na solução e selecione Add e, em seguida, clique em Novo projeto.

    A caixa de diálogo Add New Project é exibida.

  4. Em Modelos instalados, selecione Visual C#.

  5. Na lista de modelos, selecione Biblioteca de classe.

  6. No nome caixa de texto, digite um nome para sua classe.

  7. Clique em OK.

  8. O novo projeto de biblioteca de classe é adicionado ao Solution Explorer e a nova classe aparece no Editor de código.

  9. No Solution Explorer, clique com o botão direito do referências a pasta em que a nova biblioteca de classe e selecione Add Reference.

  10. A caixa de diálogo Add Reference é exibida.

  11. Clique na .NET guia, role para baixo e selecione Microsoft.VisualStudio.QualityTools.LoadTestFramework.

  12. Clique em OK.

    A referência a Microsoft.VisualStudio.QualityTools.LoadTestFramework é adicionado para o referência pasta no Solution Explorer.

  13. No Solution Explorer, clique no nó superior do projeto de teste que contém o teste de carga ao qual deseja adicionar o plug-in e selecione o teste de carga Adicionar referência de.

  14. O é exibida a caixa de diálogo Add Reference.

  15. Clique o projetos e selecione o projeto de biblioteca de classe.

  16. Clique em OK.

  17. No Editor de código, adicione um using a instrução para o Microsoft.VisualStudio.TestTools.LoadTesting namespace.

  18. Implementar a ILoadTestPlugin interface para a classe que foi criada no projeto Class Library. Consulte a seção Exemplo a seguir para um exemplo da implementação.

  19. Depois que você tenha escrito o código, crie o novo projeto.

  20. Clique com o botão direito no nó superior do teste de carga e clique em Adicionar carregar Test Plug-in.

    O Adicionar Load Test Plug-in caixa de diálogo é exibida.

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

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

    ObservaçãoObservação

    Você pode expor propriedades desejados do seus plug-ins; apenas torná-los públicos, definíveis e de um tipo base como, por exemplo, Integer, String ou booleanos. Você também pode alterar as propriedades de plug-in do teste de desempenho de Web mais tarde, usando a janela de propriedades.

  23. Clique em OK.

    O plug-in é adicionado para o Plug-ins de teste de carga pasta.

    Aviso

    Você pode receber um erro semelhante à seguinte quando você executa um teste de desempenho da Web ou um teste de carga que usa 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 é causado se você fizer alterações no código de seus plug-ins e cria uma nova versão da dll (Version=0.0.0.0), mas o plug-in ainda faz referência a versão original plug-in. Para corrigir esse problema, siga estas etapas:

    1. Seu projeto de teste, você verá um aviso de referências. Remover e adicionar novamente a referência à sua dll de plug-in.

    2. Remover o plug-in de seu teste ou o local apropriado e, em seguida, adicione-o novamente.

Exemplo

O código a seguir mostra um plug-in de teste de carga que executa o código personalizado depois de ocorrer um evento LoadTestFinished. Se esse código é executado em um agente de teste em uma máquina remota e o agente de teste não tem um serviço SMTP no localhost, o teste de carga permanecerá no "em andamento" estado como uma caixa de mensagem será aberto.

ObservaçãoObservação

O código a seguir requer que você adicione uma referência para 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 estão associados um teste de carga que pode ser tratado no plug-in para executar o código personalizado com o teste de carga de teste de carga. A seguir está uma lista dos eventos que fornecem acesso a diferentes períodos de execução de teste de carga:

Consulte também

Tarefas

Como: Criar um teste de desempenho de Web plug-in

Referência

ILoadTestPlugin

Outros recursos

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