Todos os produtos
Search
Central de documentação

Performance Testing:Use CSV parameter files in JMeter

Última atualização: Jun 27, 2026

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 True, o JMeter retorna à primeira linha de dados ao atingir o fim do arquivo. Se False, as leituras subsequentes retornam valores vazios (a menos que Stop thread on EOF esteja como True).

Stop thread on EOF

Quando configurado como True e Recycle on EOF estiver como False, as threads param após o consumo de todas as linhas. Se ambos forem False, as variáveis retornam valores vazios, o que pode causar falhas silenciosas nos testes.

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"

Smith, John

"4""5"

4"5

simple

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.

Adding CSV Data Set Config to Thread Group

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.

CSV Data Set Config settings

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.

, (vírgula)

Allow Quoted Data?

Defina como True se os valores contiverem vírgulas ou aspas (por exemplo, "Smith, John").

False

Recycle on EOF?

Se True, o JMeter volta à primeira linha de dados ao chegar ao fim do arquivo. Quando False, as leituras seguintes dependem da configuração Stop thread on EOF.

True

Stop thread on EOF?

Com valor True e Recycle on EOF como False, as threads param após o consumo de todas as linhas. Se ambos forem False, as variáveis retornam valores vazios, podendo causar falhas silenciosas nos testes.

False

Sharing mode

Controla como os dados são compartilhados entre as threads. All threads -- um ponteiro de leitura compartilhado entre todos os grupos de threads. Current thread group -- compartilhado apenas dentro do grupo. Current thread -- cada thread obtém sua própria cópia independente do arquivo.

All threads

Exemplo de comportamento do Sharing mode (com um arquivo CSV contendo login1, login2):

Iteração

**All threads (VU 1 / VU 2)**

**Current thread (VU 1 / VU 2)**

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 thread quando 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}.

HTTP Request Sampler configuration

Etapa 5: Salve e carregue no PTS

  1. Salve o script de teste do JMeter.

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

Split File option

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:

Variable names for headerless CSV

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

Próximos passos