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çã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#
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.
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.
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.
Em modelos instalados, **Visual C#**selecione.
Em a lista de modelos, Biblioteca de Classesselecione.
Em a caixa de texto de Nome , digite um nome para a classe.
Escolha OK.
O novo projeto de biblioteca de classes é adicionado solution Explorer e a nova classe aparece no editor de códigos.
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.
A caixa de diálogo Add Reference é exibida.
Escolha a guia de .NET , role para baixo, selecione Microsoft.VisualStudio.QualityTools.LoadTestFramework.
Escolha OK.
A referência a Microsoft.VisualStudio.QualityTools.LoadTestFramework é adicionada à pasta de Referência no solution Explorer.
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.
Adicione a caixa de diálogo de referência é exibido.
Escolha a guia de Projetos e selecione o projeto de biblioteca de classes.
Escolha OK.
Em o editor de códigos, adicione uma instrução de using para o namespace de Microsoft.VisualStudio.TestTools.LoadTesting .
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.
Depois que você escreveu o código, crie o novo projeto.
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.
Em Selecione um plug-in, selecione sua classe plug-in de teste de carregamento.
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çã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.
Escolha OK.
O plug-in é adicionado para a pasta de Plug-ins de teste de carregamento .
Cuidado 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:
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.
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çã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
Outros recursos
Criar e usar o Custom Plug-ins para carga e testes de desempenho da Web