大型响应体中的JSONPath验证(Gatling Scala)
我有一个非常简单的gatling(开源版本)项目:它从csv feeder中随机选择文件名,然后将文件内容发送到端点,并验证是否返回了200个响应代码。发送的文件和响应都很大。每个响应如下x 500:大型响应体中的JSONPath验证(Gatling Scala),scala,gatling,jsonpath,Scala,Gatling,Jsonpath,我有一个非常简单的gatling(开源版本)项目:它从csv feeder中随机选择文件名,然后将文件内容发送到端点,并验证是否返回了200个响应代码。发送的文件和响应都很大。每个响应如下x 500: { "guid1":{ "recordId":"abc", "someThing1":"xyz", "someThing2":"def&quo
{
"guid1":{
"recordId":"abc",
"someThing1":"xyz",
"someThing2":"def",
"status":200,
"message":null
},
"guid2":{
"recordId":"ghi",
"someThing1":"klm",
"someThing2":"nop",
"status":200,
"message":null
},
...
}
换句话说,每个响应有1000条记录
如果这不是一个坏主意,我想断言所有1000条记录的“状态”都是200。我会说,如果检查这些200会减慢测试速度,使结果出现偏差,这是一个坏主意
假设可以在不减慢测试速度的情况下完成,我猜我将使用.check(jsonpath(something))来检查查询的计数,如:
$.[?(@.status == '200')]
返回1000。有人能帮忙吗
更新:
尝试了以下方法(jsonpath在jsonpath.com上工作):
在运行时,我遇到以下错误:
jsonPath($.[?(@.status == '200')]).count.is(1000) extraction crashed: end of input expected
尝试了这个(jsonpath在一些选项卡上工作,但不是gatling scala选项卡)
在运行中,我得到了这个,但我可以在回音中看到格式与上面的格式类似:
jsonPath($..[?(@.status == '200')].recordId).count.is(1000), but actually found 0
您的响应正文将仅为~120kB。您的解析性能应该很好。您的响应正文只有~120kB。您的解析性能应该很好。我终于找到了它
.check(jsonPath("$.*[?(@.status == 200)].recordId").ofType[Seq[Any]].count.is(1000))
盖特林标签在这里起了很大的作用:
如前所述,性能下降似乎不是问题。我终于找到了它
.check(jsonPath("$.*[?(@.status == 200)].recordId").ofType[Seq[Any]].count.is(1000))
盖特林标签在这里起了很大的作用:
如前所述,性能下降似乎不是问题
.check(jsonPath("$.*[?(@.status == 200)].recordId").ofType[Seq[Any]].count.is(1000))