Como: Criar um suplemento de Visual Studio para o Visualizador de resultados de teste de desempenho da Web
Este tópico se aplica a:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual StudioExpress |
---|---|---|---|
Você pode estender a interface do usuário para o Visualizador de resultados de teste de desempenho da Web usando os namespaces a seguir:
Além disso, você precisará adicionar uma referência a LoadTestPackage.dll que está localizado na pasta %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies.
- Para estender o interface de usuário da desempenho visualizador teste da Web os resultados, você deve criar um Visual Studio suplemento e um controle de usuário. Os procedimentos a seguir explicam como criar o suplemento, o controle de usuário e como implementar as classes necessárias para estender o interface de usuário da desempenho visualizador teste da Web os resultados.
Crie ou abra uma solução que contém um aplicativo ASP.NET e um projeto de teste
Para se preparar para estender o Visualizador de resultados de teste de desempenho da Web
Crie ou abra uma solução que não seja de produção que você pode fazer experiências com o qual contém um aplicativo ASP.NET e um projeto de teste com um ou mais testes de desempenho de Web para o ASP.Aplicativo da Web do NET.
Observação Você pode criar um aplicativo ASP.Testes de projeto de aplicativo e teste NET da Web que contém o desempenho da Web seguindo os procedimentos Demonstra Passo a passo: Criar um aplicativo Web simples e Demonstra Passo a passo: Gravação e execução de um teste de desempenho da Web.
Criar um suplemento de Visual Studio
Um add-in é uma DLL compilada que é executado o Visual Studio o ambiente de desenvolvimento integrado (IDE). Compilação ajuda a proteger sua propriedade intelectual e melhora o desempenho. Embora você possa criar suplementos manualmente, talvez seja mais fácil de usar o Assistente de suplemento. Este assistente cria um funcional mas básico suplemento que você pode executar imediatamente após a criação. Depois que o suplemento Assistente gera o programa básico, você pode adicionar código para ele e personalizá-lo.
O assistente Add-In permite que você forneça um nome para exibição e uma descrição para seu suplemento. Ambos serão exibidos na Gerenciador de suplementos. Opcionalmente, você pode ter o código de gerar assistente adiciona o Ferramentas um comando para abrir o suplemento de menu. Você também pode optar por exibir um personalizado sobre caixa de diálogo para seu suplemento. Quando o assistente for concluído, você tem um novo projeto que tenha apenas uma classe que implementa o add-in. O nome da classe será conectar.
Você usará o Gerenciador de suplementos no final deste tópico.
Para obter mais informações, consulte Criando Adicionar-.
Para criar um suplemento usando o Assistente de suplemento
No Solution Explorer, clique com o botão direito a solução, clique em Add e selecione Novo projeto.
A caixa de diálgo New Project é exibida.
Em Modelos instalados, expanda Other Project Types e selecione extensibilidade.
Na lista de modelos, selecione - in Visual Studio.
Em nome, digite um nome para o suplemento. Por exemplo, WebPerfTestResultsViewerAddin.
Clique em OK.
O Assistente de suplemento Visual Studio inicia.
Clique em Next.
Sobre o Select a Programming Language , selecione a linguagem de programação que você deseja usar para escrever o suplemento.
Observação Este tópico usa C# Visual para o código de exemplo.
Sobre o Selecionar um Host de aplicativo , selecione Microsoft Visual Studio 2010 e desmarque Microsoft Visual Studio 2010 Macros.
Clique em Next.
Digite um nome e uma descrição para seu suplemento de Digite um nome e descrição página.
Depois que o add-in é criado, o seu nome e descrição são exibidos na Suplementos disponíveis Listar no Gerenciador de suplementos. Adicione detalhes suficientes para a descrição do seu suplemento para que os usuários possam aprender qual seu suplemento oferece, como ele funciona e assim por diante.
Clique em Next.
Sobre o Escolher opções de suplemento página, selecione gostaria que meu suplemento seja carregado quando o aplicativo host é iniciado.
Desmarque as caixas de seleção restantes.
Sobre o escolhendo 'Ajuda sobre' Informações página, você pode especificar se as informações sobre o suplemento a ser exibido em um sobre caixa de diálogo. Se você deseja que as informações a serem exibidas, selecione o Sim, eu gostaria que meu suplemento oferecem 'Sobre' caixa de informações caixa de seleção.
Informações que podem ser adicionadas para o Visual Studio sobre caixa de diálogo inclui o número de versão, os detalhes de suporte, dados de licenciamento e assim por diante.
Clique em Next.
As opções que você selecionou são exibidas na Resumo página para que você revise. Se você estiver satisfeito, clique em Concluir para criar o suplemento. Se você quiser alterar algo, clique na novamente botão.
A nova solução e projeto são criadas e o arquivo de Connect. cs para o novo suplemento é exibido no Editor de código.
Você irá adicionar código ao arquivo Connect. cs, após o procedimento a seguir, que cria um controle de usuário que será referenciado por este projeto WebPerfTestResultsViewerAddin.
Depois de um suplemento é criado, você deve registrá-lo com Visual Studio antes que ele poderá ser ativado em Gerenciador de suplementos. Você pode fazer isso usando um arquivo XML que tem uma extensão de nome de arquivo. addin.
O arquivo. addin descreve as informações que Visual Studio requer para exibir o suplemento no Gerenciador de suplementos. Quando Visual Studio é iniciado, ele procura no local do arquivo. addin para quaisquer arquivos AddIn disponíveis. Se encontrar algum, ele lê o arquivo XML e oferece Gerenciador de suplementos as informações que ele necessita para iniciar o add-in quando é clicado.
O arquivo. addin é criado automaticamente quando você cria um add-in usando o Assistente de suplemento.
Para obter mais informações, consulte Adicionar-.
Locais de arquivo de suplemento
Duas cópias do arquivo. addin são criadas automaticamente pelo assistente Add-In, da seguinte maneira:
.Local do arquivo de suplemento |
.Local do arquivo dll |
Descrição |
---|---|---|
Pasta raiz do projeto \Documentos\Visual Studio 2010\Projects\MyAddin1\MyAddin1\ |
Caminho local (MyAddin1.dll) |
Usado para a implantação de projeto de suplemento. Incluído no projeto para facilitar a edição e tem o caminho local para a implantação do XCopy estilo. |
Pasta do suplemento \Documentos\Visual Studio 2010\Addins\ - ou - Compartilhado local documentos\Addins\ |
Pasta de depuração do projeto (Por exemplo, \ Documentos\Visual Studio 2010 Projects\MyAddin1\MyAddin1\bin\) |
Usada para executar o suplemento no ambiente de depuração. Sempre deve apontar para o caminho de saída da configuração de compilação atual. |
Criar um projeto de biblioteca de controle do Windows Form
O Visual Studio suplemento criado no procedimento anterior faz referência a um projeto de biblioteca de controle do Windows Forms para criar uma instância de um UserControl classe.
Para obter mais informações, consulte Controles de Windows Forms.
Para criar um controle a ser usado no Visualizador de resultados de teste da Web
No Solution Explorer, clique com o botão direito a solução, clique em Add e selecione Novo projeto.
A caixa de diálgo New Project é exibida.
Em Modelos instalados, expanda o Visual Basic ou Visual C# e selecione Windows.
Observação Este tópico usa C# Visual para o código de exemplo.
Na lista de modelos, selecione Windows Forms Control Library.
Em nome, digite um nome para o suplemento. Por exemplo, WebPerfTestResultsViewerControl.
Clique em OK.
O projeto de biblioteca de controle do Windows forms que webperftestresultsviewercontrol é adicionado no Solution Explorer e UserControl1. cs é exibido no modo de design.
No Toolbox, arraste um DataGridView para a superfície de userControl1.
Clique no glifo de marca de ação () no canto superior direito da DataGridView e execute as seguintes etapas:
Clique em Encaixar no contêiner pai.
Desmarque as caixas de seleção para Permitem adicionar, Enable Editing, Enable Deleting e Permitem a reordenação de coluna.
Clique em Adicionar coluna.
O Adicionar coluna caixa de diálogo é exibida.
No tipo de lista suspensa, selecione DataGridViewTextBoxColumn.
Limpar o texto "Coluna1" em o texto de cabeçalho.
Clique em Adicionar.
Clique em Close.
Na janela Properties, altere o (nome) propriedade da DataGridView para resultControlDataGridView.
Clique com o botão direito no design de superfície e selecione Exibir código.
O arquivo UserControl1. cs é exibido no Editor de código.
Clique com o botão direito do namespace WebPerfTestResultsViewControl, selecione Refactor e selecione Renomear.
O Raname caixa de diálogo é exibida.
No nome do novo caixa de texto, digite WebPerfTestResultsViewerControl para corresponder ao namespace inserido para o projeto de suplemento Visual Studio anteriormente.
Alterar o nome do instanciado UserControl classe a partir de UserContro1 para resultControl:
namespace WebPerfTestResultsViewerAddin { public partial class resultControl : UserControl { public resultControl() { InitializeComponent(); }
No próximo procedimento, você irá adicionar código ao arquivo de Connect. cs do projeto WebPerfTestResultsViewerAddin que fará referência a classe resultControl.
Você adicionará código adicional para o arquivo Connect. cs posteriormente.
Adicione código para o WebPerfTestResultsViewerAddin
Para adicionar o código para o suplemento Visual Studio para estender o Visualizador de resultados de teste da Web
No Solution Explorer, clique com o botão direito do referências o nó no projeto de WebPerfTestResultsViewerAddin e selecione Adicionar referência de.
Na caixa de diálogo Add Reference, clique na guia .NET .
Rolar para baixo e selecione Microsoft.VisualStudio.QualityTools.WebTestFramework e System.Windows.Forms.
Clique em OK.
Com o botão direito do referências nó novamente e selecione Adicionar referência de.
No Add Reference caixa de diálogo, clique no Procurar guia.
Clique na lista suspensa para Examinar e navegue até %ProgramFiles%\Microsoft 10.0\Common7\IDE\PrivateAssemblies de Visual Studio e selecione o arquivo Microsoft.VisualStudio.QualityTools.LoadTestPackage.dll.
Clique em OK.
Clique com o botão direito no nó do projeto WebPerfTestResultsViewerAddin e, em seguida, selecione Adicionar referência de.
Na caixa de diálogo Add Reference, clique na guia .NET .
Em Nome do projeto, selecione o WebPerfTestResultsViewerControl de projeto e clique em OK.
Se o arquivo Connect. cs não ainda estiver aberto, no Solution Explorer, clique com o botão direito do Connect. cs o projeto de WebPerfTestResultsViewerAddin de arquivo e selecione Exibir código.
No arquivo Connect. cs, adicione as seguintes instruções Using:
using System.IO; using System.Windows.Forms; using System.Collections.Generic; using Microsoft.VisualStudio.TestTools.LoadTesting; using Microsoft.VisualStudio.TestTools.WebTesting; using WebPerfTestResultsViewerControl;
Role até o final do arquivo Connect. cs. Você precisa adicionar uma lista de GUIDs para o UserControl no caso mais de uma instância do Visualizador de resultados de teste de desempenho da Web é aberta. Você irá adicionar código posterior que usa essa lista.
Uma segunda lista de seqüência de caracteres é usada no método OnDiscconection que você será código mais tarde.
private DTE2 _applicationObject; private AddIn _addInInstance; private Dictionary<Guid, List<UserControl>> m_controls = new Dictionary<Guid, List<UserControl>>(); private List<string> temporaryFilePaths = new List<string>();
O arquivo Connect. cs instancia uma classe chamada conectar da IDTExtensibility2 de classe e também inclui alguns métodos para implementar a Visual Studio add-in. Um dos métodos é o método OnConnection, que recebe a notificação de que o suplemento está sendo carregado. O método OnConnection, você usará a classe LoadTestPackageExt para criar seu pacote de extensibilidade para o Visualizador de resultados de teste de desempenho da Web. Adicione o seguinte código para o método OnConnection:
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) { _applicationObject = (DTE2)application; _addInInstance = (AddIn)addInInst; // Create a load test packge extensibility class. LoadTestPackageExt loadTestPackageExt = _applicationObject.GetObject("Microsoft.VisualStudio.TestTools.LoadTesting.LoadTestPackageExt") as LoadTestPackageExt; // Process open windows. foreach (WebTestResultViewer webTestResultViewer in loadTestPackageExt.WebTestResultViewerExt.ResultWindows) { WindowCreated(webTestResultViewer); } // Create event handlers. loadTestPackageExt.WebTestResultViewerExt.WindowCreated += new EventHandler<WebTestResultViewerExt.WindowCreatedEventArgs>(WebTestResultViewerExt_WindowCreated); loadTestPackageExt.WebTestResultViewerExt.WindowClosed += new EventHandler<WebTestResultViewerExt.WindowClosedEventArgs>(WebTesResultViewer_WindowClosed); loadTestPackageExt.WebTestResultViewerExt.SelectionChanged += new EventHandler<WebTestResultViewerExt.SelectionChangedEventArgs>(WebTestResultViewer_SelectedChanged); }
Adicione o seguinte código à classe connect para criar o método WebTestResultViewerExt_WindowCreated para o manipulador de eventos loadTestPackageExt.WebTestResultViewerExt.WindowCreated adicionado no método OnConnection e para o método WindowCreated que a chama o método WebTestResultViewerExt_WindowCreated.
void WebTestResultViewerExt_WindowCreated(object sender, WebTestResultViewerExt.WindowCreatedEventArgs e) { // New control added to new result viewer window. WindowCreated(e.WebTestResultViewer); } private void WindowCreated(WebTestResultViewer viewer) { // Instantiate an instance of the resultControl referenced in the WebPerfTestResultsViewerControl project. resultControl resultControl = new resultControl(); // Add to the dictionary of open playback windows. System.Diagnostics.Debug.Assert(!m_controls.ContainsKey(viewer.TestResultId)); List<UserControl> userControls = new List<UserControl>(); userControls.Add(resultControl); // Add Guid to the m_control List to manage Result viewers and controls. m_controls.Add(viewer.TestResultId, userControls); // Add tabs to the playback control. resultControl.Dock = DockStyle.Fill; viewer.AddResultPage(new Guid(), "Sample", resultControl); }
Adicione o seguinte código à classe para criar o método WebTestResultViewer_SelectedChanged para o manipulador de eventos loadTestPackageExt.WebTestResultViewerExt.SelectionChanged adicionado no método OnConnection conectar:
void WebTestResultViewer_SelectedChanged(object sender, WebTestResultViewerExt.SelectionChangedEventArgs e) { foreach (UserControl userControl in m_controls[e.TestResultId]) { // Update the userControl in each result viewer. resultControl resultControl = userControl as resultControl; if (resultControl != null) // Call the resultControl's Update method (This will be added in the next procedure). resultControl.Update(e.WebTestRequestResult); } }
Adicione o seguinte código à classe para criar o método WebTesResultViewer_WindowClosed para o manipulador de eventos para o loadTestPackageExt.WebTestResultViewerExt.WindowClosed que você adicionou no método OnConnection conectar:
void WebTesResultViewer_WindowClosed(object sender, WebTestResultViewerExt.WindowClosedEventArgs e) { if (m_controls.ContainsKey(e.WebTestResultViewer.TestResultId)) { m_controls.Remove(e.WebTestResultViewer.TestResultId); } }
Agora que o código foi preenchido para o suplemento de Visual Studio, você precisa adicionar o método Update para o resultControl na no projeto WebPerfTestResultsViewerControl.
Adicione código para o WebPerfTestResultsViewerControl
Para obter mais informações, consulte Noções básicas de desenvolvimento de controle de formulários do Windows.
Para adicionar código ao controle de usuário
No Solution Explorer, clique com o botão direito no nó do projeto WebPerfTestResultsViewerControl e selecione Propriedades.
Selecione o aplicativo guia e clique o estrutura de destino na lista suspensa e selecione .NET Framework 4 e feche as propriedades.
Isso é necessário para suportar as referências de dll são necessários para estender o Visualizador de resultados de teste de desempenho da Web.
No Solution Explorer, no projeto WebPerfTestResultsViewerControl, direito a referências nó e selecione Adicionar referência de.
Na caixa de diálogo Add Reference, clique na guia .NET .
Rolar para baixo e selecione Microsoft.VisualStudio.QualityTools.WebTestFramework.
Clique em OK.
No arquivo UserControl1. cs, adicione as seguintes instruções Using:
using Microsoft.VisualStudio.TestTools.WebTesting; using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
Adicione o método de atualização que é chamado e passado de um WebTestRequestResult do método WebTestResultViewer_SelectedChanged de WebPerfTestResultsViewerAddin no arquivo Connect. cs. O método de atualização preenche a DataGridView com várias propriedades passadas a ele o WebTestRequestResult.
public void Update(WebTestRequestResult WebTestResults) { // Clear the DataGridView when a request is selected. resultControlDataGridView.Rows.Clear(); // Populate the DataGridControl with properties from the WebTestResults. this.resultControlDataGridView.Rows.Add("Request: " + WebTestResults.Request.Url.ToString()); this.resultControlDataGridView.Rows.Add("Response: " + WebTestResults.Response.ResponseUri.ToString()); foreach (RuleResult ruleResult in WebTestResults.ExtractionRuleResults) { this.resultControlDataGridView.Rows.Add("Extraction rule results: " + ruleResult.Message.ToString()); } foreach (RuleResult ruleResult in WebTestResults.ValidationRuleResults) { this.resultControlDataGridView.Rows.Add("Validation rule results: " + ruleResult.Message.ToString()); } foreach (WebTestError webTestError in WebTestResults.Errors) { this.resultControlDataGridView.Rows.Add("Error: " + webTestError.ErrorType.ToString() + " " + webTestError.ErrorSubtype.ToString() + " " + webTestError.ExceptionText.ToString()); } }
Criar a solução de WebPerfTestResultsViewerAddin
Para criar a solução
- Sobre o Build menu, selecione Build Solution.
Registrar o suplemento de WebPerfTestResultsViewerAddin
Para registrar o suplemento usando o Gerenciador de suplementos
Sobre o Ferramentas menu, selecione Gerenciador de suplementos.
O Gerenciador de suplementos caixa de diálogo é exibida.
Marque a caixa de seleção para o suplemento de WebPerfTestResultsViewerAddin no suplementos disponíveis coluna e desmarque as caixas de seleção sob o inicialização e a linha de comando colunas.
Clique em OK.
Para obter mais informações, consulte Como: controle de Adicionar-</c0>.
Executar o teste de desempenho de Web usando a compilação, o suplemento de WebPerfTestResultsViewerAddin
Para executar o novo VS suplemento para o Visualizador de resultados de teste da Web
Executar o teste de desempenho de Web e você verá nova guia a WebPerfTestResultsViewerAddin suplemento intitulada exibida no Visualizador de resultados de teste da Web desempenho de amostra.
Clique na guia para ver as propriedades apresentadas no DataGridView.
Segurança
Para melhorar a segurança, impedindo que o add-ins mal-intencionado ativando automaticamente, Visual Studio fornece configurações em um Opções de ferramentas página chamada Macros/adicionar segurança.
Além disso, esta página de opções permite especificar as pastas em que Visual Studio procura.Arquivos de registro addIn. Isso melhora a segurança permitindo que você limite os locais onde.Arquivos de registro do suplemento podem ser lido. Isso ajuda a evitar mal-intencionado.Arquivos de suplemento, inadvertidamente, sejam usados.
Configurações de segurança de suplemento
As configurações do Adicionar-no/macros de segurança, Ambiente, Opções Caixa de Diálogo que se relacionam com add-in security são da seguinte maneira:
Permitir que os componentes de suplemento para carregar. Selecionada por padrão. Quando selecionada, o add-ins têm permissão para carregar na Visual Studio. Quando não selecionada, o add-ins estão proibidos de carregar o arquivo Visual Studio.
Permitir que os componentes de suplemento carregar a partir de um URL. Não é selecionada por padrão. Quando selecionada, os suplementos são permitidos para ser carregado a partir de sites externos. Quando não selecionada, o add-ins remotos estão proibidos de carregar o arquivo Visual Studio. Se um suplemento não pode carregar por algum motivo, não pode ser carregado na Web. Essa configuração controla apenas a carregar a DLL do suplemento. A.Arquivos de registro do suplemento sempre devem estar localizados no sistema local.
Para obter mais informações, consulte Adicionar-.
Consulte também
Tarefas
Como: controle de Adicionar-</c0>
Passo a passo: Depuração um Adicionar-
Referência
Microsoft.VisualStudio.TestTools.LoadTesting
Microsoft.VisualStudio.TestTools.WebTesting
Microsoft.VisualStudio.TestTools.WebTesting.Rules
Conceitos
Gráfico do modelo de objetos de automação
Eventos em controles Windows Forms
Outros recursos
Criar e usar o Custom Plug-ins para carga e testes de desempenho de Web
Propriedades de controles do Windows Forms
Desenvolvendo controles de formulários do Windows personalizada com o.NET Framework