Jmeter 学习随笔(四)

在前三篇文章已经讲过 Jmeter 的基本安装和使用,用过 Jmeter 进行接口测试和压力测试的小伙伴应该都知道,用户登录后会生成 token ,登录后的每一个接口的操作都是需要进行登录态校验的,用户进入不同的接口之后,sign 的生成会变得千奇百怪,现在想记录下我解决上一个接口存储的变量在下一接口的使用。

使用正则表达式

在进行上一接口和新下一接口变量中间的传递和使用时,大部分小伙伴会使用正则表达式来进行传递。
首先,用户登录后会生成当前用户,当前时间戳下的 token ;
用户登录后生成相应的token
其次,在同一线程组同一登录请求下使用【正则表达式】将生成的 token 存为全局变量;
在同一登录请求下,添加后置处理器->正则表达式提取器,填写
引用名称:token
正则表达式:”token”:”(.+?)”
模板: 1
匹配数字(0代表随机):0
缺省值:null
这里写图片描述
最后,将获取到的token存成全局变量就可以进行使用了。

之前是进行过尝试的,没有进行全局变量的设置时,偶尔 token 是可以在整个测试计划下使用的,但是经常会报错,导致获取不到 token 变量

在当前线程组下点击右键—>添加—>Sampler—>BeanShell Sampler,进行全局变量的存储

${__setProperty(token,$(token),)}

将获取到的token存为全局变量
在下一请求的HTTP 头信息管理处进行验证token变量的获取是否正确
token的使用

使用 JSON Path 方式

JSON Path 使用方法

只有在登录的时候,接口产生的变量可能只有 token ,但是就当前所测的APP来说,需要上一接口的变量非常的多,所以,只是用正则表达式肯定不能满足我们需要获取的变量值,于是使用 JSON Path 的方式进行获取并存为全局变量使用。

第一步:与上面的正则表达式类似,都是在当前登录请求下面进行添加后置处理器—>JSON Extractor,查看需要获取的变量名及位置
PLANID获取
第二步:根据该接口得到的字符串,进行获取变量并存为全局变量在整个测试计划中使用。
获取变量
全局变量的存储形式与上面正则表达式的相同,再次不再赘述。

第三步:在 参数管理处添加上一接口获取到的全局变量,生成 sign 的时候进行使用
参数处使用全局变量

其实上一接口和下一接口间变量的获取使用哪一种方式都可以,主要是变量需要在上一接口处进行存储为全局变量,在下一接口处进行提取使用,需要了解Bean Shell 全局变量的存储方式,以及使用方法
${__setProperty(token,$(token),)} ----Bean Shell中全局变量存储方式
${__P(token,)}                  ----下一接口变量的使用方法

猜你喜欢

转载自blog.csdn.net/KarenChen666/article/details/80203384