1.线程组下添加Sampler,http请求

2.配置http请求,请求接口地址,请求参数等,这里不再详细描述
3.接口响应数据描述:
[
{
"a": "11008",
"cityName": "杭州市",
"b": "1",
"c": "110582",
"d": "浙江省",
"e": "1",
"f": "330000",
"g": "330100"
},
{
"a": "8715",
"cityName": "宁波市",
"b": "0",
"c": "38008",
"d": "浙江省",
"e": "2",
"f": "330000",
"g": "330200"
},
{
"a": "9808",
"cityName": "温州市",
"b": "0",
"c": "46702",
"d": "浙江省",
"e": "3",
"f": "330000",
"g": "330300"
},
{
"a": "4520",
"cityName": "嘉兴市",
"b": "209",
"c": "15538",
"d": "浙江省",
"e": "4",
"f": "330000",
"g": "330400"
},
{
"a": "3397",
"cityName": "湖州市",
"b": "5",
"c": "11247",
"d": "浙江省",
"e": "5",
"f": "330000",
"g": "330500"
},
{
"a": "4020",
"cityName": "绍兴市",
"b": "0",
"c": "16785",
"d": "浙江省",
"e": "6",
"f": "330000",
"g": "330600"
},
{
"a": "5387",
"cityName": "金华市",
"b": "0",
"c": "22909",
"d": "浙江省",
"e": "7",
"f": "330000",
"g": "330700"
},
{
"a": "1306",
"cityName": "衢州市",
"b": "0",
"c": "8797",
"d": "浙江省",
"e": "8",
"f": "330000",
"g": "330800"
},
{
"a": "1145",
"cityName": "舟山市",
"b": "0",
"c": "5593",
"d": "浙江省",
"e": "9",
"f": "330000",
"g": "330900"
},
{
"a": "2653",
"cityName": "台州市",
"b": "0",
"c": "16940",
"d": "浙江省",
"e": "10",
"f": "330000",
"g": "331000"
}
]
4.目标,提取接口响应数据中的cityName字段的值。
在Sampler,http请求下添加后置处理器---正则表达式处理器

5.配置正则表达式提取器
1.正则表达式提取器的名称
2.引用名称,是在使用正则表达式提取器提取到的数据时,所用的引用名称
3.正则表达式,"cityName":"([^"]+)",表示匹配cityName字段,获取字段值部分的数据。
这个正则表达式,也可以写为"cityName":"(.+?)"
4.正则表达式中,([^"]+)表示一组模板(组group,简g)。正则表达式中,可以包含多组模板,后面会讲到多组模板的情况
模板,是用来设置获取哪一组模板的匹配结果。本例中,正则表达式,只包含一组模板,所以模板是,$1$
5.匹配数字,是用来设置获取匹配结果中,第几次匹配到的结果值
-1,表示获取匹配结果中,所有匹配到的结果值
0,表示获取匹配结果中,随机一次匹配到的结果值
1,表示获取匹配结果中,第一次匹配到的结果值
2,表示获取匹配结果中,第二次匹配到的结果值
....................
本例中,正则表达式提取器,在响应数据里,可以匹配到十次。
设置的匹配数字是-1,那么正则表达式提取器,就提取到了所有的十次配置的结果值

6.使用正则表达式提取器提取到的数据(设置的匹配数字是-1)
cityName,是正则表达式提取器的引用名称。
${cityName_matchNr},获取正则表达式提取器的匹配次数,值是:10。
${cityName_1},获取第一次匹配到的数据值,值是:杭州市。
${cityName_1_g},获取第一次匹配到的字符串包含数据值个数,值是:1。
${cityName_1_g0},获取第一次匹配到的字符串,值是:"cityName":"杭州市"。
${cityName_1_g1},获取第一次匹配到的字符串中的,数据值部分,值是:杭州市。
${cityName_2},获取第二次匹配到的数据值,值是:宁波市。
${cityName_2_g},获取第二次匹配到的字符串包含数据值个数,值是:1。
${cityName_2_g0},获取第二次匹配到的字符串,值是:"cityName":"宁波市"。
${cityName_2_g1},获取第二次匹配到的字符串中的,数据值部分,值是:宁波市。
...........................
7.设置其他的匹配数字
a.更改上述,设置匹配数字为0,表示获取随机匹配到的数据。
${cityName},获取随机匹配到的数据,值是:如,温州市。
${cityName_g},获取随机匹配到的数据个数,值是:1。
${cityName_g0},获取随机匹配到的字符串,值是:"cityName":"温州市"。
${cityName_g1},获取随机匹配到的字符串中的,数值部分,值是:温州市。
b.设置匹配数字为1,表示获取第一次匹配到的数据。
${cityName},获取第一次匹配到的数据值,值是:杭州市。
${cityName_g},获取第一次匹配到的字符串包含数据值个数,值是:1。
${cityName_g0},获取第一次匹配到的字符串,值是:"cityName":"杭州市"。
${cityName_g1},获取第一次匹配到的字符中的,数据值部分,值是:杭州市。
........................
8.设置正则表达式,包含多组模板
正则表达式提取器设置:

正则表达式:"cityName":"([^"]+)","b":"([^"]+)"。包含两组模板
模版:$1$$2$,获取两组模板匹配到的数据
${cityName_matchNr},获取正则表达式提取器的匹配次数,值是:10。
${cityName_1},获取第一次匹配到的数据值,值是:杭州市1。
${cityName_1_g},获取第一次匹配到的字符串包含数据值个数,值是:2。
${cityName_1_g0},获取第一次匹配到的字符串,值是:"cityName":"杭州市","b":"1"。
${cityName_1_g1},获取第一次匹配到的字符串中的,第一个数据数值部分,值是:杭州市。
${cityName_1_g2},获取第一次匹配到的字符串中的,第二个数据数值部分,值是:1。
........
9.正则表达式包含多组模板,设置模板为其中的部分模板
a.更改上述设置模板为$1$
${cityName_matchNr},获取正则表达式提取器的匹配次数,值是:10。
${cityName_1},获取第一次匹配到的数据值,值是:杭州市。
${cityName_1_g},获取第一次匹配到的字符串包含数据值个数,值是:2。
${cityName_1_g0},获取第一次匹配到的字符串,值是:"cityName":"杭州市","b":"1"。
${cityName_1_g1},获取第一次匹配到的字符串中的,第一个数据数值部分,值是:杭州市。
${cityName_1_g2},获取第一次匹配到的字符串中的,第二个数据数值部分,值是:1。
b.设置模板为$2$
${cityName_matchNr},获取正则表达式提取器的匹配次数,值是:10。
${cityName_1},获取第一次匹配到的数据值,值是:1。
${cityName_1_g},获取第一次匹配到的字符串包含数据值个数,值是:2。
${cityName_1_g0},获取第一次匹配到的字符串,值是:"cityName":"杭州市","b":"1"。
${cityName_1_g1},获取第一次匹配到的字符串中的,第一个数据数值部分,值是:杭州市。
${cityName_1_g2},获取第一次匹配到的字符串中的,第二个数据数值部分,值是:1。
10.正则表达式提取器,的引用位置
通过上面的介绍,简单了解了正则表达式提取器。
下面就说下,可以在哪些地方引用到正则表达式提取器
cityName,是正则表达式提取器的引用名称。
a.路径
b.Parameters
c.Body Data
这些是目前我应用到的位置,应该还有其他位置也可以引用的,后续用到了,再在这里更新。
下图示例:

