python 参数拼接token_对python的unittest架构公共参数token提取方法详解

额。。。每个请求都有token值的传入,但是token非常易变,一旦变化,所有的接口用例都得改一遍token,工作量太大了。。。

那么有没有一种方法能把token提取出来,作为一个全局变量,作为一个参数,从而牵一发而动全身呢??

经过探索,具体方案如下

先定义一个全局变量token类型为string

然后把请求链接定义一个变量类型为string

然后定义第三个变量=前两个变量相加

然后requests直接传第三个变量就行了

具体代码如下:

class Test(unittest.TestCase):

token = "8f779018-9e20-4371-93f6-838bca7c737e"

#构建析构函数,初始化接口

def setUp(self):

f = open('E:/1.txt', 'a')

f.write('-------------------------------'+'\n')

print '\n'

f.close()

pass

def tearDown(self):

print 'ok'

#虚机应用相关接口

def test_serverstate(self): #检查虚机应用状态

u = "http://e.uu.com.cn/api/v1/app/state?ciaToken="//定义token之外的链接为string变量

url = u+self.token //拼接整个链接

r = requests.get(url) //直接传变量

print r.text

result = r.json()

self.assertEqual(result['success'],True)

f = open('E:/1.txt', 'a')

f.write('检查虚机状态接口OK'+'\n')

print '\n'

f.close()

以上这篇对python的unittest架构公共参数token提取方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用 JWTManager 时,可以通过 token_in_blocklist_loader 参数来指定一个函数,该函数用于检查 JWT token 是否在 blocklist 。下面是一个使用 token_in_blocklist_loader 的例子: ```python from flask_jwt_extended import JWTManager, jwt_required, create_access_token, get_jwt_identity from datetime import timedelta app = Flask(__name__) app.config['JWT_SECRET_KEY'] = 'super-secret' app.config['JWT_ACCESS_TOKEN_EXPIRES'] = timedelta(hours=1) jwt = JWTManager(app) # Define a function to check if a token is in the blocklist def check_if_token_in_blocklist(jwt_header, jwt_payload): # Check if the token is in the blocklist # Return True if the token is in the blocklist, False otherwise return False # Set the token_in_blocklist_loader to the check_if_token_in_blocklist function jwt.token_in_blocklist_loader(check_if_token_in_blocklist) # Define a route to generate a JWT token @app.route('/login', methods=['POST']) def login(): # Authenticate the user user_id = authenticate_user(request.form['username'], request.form['password']) if user_id is None: return jsonify({'message': 'Invalid credentials'}), 401 # Create a JWT token access_token = create_access_token(identity=user_id) # Return the JWT token return jsonify({'access_token': access_token}), 200 # Define a route that requires a JWT token @app.route('/protected', methods=['GET']) @jwt_required() def protected(): # Get the user ID from the JWT token user_id = get_jwt_identity() # Return a message indicating that the user is authenticated return jsonify({'message': f'Authenticated as user {user_id}'}), 200 ``` 在上面的例子,我们定义了一个名为 check_if_token_in_blocklist 的函数,该函数用于检查 JWT token 是否在 blocklist 。然后,我们将该函数设置为 token_in_blocklist_loader 的值。在 login 路由,我们使用 create_access_token 函数生成一个 JWT token,并将其返回给客户端。在 protected 路由,我们使用 jwt_required 装饰器来保护该路由,只有携带有效的 JWT token 的请求才能访问该路由。在 protected 路由,我们还使用 get_jwt_identity 函数获取 JWT token 的用户 ID。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值