Como realizar a solicitação HTTP PUT lendo valores de CSV no JMeter?
Eu tenho uma pergunta como posso configurar o Sampler de solicitação HTTP para o método HTTP PUT no JMeter para que ele possa ler dados do arquivo CSV usando CSV Data Set Config? No meu cenário, estou usando ** Concurrency Thread Group ** com os seguintes parâmetros: * ** Target Concurrency **: 50 * RampUp ** Time ** (** secs **): 10 * RampUp Steps ** count **: 5 * Reter Alvo .. (** segs **): 10
Esta é minha configuração de conjunto de dados CSV :

(Java) Os tipos de nomes de variáveis são: bookId: Long , title: String , price: double , amount: int , owners: Set , categorias: Set , isDeleted: boolean
Esta é minha configuração de Sampler de solicitação HTTP :

... e este é o conteúdo do meu arquivo bookCollection10Items.csv onde os valores entre aspas são Strings e aqueles entre colchetes angulares [] são matrizes de valores (já que estou atualizando o Livro que tem relação Muitos-para-Muitos com Categorias / Autores ):
1, "Harry Potter e Pedra Mágica", 39,99,2500, [4], 7,11, falso
2, "Assassinato no Expresso do Oriente", [19,98,500500], 1,9, falso
3, "O Assassinato de Roger Ackroyd ", 19.99.1500,1, [7,9], falso
4," Harry Potter e a Câmara Secreta ", 24,99,0,4, [7,9], verdadeiro
5," Harry Potter e o Prisioneiro de Azkaban ", 17,99,1200,4,7, falso
6," O Código Da Vinci ", 29,99,700,8,10, falso
7," Inferno ", 22,50,950,8,10, falso
11," Guerra and Peace ", 31.99.300,5,8, falso
14," O Julgamento ", 27,99.450,6,9, falso
15," IT ", 16.50,0,2,5, verdadeiro
O que eu quero alcançar é que cada Thread (ou seja, usuário) selecione um item do arquivo "bookCollection10Items.csv" em rodízio e atualize-o para um determinado bookId usando "All Threads" como opção de modo de compartilhamento .
Qualquer conselho / sugestão é muito apreciado.
Respostas
O CSV Data Set Config integrado do JMeter lê as linhas do arquivo CSV sequencialmente para que cada usuário obtenha a próxima linha em cada iteração.
Se você precisar ler uma linha aleatória (no entanto, não acho que seja uma boa ideia, pois acredito que os testes precisam ser repetidos ), você precisará ir para alguns plug-ins como:
- Configuração de conjunto de dados CSV aleatório
- ou servidor de tabela simples HTTP
Ambos podem ser instalados usando o JMeter Plugins Manager
Consegui encontrar uma solução para o meu problema -> cometi um erro:
1) Criando um arquivo CSV no gEdit (equivalente do Linux ao Windows Notepad) em vez de usar o LibreOffice Calc, onde o trabalho é feito em células . Portanto, desta forma (no gEdit e no LibreOffice Calc ):
3, "The Murder of Roger Ackroyd", 19,99,1500,1, [7,9], falso
... é um não-não.
2) Remoção dos colchetes angulares [] da listagem para que as matrizes NÃO contenham matrizes. Por exemplo, quando os colchetes estão presentes, recebo o seguinte:
{
// some other fields
"authors" : [[7,9]]
}
3) Tive que formatar corretamente os números com decimais para conter ponto , NÃO vírgula ( problemas de localidade ). Por exemplo, o formato adequado é 19,99, o formato errado é 19,99