Partilhar via


Como: criar um teste de carga plug-in

Você pode criar um plug-in de teste de carregamento para executar código em momentos diferentes quando o teste de carregamento executar.Você cria um plug-in para expandir em cima ou alterar a funcionalidade interna de teste de carregamento.Por exemplo, você pode codificar um plug-in de teste de carregamento para definir ou alterar o padrão de teste de carga quando o teste de carregamento executar.Para fazer isso, você deve criar uma classe que herda a interface de ILoadTestPlugin .Essa classe deve implementar o método de Initialize de esta interface.Para mais informações, consulte ILoadTestPlugin.

ObservaçãoObservação

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

Requisitos

  • Visual Studio Ultimate

Para criar um plug-in de teste de carregamento usando o visual C#

  1. Abrir um projeto da Web e de teste de carga que contém um teste de desempenho da Web.

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

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

    Para mais informações, consulte A criação de testes de carga usando o novo Assistente de teste de carga.

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

    a caixa de diálogo de Adicionar novo projeto é exibida.

  4. Em modelos instalados, **Visual C#**selecione.

  5. Em a lista de modelos, Biblioteca de Classesselecione.

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

  7. Escolha OK.

  8. O novo projeto de biblioteca de classes é adicionado solution Explorer e a nova classe aparece no editor de códigos.

  9. Em o solution Explorer, clique com o botão direito do mouse na pasta de Referências na nova biblioteca de classes e selecione Adicionar Referência.

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

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

  12. Escolha OK.

    A referência a Microsoft.VisualStudio.QualityTools.LoadTestFramework é adicionada à pasta de Referência no solution Explorer.

  13. Em o solution Explorer, clique com o botão direito do mouse no nó superior do projeto da Web e de teste de carga que contém o teste de carregamento a qual você deseja adicionar o plug-in de teste de carregamento e selecione Adicionar Referência.

  14. Adicione a caixa de diálogo de referência é exibido.

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

  16. Escolha OK.

  17. Em o editor de códigos, adicione uma instrução de using para o namespace de Microsoft.VisualStudio.TestTools.LoadTesting .

  18. Implementar a interface de ILoadTestPlugin para a classe que foi criado no projeto de biblioteca de classes.Consulte a seção a seguir de exemplo para uma implementação de exemplo.

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

  20. Clique com o botão direito do mouse no nó superior do teste de carregamento e escolha Adicione o plug-in de teste de carregamento.

    a caixa de diálogo de Adicione o plug-in de teste de carregamento é exibida.

  21. Em Selecione um plug-in, selecione sua classe plug-in de teste de carregamento.

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

    ObservaçãoObservação

    Você pode expor tantas propriedades porque você deseja dos plug-ins; faça-lhes apenas o público, configurável, e um tipo base como o inteiro, boolean, ou cadeia de caracteres.Você também pode modificar as propriedades de encaixe de teste de desempenho da Web posteriormente usando a janela propriedades.

  23. Escolha OK.

    O plug-in é adicionado para a pasta de Plug-ins de teste de carregamento .

    Observação de cuidadoCuidado

    Você pode obter um erro semelhante ao seguinte quando você executa um teste de desempenho da Web ou o teste de carga que usam 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 é causado se você fizer alterações de código para alguns dos plug-ins e cria uma nova versão (Version=0.0.0.0)de DLL, mas o plug-in ainda está fazendo referência a versão do plug-in original.Para corrigir esse problema, siga estas etapas:

    1. Em o projeto da Web e de teste de carga, você verá um aviso em referências.Remova e re-adicionar referência ao DLL da plataforma.

    2. Remova o plug-in do seu teste ou local apropriado e adicioná-lo novamente em.

Exemplo

O código a seguir mostra um plug-in de teste de carga que executa o código personalizado após um evento de LoadTestFinished ocorre.Se esse código é executado em um agente de teste em um computador remoto e o agente de teste não tem um serviço SMTP host local, o teste de carregamento permanecerá no estado “em andamento” porque uma caixa de mensagem será aberta.

ObservaçãoObservação

O seguinte código requer 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 com um teste de carga que pode ser tratado no plug-in de teste de carregamento para executar o código personalizado com o teste de carregamento.Segue uma lista de eventos que fornecem acesso para pontos diferentes de ensaio de carregamento:

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 da Web