公新蕾
2025-10-9 17:00:20
每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。
1、后置处理器
在Jmeter中,后置处理器通常用于在实际取样器(Sampler)发出请求之后对请求的响应结果进行后置处理,如下图所示,后置处理器通常会在取样器之后执行,比如通过HTTP取样器发送了一个HTTP请求后,需要对HTTP请求返回的结果做一些处理,比如从结果信息中提取返回的状态码以判断请求是否执行成功等。
从图中可以看到,后置处理器通常主要包括:
- CSS/JQuery提取器:通过使用CSS/JQuery选择器语法从服务器的HTML响应中提取出需要的数据,当响应结果为一个HTML形式的结果时,可以用该提取器来获取指定的数据。
- JSON提取器:通过使用JSON-PATH语法从服务器的JSON响应结果中提取出需要的数据,只有当响应的结果为JSON格式时,才可以考虑使用JSON断言,JSON断言时需要指定JSONPath(即JSON路径),然后Jmeter会根据对应的路径到返回的JSON数据中去获取对应路径下的数据值。
如下所示,是一个JSON数据示例,通过指定不同的JSON路径,即可获取到不同的数据,如下表所示列举了常见的不同的JSON路径获取数据的示例。
[table][tr][td]$.store.book
.author
[/td][td]获取JSON中store.book路径下的所有的author
[/td][/tr][tr][td]$..author
[/td][td]获取所有的author
[/td][/tr][tr][td]$.store.*
[/td][td]获取JSON下的store路径下的所有数据
[/td][/tr][tr][td]$.store..price
[/td][td]获取JSON下的store路径下的所有price数据
[/td][/tr][tr][td]$..book[2]
[/td][td]获取JSON数据中的第三次出现的book数据
[/td][/tr][tr][td]$..book[-2]
[/td][td]获取JSON数据中的倒数第二次出现的book数据
[/td][/tr][tr][td]$..book[0,1]
[/td][td]获取JSON数据中的第一次和第二次出现的book数据
[/td][/tr][tr][td]$..book[:2]
[/td][td]获取JSON数据中从索引0(包含索引0)到索引2(不包含索引2)的所有book数据
[/td][/tr][tr][td]$..book[1:2]
[/td][td]获取JSON数据中从索引1(包含索引1)到索引2(不包含索引2)的所有book数据
[/td][/tr][tr][td]$..book[-2:]
[/td][td]获取JSON数据中最后出现的两次book数据
[/td][/tr][tr][td]$..book[2:]
[/td][td]获取JSON数据中从索引2(包含索引2)之后的所有book数据
[/td][/tr][tr][td]$..book[?(@.isbn)]
[/td][td]获取JSON数据中带有isbn的所有数据
[/td][/tr][tr][td]$.store.book[?(@.price < 10)]
[/td][td]获取JSON数据中所有price低于10的book数据
[/td][/tr][tr][td]
$..book[?(@.price |
|
|
|
|
|
相关推荐
|
|
|