jmeter之关联 ——上一接口的返回数据作为下一个接口的请求数据
完整案例解析
获取事件列表及事件详情,首先需要登录,借助cookie绕过登录;登录后获取事件列表,根据事件ID获取事件详情
1,‘用户定义的变量’的应用
添加一个‘用户定义的变量’,设置变量名及值,之后在使用的时候直接调用即可“${变量名}”,如截图
2,"HTTP Cookie 管理器"的应用
获取实时事件列表需先登录,登录后手动获取JSESSIONID,添加在cookie管理器中,绕过登录操作,如图示(其中‘域’已经在‘用户定义的变量’中设置,直接用“${host}”调用即可)
3,建立接口间的关联
首先获取实时事件列表如图,得到的响应报文如下:
需要获取到响应数据中的ID值,用于查询事件详情
(1)响应报文是json格式,根据正则表达式获取ID值
位置1:名称及注释
位置2:正则表达式提取内容的范围。(关于各字段的详细说明请查阅协议的相关说明)
位置3:正则表达式提取的相关设置
引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:id,后面的引用方式是id正则表达式:提取内容的正则表达式,相当于lr中的关联函数【()括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来】【.点号表示匹配任何字符串】【+一次或多次】【?在找到第一个匹配项后停止】模板:用{id}
正则表达式:提取内容的正则表达式,相当于lr中的关联函数
【() 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来】
【. 点号表示匹配任何字符串】
【+ 一次或多次】
【? 在找到第一个匹配项后停止】
模板:用id正则表达式:提取内容的正则表达式,相当于lr中的关联函数【()括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来】【.点号表示匹配任何字符串】【+一次或多次】【?在找到第一个匹配项后停止】模板:用$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是222,333等等,表示解析到的第几个值给id。例如:111表示匹配到的第一个值
匹配数字:0代表随机取值,1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是1,还可以通过id1的方式来取第1个匹配的内容,{id_1}的方式来取第1个匹配的内容,id1的方式来取第1个匹配的内容,{id_2}来取第2个匹配的内容。
缺省值:正则匹配失败时,取的值
(2),取到ID值后,在事件详情中直接引用即可