python,Postman,Jmeter获取token

要求:获取token

1)HTTP request header: content-type: application/json

2)HTTP Authorization Basic 认证: username, password

本示例: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方法:

  1. 添加请求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信息头管理器)

 

 

原文地址:https://www.cnblogs.com/kite123/p/11828532.html