Testes de desempenho exigem dados exclusivos para cada usuário virtual, como nomes de usuário, senhas ou parâmetros de API diferentes. Sem a parametrização, todos os usuários virtuais enviam requisições idênticas, o que não reflete o tráfego real. O elemento CSV Data Set Config no JMeter lê arquivos CSV externos e mapeia colunas para variáveis consumidas pelos usuários virtuais durante a execução.
O PTS estende essa funcionalidade para testes distribuídos: quando um teste é executado em vários mecanismos de teste de estresse, o PTS divide o arquivo CSV para que cada mecanismo receba um subconjunto de dados exclusivo, evitando a duplicação de dados de teste entre os mecanismos.
Como funciona o CSV Data Set Config
O CSV Data Set Config é um elemento de configuração do JMeter que lê linhas de um arquivo CSV e mapeia cada coluna para uma variável nomeada. Esse recurso é ideal para cenários que demandam um grande volume de variáveis. A cada iteração, cada usuário virtual lê a próxima linha disponível.
Três configurações controlam o fluxo de dados para os usuários virtuais:
|
Configuração |
Comportamento |
|
Sharing mode |
Define se os usuários virtuais compartilham um único ponteiro de leitura ou se cada um recebe uma cópia independente do arquivo. Consulte a referência de parâmetros abaixo para mais detalhes. |
|
Recycle on EOF |
Se definido como |
|
Stop thread on EOF |
Quando configurado como |
Ao carregar um arquivo CSV no PTS sem um elemento CSV Data Set Config correspondente no script JMeter, o PTS trata o arquivo como se não tivesse cabeçalho. Sempre adicione o CSV Data Set Config explicitamente para evitar a divisão incorreta dos dados.
Configure arquivos de parâmetros CSV
Este exemplo configura um teste de API de login com 100 usuários simultâneos, cada um com credenciais exclusivas.
Etapa 1: Crie um arquivo CSV
Crie um arquivo CSV com uma linha por usuário virtual. A primeira linha deve ser o cabeçalho, que define os nomes das variáveis:
username,password
user1,Password1
user2,Password2
user3,Password3
Caso seu arquivo CSV não inclua uma linha de cabeçalho, defina os nomes das variáveis manualmente no CSV Data Set Config (consulte a Etapa 3).
Se seus dados contiverem vírgulas ou aspas, defina Allow Quoted Data? como True na Etapa 3. Os valores entre aspas são analisados da seguinte forma:
|
Valor bruto no CSV |
Resultado analisado |
|
|
Smith, John |
|
|
4"5 |
|
|
simple |
Etapa 2: Adicione o CSV Data Set Config
No JMeter, clique com o botão direito em Thread Group e escolha Add > Config Element > CSV Data Set Config.

Etapa 3: Configure o CSV Data Set Config
Insira o nome do arquivo CSV no campo Filename. Se o arquivo CSV incluir uma linha de cabeçalho, o JMeter lerá automaticamente a primeira linha como nomes de variáveis.

Se o arquivo CSV não tiver uma linha de cabeçalho, insira os nomes das variáveis (por exemplo, username,password ) no campo Variable Names (comma-delimited).
Parâmetros do CSV Data Set Config
|
Parâmetro |
Descrição |
Padrão |
|
Filename |
Nome do arquivo CSV. Ao carregar no PTS, use apenas o nome do arquivo (sem caminho). |
Obrigatório |
|
File Encoding |
Codificação de caracteres do arquivo. Deixe em branco para usar o padrão da plataforma. |
Padrão da plataforma |
|
Variable Names (comma-delimited) |
Lista de nomes de variáveis separados por vírgula. Deixe em branco se a primeira linha for um cabeçalho. |
Linha de cabeçalho |
|
Delimiter |
Caractere usado para separar valores em cada linha. |
|
|
Allow Quoted Data? |
Defina como |
|
|
Recycle on EOF? |
Se |
|
|
Stop thread on EOF? |
Com valor |
|
|
Sharing mode |
Controla como os dados são compartilhados entre as threads. |
|
Exemplo de comportamento do Sharing mode (com um arquivo CSV contendo login1, login2):
|
Iteração |
** |
** |
|
1 |
login1 / login2 |
login1 / login1 |
|
2 |
login1 / login2 |
login2 / login2 |
Utilize
All threads(padrão) quando cada usuário virtual precisar de dados exclusivos (por exemplo, credenciais de login distintas).Prefira
Current threadquando todos os usuários virtuais devem ler o conjunto completo de dados de forma independente.
Etapa 4: Referencie variáveis CSV na requisição HTTP
Clique com o botão direito no grupo de threads e escolha Add > Sampler > HTTP Request. Defina os campos a seguir conforme sua API:
Name: Um nome descritivo para a API (por exemplo,
Login API).Web Server: O protocolo, hostname ou endereço IP e o número da porta.
HTTP Request: O método HTTP (GET, POST, etc.) e o caminho.
Aba Body Data: Referencie as variáveis CSV usando
${username}e${password}.

Etapa 5: Salve e carregue no PTS
Salve o script de teste do JMeter.
Carregue tanto o script de teste quanto o arquivo CSV no PTS. Para mais detalhes, consulte Criar um cenário JMeter.
Divida arquivos CSV entre mecanismos de teste de estresse
Quando um teste é executado em múltiplos mecanismos de teste de estresse, cada mecanismo carrega o arquivo CSV completo de forma independente e começa a leitura a partir da linha 1. Sem a divisão, os usuários virtuais em mecanismos diferentes consomem dados idênticos, o que invalida testes que exigem valores exclusivos por usuário (como credenciais de login ou IDs de pedidos).
A divisão distribui as linhas do CSV entre os mecanismos, garantindo que cada um receba um subconjunto exclusivo. Essa é a única maneira de assegurar a unicidade dos dados em testes distribuídos, pois o JMeter atribui valores no nível do mecanismo.
Selecione Split File ao lado do arquivo CSV na página de configuração de cenário do PTS.

Divisão de arquivos com linhas de cabeçalho
Quando o arquivo CSV inclui uma linha de cabeçalho, cada arquivo dividido mantém o cabeçalho intacto. As linhas de dados são distribuídas sem duplicação. Se as linhas não puderem ser divididas igualmente, alguns mecanismos receberão uma linha extra.
Por exemplo, a divisão do arquivo de amostra entre dois mecanismos resulta em:
Mecanismo 1:
username,password
user1,Password1
user3,Password3
Mecanismo 2:
username,password
user2,Password2
Divisão de arquivos sem linhas de cabeçalho
Para arquivos CSV sem linha de cabeçalho (por exemplo, um arquivo chamado b.csv):
user1,Password1
user2,Password2
user3,Password3
Defina os nomes das variáveis no CSV Data Set Config em vez de depender do cabeçalho:

Após a divisão, cada arquivo resultante contém apenas linhas de dados (sem cabeçalho). A mesma regra de distribuição uniforme se aplica — alguns mecanismos podem receber uma linha adicional.
Mecanismo 1:
user1,Password1
user3,Password3
Mecanismo 2:
user2,Password2