jmeter 使用之接口间参数传递

  • 接口间参数传递
  • 正则表达式提取器
  • 正则表达式提取器的使用


接口间参数传递

举例

当访问某些页面的时候,服务器会给浏览器发送一个session,这个session保存在浏览器的cookie中,

jemeter groovy传参 jmeter取值传参_参数传递

jemeter groovy传参 jmeter取值传参_jemeter groovy传参_02


当用户进行登陆的时候,post请求中除了登陆的账号和密码,还需要带上session值所谓接口的参数传递,就是将上一个接口中响应的数据,放到下一个接口的请求中

jemeter groovy传参 jmeter取值传参_参数传递_03


在该例中,就是要将open请求中的userSession的值,放到login接口的请求参数中

jemeter groovy传参 jmeter取值传参_请求参数_04

正则表达式提取器

jemeter groovy传参 jmeter取值传参_正则表达式_05


通过正则表达式提取器,提取userSession值

将该正则表达式提取器放到open请求下方,或者放到open请求的子集里面,这里选择放到open请求的子集里面

jemeter groovy传参 jmeter取值传参_jemeter groovy传参_06


提取userSession的值

jemeter groovy传参 jmeter取值传参_参数传递_07

正则表达式提取器的使用
  • 引用名称 : 相当于变量名称,可随便取,但最好规范一点,和参数内容挂钩
  • 正则表达式 :匹配需要提取的内容
name=userSession value=(.+?)>
表示匹配以 name=userSession value= 开头,以>结尾的代码里面的内容
  • 模板 : 匹配个数
$1$ 表示正则表达式匹配的内容有1个
$2$ 表示正则表达式匹配的内容有2个
......
  • 匹配数字 : 取正则表达式匹配的内容中的第几个
-1 取出全部正则表达式匹配的内容
0 表示随机取出正则表达式匹配的内容
1 表示取出第1个正则表达式匹配的内容
......
  • 缺省值 :如果匹配到的内容没有值,那么就将这个缺省值赋予引用名称 user

将提取的内容放到下一个接口的请求参数中
格式为

${变量名}
这里为 ${user}

jemeter groovy传参 jmeter取值传参_正则表达式_08


这样,就可以实时将session值获取下来,传到登陆接口中