现有2个接口,一个get得到警种数据,一个post警种得到该警种下的信息,分别如下
get:
post
使用Jmeter正则表达式提取出get返回的警种数据,然后进行post,操作如下
1、测试计划中添加线程组
2、线程组下添加Sampler-HTTP请求,命名为get
3、第二步的请求右击添加-后置处理器-正则表达式提取器(提取器一定要在要提取的请求下),并做如下配置
解释
引用名称:后边使用参数引用的方式引用这个提取器提取到的值,这里命名为jz,使用时写${jz}
正则表达式:使用(.+?)进行匹配提取,两边是要提取内容的边界;如{"id":"A","value":"监管"},要提取字母A,表达式可写成{"id":"(.+?)","value"
模板:使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从 1 开始匹配,依次类推。这里填写 $1$
匹配数字:表示如何取值。0 代表随机取值,1代表取第一个匹配成功的值,-1代表取所有匹配成功的值
缺省值:表示参数没有取到值的话,默认给它的值。
4、在线程组下添加第二个Http请求,post
请求参数的值填第3步的引用名称${jz},如果提取的内容有汉字,需勾选 编码?
5、线程组下添加监视器-结果树,便于查看结果。完整的结构
6、运行,查看结果树
可以看到第二个post请求参数pcc的值成功取到了第一个get请求的返回值。
以上就是Jmeter正则表达式的基本使用。