Adicionar uma fonte de dados a um teste de desempenho para Web
Publicado: abril de 2016
Associar dados para fornecer valores diferentes para o mesmo teste, por exemplo, para fornecer valores diferentes para seus parâmetros de postagem de formulário.
Nós iremos usar um aplicativo de exemplo ASP.NET. Ele tem três páginas .aspx – a página padrão, uma página Vermelha e uma página Azul. A página padrão tem um controle de rádio para escolher vermelho ou azul e um botão enviar. As outras duas páginas .aspx são muito simples. Uma tem um rótulo chamado Vermelho e a outra, Azul. Quando você escolhe enviar a página padrão, exibimos uma das outras páginas. Você pode criar um aplicativo assim, baixe, nosso exemplo, ou apenas continue com seu próprio aplicativo da web.
A solução também deve incluir um teste de desempenho na web que navega pelas páginas do aplicativo web similar ao projeto ColorWebAppTest criado em Record and run a web performance test.
Criar um banco de dados SQL
Se você não tiver o Visual Studio Enterprise, obtê-lo aqui.
Criar um banco de dados SQL.
Criar um projeto de banco de dados.
Adicione uma tabela ao projeto de banco de dados.
Adicionar campos à tabela.
Publicar o projeto de banco de dados.
Adicionar dados aos campos.
Adicionar a fonte de dados
Adicionar uma fonte de dados.
Escolha o tipo de fonte de dados e dê um nome a ele.
Criar uma conexão.
Insira os detalhes de conexão.
Selecione a tabela que você deseja usar para o seu teste.
A tabela é associada ao teste.
Salve o teste.
Associar os dados
Associar o campo de ColorName.
Abra o arquivo Local.testsettings no Gerenciador de Soluções e selecione aquele executado pela opção de linha da fonte de dados.
Salve o teste de desempenho na Web.
Executar o teste com os dados
Executar o teste.
As duas execuções são exibidas para cada linha de dados. A Execução 1 envia uma solicitação para a página Red.aspx e Execução 2 envia uma solicitação para a página Blue.aspx.
Quando você associa a uma fonte de dados, você pode violar a regra padrão do URL de resposta. Nesse caso, o erro na Execução 2 é causado pela regra que espera a página Red.aspx da gravação original de teste, mas a associação de dados agora a direciona para a página Blue.aspx.
Corrija o erro de validação excluindo a regra e execução de validação URL de Resposta e executando o teste novamente.
O teste de desempenho na Web agora é aprovado usando a associação de dados.
Perguntas e respostas
P: Quais bancos de dados posso usar como uma fonte de dados?
A: Você pode usar o seguinte:
Microsoft SQL Azure.
Qualquer versão do Microsoft SQL Server 2005 ou posterior.
Arquivo de banco de dados do Microsoft SQL Server (incluindo o SQL Express).
Microsoft ODBC.
Arquivo do Microsoft Access usando o provedor do .NET Framework para OLE DB.
Oracle 7.3, 8i, 9i, ou 10g.
P: Como uso um arquivo de texto de valores separado por vírgula (CSV) como uma fonte de dados?
R: aqui está como:
Crie uma pasta para organizar seus artefatos de banco de dados de projetos e adicione um item.
Criar um arquivo de texto.
Edite o arquivo de texto e adicione o seguinte:
ColorId, ColorName 0,Red 1,Blue
Use as etapas em Associando os dados SQL, mas escolha o arquivo CSV como fonte de dados.
P: E se meu arquivo CSV existente não contiver cabeçalhos de coluna?
R: Se você não puder adicionar cabeçalhos de coluna, você poderá usar um arquivo de descrição do esquema para manipular o arquivo CSV como um banco de dados.
Adicionar um novo arquivo de texto chamado schema.ini.
Edite o arquivo schema.ini para adicionar informações que descrevam a estrutura dos seus dados. Por exemplo, um arquivo de esquema que descreve o arquivo CSV pode parecer como este:
[testdata.csv] ColNameHeader=False
Adicionar uma fonte de dados ao teste.
Se estiver usando um arquivo schema.ini, escolha Banco de Dados (e não o arquivo CSV) como a fonte de dados e nomeie-o.
Criar uma nova conexão.
Selecione o Provedor de Dados do .NET Framework para OLE DB.
Escolha Avançado.
Para a propriedade Provedor, selecione Microsoft.Jet.OLEDB.4.0 e então defina Propriedades Estendidas como Texto; HDR=NO.
Digite o nome da pasta que contém o arquivo de esquema e teste sua conexão.
Selecione o arquivo CSV que você deseja usar.
Após você concluir, o arquivo CSV aparecerá como uma tabela.
P: Como uso um arquivo XML como uma fonte de dados?
A: Yes.
Crie uma pasta para organizar seus artefatos de banco de dados de projetos e adicione um item.
Criar um arquivo XML.
Edite o arquivo XML e adicione seus dados:
<?xml version="1.0" encoding="utf-8" ?> <ColorData> <Color> <ColorId>0</ColorId> <ColorName>Red</ColorName> </Color> <Color> <ColorId>1</ColorId> <ColorName>Blue</ColorName> </Color> </ColorData>
Use as etapas em Associando os dados SQL, mas escolha o arquivo XML como fonte de dados.
P: Posso adicionar os dados a uma solicitação de serviço da Web que usa SOAP?
A: Sim, você deve alterar o SOAP XML manualmente.
Escolha a solicitação de serviço da Web na árvore de solicitação e na janela Propriedades, clique nas reticências (…) na propriedade Corpo da Cadeia de Caracteres.
Substitua valores no corpo SOAP pelos valores associados de dados usando a seguinte sintaxe:
{{DataSourceName.TableName.ColumnName}}
Por exemplo, se você tiver o seguinte código:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckStatus xmlns="http://tempuri.org/"> <userName>string</userName> <password>string</password> <orderID>int</orderID> </CheckStatus> </soap:Body> </soap:Envelope>
Você pode alterar para:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckStatus xmlns="http://tempuri.org/"> <userName>{{DataSourceName.Users.Name}}</userName> <password>{{DataSourceName.Users.Password}}</password> <orderID>{{DataSourceName.Orders.OrderID}}</orderID> </CheckStatus> </soap:Body> </soap:Envelope>
Salve o teste.