Partilhar via


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.

Binding data to a web performance test

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.

Running the web app to be tested

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.

Solution with web performance test

Criar um banco de dados SQL

  1. Se você não tiver o Visual Studio Enterprise, obtê-lo aqui.

  2. Criar um banco de dados SQL.

    Add a new SQL database

  3. Criar um projeto de banco de dados.

    Create new project from database

  4. Adicione uma tabela ao projeto de banco de dados.

    Add a new table to the database project

  5. Adicionar campos à tabela.

    Add fields to the table

  6. Publicar o projeto de banco de dados.

    Publish database project from Solution Explorer

  7. Adicionar dados aos campos.

    Add data to the fields

Adicionar a fonte de dados

  1. Adicionar uma fonte de dados.

    Add data source to web performance test

  2. Escolha o tipo de fonte de dados e dê um nome a ele.

    Name the database source

  3. Criar uma conexão.

    Choose new connection

    Insira os detalhes de conexão.

    Enter the SQL database connection properties

  4. Selecione a tabela que você deseja usar para o seu teste.

    Add the Color table as the data source

    A tabela é associada ao teste.

    Data Sources node add to the web performance test

  5. Salve o teste.

Associar os dados

  1. Associar o campo de ColorName.

    Bind the ColorName field to RadioButtonList1 value

  2. Abra o arquivo Local.testsettings no Gerenciador de Soluções e selecione aquele executado pela opção de linha da fonte de dados.

    Edit the test settings file

  3. Salve o teste de desempenho na Web.

Executar o teste com os dados

  1. Executar o teste.

    Run the web performance test to verify binding

    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.

    Test run results

    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.

  2. Corrija o erro de validação excluindo a regra e execução de validação URL de Resposta e executando o teste novamente.

    Delete the response URL validation rule

    O teste de desempenho na Web agora é aprovado usando a associação de dados.

    Test passes using data binding

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:

  1. Crie uma pasta para organizar seus artefatos de banco de dados de projetos e adicione um item.

    Add new item to the Data folder

  2. Criar um arquivo de texto.

    Name the new text file ColorData.csv

  3. Edite o arquivo de texto e adicione o seguinte:

    ColorId, ColorName
    0,Red
    1,Blue
    
  4. Use as etapas em Associando os dados SQL, mas escolha o arquivo CSV como fonte de dados.

    Enter a name and choose CSV file

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.

  1. Adicionar um novo arquivo de texto chamado schema.ini.

    Add a schema.ini file

  2. 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
    
  3. Adicionar uma fonte de dados ao teste.

    Add data source to web performance test

  4. 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.

    Add database data source

  5. Criar uma nova conexão.

    Choose new connection

  6. Selecione o Provedor de Dados do .NET Framework para OLE DB.

    Select the .NET framework OLE DB data provider

  7. Escolha Avançado.

    Choose Advanced

  8. Para a propriedade Provedor, selecione Microsoft.Jet.OLEDB.4.0 e então defina Propriedades Estendidas como Texto; HDR=NO.

    Apply advanced properties

  9. Digite o nome da pasta que contém o arquivo de esquema e teste sua conexão.

    Enter the path to the data folder

  10. Selecione o arquivo CSV que você deseja usar.

    Select the text file

    Após você concluir, o arquivo CSV aparecerá como uma tabela.

    Data source added to test

P: Como uso um arquivo XML como uma fonte de dados?

A: Yes.

  1. Crie uma pasta para organizar seus artefatos de banco de dados de projetos e adicione um item.

    Add new item to the Data folder

  2. Criar um arquivo XML.

    Add ColorData.xml file

  3. 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>
    
  4. Use as etapas em Associando os dados SQL, mas escolha o arquivo XML como fonte de dados.

    Enter a name and choose XML file

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.

  1. 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.

    Edit the web service string body

  2. 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>
    
  3. Salve o teste.