【python】接口自动化-Authorization使用

本文介绍了在Python接口自动化测试中,如何使用Authorization进行身份验证。详细梳理了Authorization用法的三种方式,包括Bearer token的传递,并通过实例展示了它们在headers中的设置,强调这三种方法在接口调用中等效且有效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口自动化-Authorization使用

整理接口自动化的时候,发现有接口使用了Authorization,整理了下使用方法。

接口信息和工具

工具环境:pyhton3.7,PyCharm,requests
接口信息:普通接口,Method为GET;
特殊点:接口调用时headers中有一个参数 Authorization
值为 “Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NDMwMDQzOTksImlkIjoie1wiaWRcIjo2MTV9Iiwib3JpZ19pYXQiOjE2NDI5MTc5OTl9.Xa9aygjRb8e22u-LilJAiq4MBvvLyM4VeOg8Vfs2-Dg”
文字描述为 Bearer+空格+token

接口

Authorization用法1

get_authorization = get_access_token(token_url,token_data)

list_url = "http://9.135.232.228:18851/api/v1/flow/external/todo-total"

headers = {
   
   
            'Authorization': 'Basic {}'
### 实现 Python 中调用微信 `wx.login()` 获取 Code 由于微信小程序的登录机制设计,`wx.login()` 方法必须由客户端(即微信环境内)发起。然而,在自动化测试场景中,可以模拟这一过程间接获取 code。 对于 Python 环境下的接口自动化测试而言,重点在于模拟接收从前端传递过来的 code 并利用此 code 向微信服务器请求 session_key 和 openid 的部分[^1]。具体来说: #### 准备工作 确保已安装必要的库用于 HTTP 请求操作以及加密解密支持: ```bash pip install requests pycryptodome ``` #### 模拟后端逻辑处理 Code 下面展示了一个简单的 Flask 应用来接受来自前端的 code 参数并据此与微信官方 API 交互的过程: ```python from flask import Flask, request, jsonify import requests app = Flask(__name__) @app.route('/login', methods=['POST']) def login(): data = request.json appid = 'your_app_id' secret = 'your_secret' if not data or 'code' not in data: return jsonify({'error': 'Invalid input'}), 400 code = data['code'] url = f'https://api.weixin.qq.com/sns/jscode2session?appid={appid}&secret={secret}&js_code={code}&grant_type=authorization_code' response = requests.get(url).json() if 'errcode' in response and response['errcode'] != 0: return jsonify(response), 500 # 此处可以根据业务需求进一步处理返回的数据 return jsonify({ "openid": response["openid"], "session_key": response["session_key"] }) if __name__ == '__main__': app.run(debug=True) ``` 这段代码展示了如何创建一个简易的服务端点 `/login` 来接收 JSON 格式的 POST 请求中的 code 字段,并将其转发给微信提供的 jscode2session 接口以换取用户的 openid 和 session_key[^3]。 为了使上述方案适用于自动化测试框架,可以在编写单元测试时构造特定形式的输入数据作为 mock 数据源,从而绕过实际的小程序运行环境限制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值