接口测试平台-108: 接口库增加项目公共登陆态 发送请求

1. 调用登陆态接口并解析返回登陆态,views.py

# 调用登陆态接口
def project_login_send_for_other(project_id):
    # 第一步,获取数据
    login_api = DB_login.objects.filter(project_id=project_id)[0]
    login_method = login_api.api_method
    login_url = login_api.api_url
    login_host = login_api.api_host
    login_header = login_api.api_header
    login_body_method = login_api.body_method
    login_api_body = login_api.api_body
    login_response_set = login_api.set

    # 第二步,发送请求
    try:
        headers = json.loads(login_header)  # 处理header
    except:
        return HttpResponse('请求头不符合json格式!')

    try:
        response = api_send_basic(login_method, login_host, login_url, headers, login_body_method, login_api_body)
        res = response.json()
        # 第三步,对返回值进行提取
        get_res = {}  # 声明提取结果存放
        for i in login_response_set.split('\n'):
            if i == "":
                continue
            else:
                i = i.replace(' ', '')
                key = i.split('=')[0]  # 拿出key
                path = i.split('=')[1]  # 拿出路径
                value = res
                for j in path.split('/')[1:]:
                    value = value[j]
                get_res[key] = value
        return get_res
    except Exception as e:
        return {}

2. 回到api_send函数中,调用这个新登陆态请求for_other函数

if ts_login.lower() == 'yes':
    login_response = project_login_send_for_other(project_id=DB_apis.objects.filter(id=api_id)[0].project_id)
else:
    pass
print(login_response)

重启服务,看输出得到的登陆态参数:

 

3. 插入到url、header、body中

url:

# 插入登陆态字段
## url
if '?' not in url:
    url += '?'
    for i in login_res.keys():
        url += i + '=' + login_res[i] + '&'
else:
    for i in login_res.keys():
        url += '&' + i + '=' + login_res[i]
print(url)

 

header+body,此处选择这个,不用url:

不能直接=body,否则会执行不了方法2

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值