day2_jmeter关联的两种实现方式

把第一个请求的返回值,在响应结果里找到要替换的字段,把该字段用正则表达式来实现,作为第二个请求的入参,用到关联

第一种添加关联的方式利用正则表达式提取器找到token值得左右边界,将需要关联的值替换成(.*)(.+?)
(and):它们会嵌套到被返回的匹配字符串部分
.:匹配任何字符
+:一次或者多次
:不是贪婪的,例如:当第一次匹配成功后停止
引用名称随便起,
模板就默认使用$2$-$1$-$3$,$2$取第二个括号里的,$1$取第一个括号里的,$3$取第三个括号里的
匹配数字-1代表全部,0代表随机,1代表第一个出现就取出来
缺省值随便写,如下图:

如果正则表达式里面有括号要进行转义,如admin(.*)(78),如果不转义第二个括弧相当于第二个正则表达式,正则表达式是<ID>9</ID>    <Zone>(.*)</Zone>,中间的空白有可能是换行,也有可能是回车,换成<ID>9</ID>s+<Zone>(.*)</Zone>就可以了,匹配数字写9

如果接口返回的html或xml的,用这种格式的//*/ID[text()=9]/../Zone,具体要看什么结构了,如果html下面这两处必须要勾上,xml不用勾,如下图:

如果最后一个红框里的勾上,返回的是name=<Zone>山东</Zone>,如果不勾是name=山东

第二种方式是添加jp@gc - JSON Path Extractor,如下图:

配置如下图所示:

在json path中$表示根,$.后面加上字段就可以查到字段的value
用户信息接口的服务器名称或IP是python.nnzhp.cn,路径是/user_info,入参是username和token,然后将ssj传到token的值里,用${ssj}表示,如下图:


如上图:
每次反复清除Cookies? 可以勾选也可以不勾选
Cookie Policy 默认就选择standard,里面还有个ignoreCookies就是把浏览器的cookie给禁用了,这个尽量不选,只选standard就行
路径 通过抓包可以看到path=xxxx,xxxx是什么就是路径,把路径写进来就行
CookieManager.save.cookies=true jmeter bin目录下的jmeter.properties里有,默认是false并且还注释了,就会把cookie保存到一个变量里
#CookieManager.name.prefix= 是给变量名指定一个前缀,一般是COOKIE
#CookieManager.check.cookies=true 这个是跨域的,cookie管理器里有个域,如果跨域就把这个开启

原文地址:https://www.cnblogs.com/laosun0204/p/8400112.html