可以在JSON路徑提取器表達式中使用輸入變量嗎?帶輸入變量的JMeter JSON路徑提取器
我試過表達式$.[${someInputVariable}].name
,但它沒有奏效。
數據格式:
[
{name=a},
{name=b},
{name=c}
]
如果例如${inputVariable}
被設置爲1,我想表達返回 「B」。
所有的例子,我發現迄今已經硬編碼了搜索值,如$.[1].name
或$..[?(@.name == 'Smith')]
可以在JSON路徑提取器表達式中使用輸入變量嗎?帶輸入變量的JMeter JSON路徑提取器
我試過表達式$.[${someInputVariable}].name
,但它沒有奏效。
數據格式:
[
{name=a},
{name=b},
{name=c}
]
如果例如${inputVariable}
被設置爲1,我想表達返回 「B」。
所有的例子,我發現迄今已經硬編碼了搜索值,如$.[1].name
或$..[?(@.name == 'Smith')]
首先你JSON是錯誤的,它應該是:
[{"name":"a"}, {"name":"b"},{"name":"c"}]
要提取你只想用什麼__eval功能:
${__eval($.[${someInputVariable}].name)}
我看了JSONPostProcessor源代碼: https://github.com/apache/jmeter/blob/740dd7420af6ef576af5e6ce2646ede360748691/src/components/org/apache/jmeter/extractor/json/jsonpath/JSONPostProcessor.java
您不能將變量放入json路徑表達式中,因爲這些變量不會被求值。順便說一句,如果你需要一些幫助,你可以閱讀這篇關於JMeter json path extractor的文章。它爲json路徑提取器提供了更多的示例和替代方法。
你有沒有試過__evalVar或__eval函數? http://jmeter.apache.org/usermanual/functions.html#__evalVar –