2017-04-06 3 views
1

Est-il possible d'utiliser des variables d'entrée dans l'expression JSON Path Extractor?Extracteur de chemin JMeter JSON avec variable d'entrée

J'ai essayé l'expression $.[${someInputVariable}].name, mais cela n'a pas fonctionné.

Format des données:

[ 
{name=a}, 
{name=b}, 
{name=c} 
] 

Si, par exemple ${inputVariable} est réglé sur 1, je voudrais l'expression de revenir "b".

Tous les exemples que je trouve à ce jour ont codées en dur les valeurs de recherche tels que $.[1].name ou $..[?(@.name == 'Smith')]

+0

Avez-vous essayé la fonction __evalVar ou __eval? http://jmeter.apache.org/usermanual/functions.html#__evalVar –

Répondre

0

D'abord, vous JSON est faux, il devrait être:

[{"name":"a"}, {"name":"b"},{"name":"c"}] 

Pour extraire ce que vous voulez juste utiliser le __eval fonction:

${__eval($.[${someInputVariable}].name)} 
0

J'ai pris un coup d'oeil au code source JSONPostProcessor: https://github.com/apache/jmeter/blob/740dd7420af6ef576af5e6ce2646ede360748691/src/components/org/apache/jmeter/extractor/json/jsonpath/JSONPostProcessor.java

Vous ne pouvez pas placer de variables dans l'expression de chemin json car celles-ci ne vont pas être évaluées. En passant, si vous avez besoin d'aide, vous pouvez lire cet article sur JMeter json path extractor. Il donne plus d'exemples et d'alternatives à l'extracteur de chemin json.