找回密码
 立即注册
首页 业界区 业界 每周读书与学习->初识JMeter 元件(四) ...

每周读书与学习->初识JMeter 元件(四)

公新蕾 昨天 17:00
每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。
1、后置处理器
在Jmeter中,后置处理器通常用于在实际取样器(Sampler)发出请求之后对请求的响应结果进行后置处理,如下图所示,后置处理器通常会在取样器之后执行,比如通过HTTP取样器发送了一个HTTP请求后,需要对HTTP请求返回的结果做一些处理,比如从结果信息中提取返回的状态码以判断请求是否执行成功等。
1.png

从图中可以看到,后置处理器通常主要包括:

  • 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
  • 相关推荐

    您需要登录后才可以回帖 登录 | 立即注册