性能测试工具 jmeter 怎么写 json 数组中的正则

MISS HU · 2018年11月21日 · 最后由 MISS HU 回复于 2018年11月22日 · 3202 次阅读

response:69
{
"error" : false,
"message" : "获取成功",
"data" : [ "慈心亭", "星辰苑", "玉泉居" ]
}
0

我想匹配出 data[ ] 中的文字,并在下一个请求中随机引用,比如下个请求随机引用 “玉泉居” 作为参数
然而我写的正则什么都匹配不出来
如图

共收到 8 条回复 时间 点赞

接口测试,性能测试?

正则表达式:
    ():括起来的部分就是要提取的。() 括号里表示要的数值
    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太贪婪,在找到第一个匹配项后停止。
模板:用 $$ 引用起来,如果在正则表达式中有多个正则表达式,则可以是 $2$$3$ 等等,表示解析到的第几个值给引用名称。$0$ 表示随机取值,$1$ 表示取第 1 个值,$2$ 表示取第 2 个值,$n$ 表示取第 n 个值,$1$$2$ 表示取第 1 第 2 共 2 个值;

乾行 回复

接口性能测试

ch 回复

我知道是这种写法,可是我按照这种模式写了,匹配不到,就像截图的那样

我是学习中小菜鸟:
1.通过 JSON 提取器获取到上个接口的列表数据 $.data 变量 dataList
2.下个接口前置处理器中新增, BeanShell 处理器
3.BeanShell 处理器,设置随机数 i ,然后随机获取 data =dataList[i]
4.赋值给系统变量,vars.put("newData",data )

5.下个请求中,使用刚才生成的变量的 ${ newData}


如果一定要这么写的话。。。可以试试加下反斜杠

佳佳 回复

谢谢,已经解决了,用的 JSON Path Extractor

Nick 回复

谢谢你给我提供的思路,我也是学习阶段的菜鸟,根本不知道有 json extractor,看见你的回答我顺势搜了下就解决问题了

MISS HU 关闭了讨论 11月22日 16:52
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册