python,Postman,Jmeter获取token
要求:获取token
本示例:token为/data/data/access_token
-
python方法:
json.loads()用于将str类型的数据转成dict
import requests import json #将获取的token单独出来,便于以后再不同地方多次调用 class Token: url = ' http://xxxxxxxxx.com/' username = 'shiguang' password= '123456' res = requests.get(url, auth=(uername, password)) # print(res.text) res.text_json = json.loads(res.text) # 将响应结果res.text转换为字典格式,便于从众多响应结果中获取token # print(res.text_json) datas_token = res.text_json['data'] # 获取json中key=data的value # print( datas_token) atoken = datas_token['data']['access_token'] # 一层一层的剥响应结果,直到找到为止,具体要根据响应信息的实际情况而定 print(atoken) if '__name__' == '__main__': token = Token()
res.text_json与token的响应结果为:
#res.text_json的结果为: {'data': {'data': {'access_token': '1f913ee1f0ce765f9d2c471717f1e91517038225f09d964c5473a82064f325e4'}}} #token为: 1f913ee1f0ce765f9d2c471717f1e91517038225f09d964c5473a82064f325e4
调用token,只需将请求头设置为如下即可:
header = { 'Authorization': 'Bearer ' + Token.token, 'Content-Type': 'application/json; charset=UTF-8' } # Authonorization需结合实际要求
-
Postman方法:
- 添加请求url
2.添加Auth验证
3.在Headers中会自动添加Authorization信息,注意勾选上
4.发送请求Send,查看响应信息
生成的响应信息如下:
5.从token请求的响应结果中获取token值(Tests中添加如下代码)
var result = JSON.parse(responseBody); // 获取 响应结果 postman.setEnvironmentVariable("token", result.data.data.access_token); postman.setEnvironmentVariable("token_type", result.data.data.token_type); // data为获取到的返回数据,token为我创建环境时变量名
6.将token值设置为全局变量,在Manage 环境中添加 token_type和token
7.接口请求中调用token
-
Jmeter方法:
(1)添加一个【线程】 (添加--线程(用户)--线程组)
(2)在该【线程组】下添加1个HTTP请求(添加--取样器--HTTP请求),并且填写正确的url(如有其他要求,请自行补充)
(3)在【HTTP请求】下添加HTTP Cookie管理器(添加--配置元件--HTTP Cookie管理器),填写如下信息
(4)在【HTTP请求】下添加监听器(添加--监听器--查看结果树 )
(5)开始测试,查看响应结果
(6)若想提取token,在其他请求中使用,需【在HTTP请求】下添加正则表达式提取器或边界提取器(添加--后置处理器--正则表达式提取器/边界提取器)
正则表达式提取器:(.+?)或者(.*?)匹配
边界提取器:
可以自行在查看结果树中校验是否正确;
(7)调用token
在【HTTP请求】下添加HTTP信息头管理器(添加---配置元件---HTTP信息头管理器)