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 :如果没有提取到我们想要的参数时 给的一个默认提示

        从结果树里面取提取用户token表达式的来源    表达式:$.result.token

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 参数中

备注:如果生成的函数被置灰,无法选中复制,不用担心;其实在生成的时候已经给你复制了,你只需要在别的需要应用地方Ctrl+V 复制就行了

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值

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

———————————————————————————————————————————

方式二,只需使用Json Extractor 后置处理器即可实现

1.添加后置处理器 Json Extractor 并配置 变量名称和 提取路径

2.将配置好的变量存放到 信息管理头中即可正常使用全局变量的token

 

至于这两种方式的区别的话...............

 

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值