Jmeter之设置用户token为全局变量(超详细,保证你会)

1.打开jmeter之后新增一个线程组

路径:Test Plan ——Add——Theads(user)——Thread Group

2.添加了线程组之后,在线程组下面添加一个sampler 取样器,就是HTTP request

3.在http请求里面输入接口的相关参数

包含:请求协议,IP地址,端口号,请求方式(常用GET,POST),接口的路径,编码格式,接口请求需要携带的参数

4.给登录的接口添加“view result tree”查看结果树

路径:HTTP Request——Add——Lislencer——View Results Tree

5.添加完成后点击运行,

6.运行之后发现返回的数据提示不支持该格式

提示:Content type text/plain;charset=UTF-8 not supported

解决方法:

6.1然后我们需要在头部加一个HTTP Header Mannager 的头部管理器(这里直接放到Test Plan 下面后面所有的线程组都会运行这个请求格式)

6.2 在HTTP Header Mannager 里面添加一个值为CotentType 格式设置为 applicant/json

6..3 然后再次运行,这个时候我们发现就可以了

7.通过上面运行用户登录的结果我们已经获取到了用户的token,接下来我们在添加后置处理器

jp@gc-JSON/YAML Path Extractor

路径:HTTP Request——Add——Post Processors——jp@gc-JSON/YAML Path Extractor

8. 添加完成后就是去配置jp@gc-JSON/YAML Path Extractor里面的相关参数

Detination Variable name:自定义变量名称

JSONPath Expression: 提取参数的表达式(我们这里就是提取用户token的表达式)

Default Value :如果没有提取到我们想要的参数时 给的一个默认提示

9.接下来添加一个Debug PostProcessor 去查看我们通过jp@gc-JSON/YAML Path Extractor去提取的用户token 是否成功。(这一步也可以不执行,主要是为了验证)

路径:HTTP Request——Add——Post Processors——Debug PostProcessor

9.1同样点击运行后在结果树里面查看,在下图我们看到 我们已经获取到了用户的token值

10.接下来就要用到我们的 函数助手了,打开函数助手,找到_setProperty函数

10.1. 路径:Tools—— Function Helping Dialog (快捷键:Ctrl+shift+F1)

10.2 找到_setProperty函数之后,

01 将我们提取token的表达式放在value 值中,

02 然后点击“生成”,就生成了一个全局变量函数

03 复制生成的函数,然后粘贴到接下来我们要讲的BeanShell PostProcessor 参数中

11.用户的token提取成功之后,我们需要再添加一个后置处理器:BeanShell PostProcessor

路径:HTTP Request——Add——Post Processors——BeanShell PostProcessor

11.1 设置 BeanShell PostProcessor中的相关参数,需要把我们在_setProperty函数中生成的函数填入即可。

11.2 ${__setProperty(ntoken,${token},)} 这里的“ntoken” 是我们在其他地方引用的名称,我们可以自定义进行修改; 这里我改成了${__setProperty(user_ntoken,${token},)}

11.3 接下来就是最后一步,在HTTP Header Mannager 的头部管理器里面加入我们的token函数变量

要点:在引用时我们只需要我们设置的名称即可

${__setProperty(user_token,${token},)} : 函数生成后的token变量

${__setProperty(user_token)}: 我们实际引用的token变量

12. 到这里我们的全局变量就已经设置完成了,后续的所有请求都会带着我们刚刚配置好的全局变量token

以下是举例说明:

1.用户预约的接口需要用户登录的token

2.新增http的请求并填写接口所需的相关参数,并且是没有填写用户token的相关信息;

3.最后通过结果树查看到 我们在请求头查看到请求时 携带着用户的token值

所以,全局变量设置成功啦!

经验分享 程序员 微信小程序 职场和发展