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
至于这两种方式的区别的话...............