如何将空JSON值设置为JMeter变量
对于给定的JSON示例(这只是一个示例,实际的JSON要大得多): 在JMeter 5中使用JSON提取器,并具有以下设置如何将空JSON值设置为JMeter变量,json,jmeter,jsonpath,jmeter-5.0,json-path-expression,Json,Jmeter,Jsonpath,Jmeter 5.0,Json Path Expression,对于给定的JSON示例(这只是一个示例,实际的JSON要大得多): 在JMeter 5中使用JSON提取器,并具有以下设置 已创建变量的名称:设置为标题;值 及 JSON路径表达式:设置为$…title;$。。值 我能够从JSON到JMeter获取所有变量的值 问题是title_3与value_3不对应,因为对应变量名的值的数量不同 在本例中,如何将“value_3”设置为“null”?“title_3与value_3不对应”表示“value_3不存在,而title_3存在”-是否正确?否,线程
已创建变量的名称:
设置为标题;值
及
JSON路径表达式:
设置为$…title;$。。值
我能够从JSON到JMeter获取所有变量的值
问题是title_3与value_3不对应,因为对应变量名的值的数量不同
在本例中,如何将“value_3”设置为“null”?“title_3与value_3不对应”表示“value_3不存在,而title_3存在”-是否正确?否,线程组正在不断重新发送HTTP请求并填充变量。所以在两次运行后,我将有标题1、值1、标题2、值2、标题3、值1、标题1、值2,等等。。。有趣的收获。我从来没有偶然发现过这样的东西(它似乎是一个特定的功能)。但如此大规模的开采与断言背后的原因是什么?如何处理提取的值?这是我的一个练习项目。首先,我希望能够提取特定JSON字段的值,然后将其与数据库数据进行比较。但是你看,我相信这不是一个bug,而是它的工作方式:如果有匹配的话,就有一个新的(下一个)var,没有匹配的,就没有生成的var,这是相互独立的。到目前为止,除了JMeter的瑞士军刀:JSR223后处理器,没有一个简单的解决方案出现在我的脑海中。考虑到Groovy中处理JSON的方法有多么简单,这不会花费很多精力。
{
"username":"Admin",
"text":"test message",
"attachments":[
{
"title":"demo server",
"title_link":"${link}",
"text":"sample text",
"fields": [
{
"title":"Stats",
"value":"Average times",
"short":true
},
{
"title":"Weather",
"value":"Fine",
"short":true
},
{
"title":"Host",
"short":true
}
],
"image_url":"",
"thumb_url":"${thumb_url}",
"color":"${color}"
}]
}