Jmeter: Usar JSON Path PostProcessor para múltiplas variáveis

2 respostas
testjava
D

Estou usando o componente JSON Path PostProcessor para pegar dados de um serviço REST que retorna um JSON. A documentação fala que posso pegar múltiplas variáveis ao mesmo tempo, separando-as por ponto-e-vírgula, porém o JMeter reclama e dá erro.

http://jmeter.apache.org/usermanual/component_reference.html#JSON_Path_PostProcessor

JSON
`{
  "id":123,
  "nome":"FULANO",
  "contato":{"tipo":"fone","valor":"([telefone removido]"}
}`

Quero recuperar ao mesmo tempo os valores de tipo e valor do contato.

Configuraçõs do componente no JMeter:

Variable Names: tipo;valor

JSON Path Expressions: $.contato.tipo;$.contato.valor

Erro no console do JMeter:

2016/08/19 20:51:20 ERROR - jmeter.extractor.json.jsonpath.JSONPostProcessor: Number of JSON Path variables must match number of default values and json-path expressions, check you use separator ; if you have many values

2016/08/19 20:51:20 ERROR - jmeter.threads.JMeterThread: Error while processing sampler Dados Candidato : java.lang.IllegalArgumentException: Mismatch between number of variables, json expressions and default values

at org.apache.jmeter.extractor.json.jsonpath.JSONPostProcessor.process(JSONPostProcessor.java:94)

at org.apache.jmeter.threads.JMeterThread.runPostProcessors(JMeterThread.java:776)

at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:489)

at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:410)

at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:241)

at java.lang.Thread.run(Unknown Source)

Alguma ideia se estou cometendo algum erro ou se o componente esta zoado?

Se eu criar dois componentes separados, um para cada atributo, ele funciona normalmente. Mas não é isso que preciso, pois preciso pegar muitos campos de uma vez.

2 Respostas

B

utilizado Regex não seria mais adequado ?
Estou questionando pois sempre que preciso extrair algo de um response utilizo o Extratator de Expressões Regulares…
Mas estou acompanhando aqui pra ver mais soluções.

D

Regex serve para outros propósitos e sempre uso ele quando possível. Neste caso de JSON ou XML o melhor mesmo é usar Path ou XPath.

Criado 19 de agosto de 2016
Ultima resposta 22 de fev. de 2017
Respostas 2
Participantes 2