JMeter Logo

Jmeter 用 groovy 解析 json

原创 2018年 12月 13日
标签: JMETER
本文发布至今已有5年零342天,可能不再适用,请谨慎对待。

先打个广告:欢迎关注我的公众号,参与 文史大挑战 趣味题目。使用方法见 这篇文章

公众号:晚花行乐

正文开始:

在 Jmeter 里,用 Groovy 解析 json 格式的响应内容是很方便的,既能灵活提取指定字段,又能做进一步的复杂逻辑处理。本文介绍这种方法。

本文目的

假设请求得到的响应是 json 格式,我们希望使用 Jmeter 推荐的脚本语言 Groovy 提取 json 数据中的某些字段。

脚本配置

假设我们使用下面的脚本结构:

Test Plan
  └─ Thread Group
      └─ HTTP Request
          └─ JSR223 PostProcessor

在一次 HTTP 请求采样(Sampler)之后,添加 “事后处理器”(Post Processor),最后在"事后处理器"内填写 Groovy 代码。

代码片段

确认 JSR223 Post Processor 的语言类型选择的是 Groovy 后,填入下列代码:

import groovy.json.JsonSlurper

def slurper = new JsonSlurper();
def resp = slurper.parseText(prev.getResponseDataAsString());

这样得到的 resp 就是解析后的 json 对象了,可以用点号(Dot Notation)或者方括号(Bracket Notation)方式访问对象内容,比如:

import groovy.json.JsonSlurper

def slurper = new JsonSlurper();
def resp = slurper.parseText(prev.getResponseDataAsString());

OUT.println(resp.foo.bar); // 点号表示法
OUT.println(resp["foo"]["bar"]); // 方括号表示法

方括号(Bracket Notation)方法尤其适合字段名中包含特殊符号,或者字段名由变量表示的情形。

如果您对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

标签: JMETER
给个免费的赞吧~

精彩评论

本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/jmeter-parse-json-with-groovy/ ,且不得用于商业用途。