使用flask框架写挡板

2022-07-22 15:43:19 浏览数 (1)

flask框架功能也是比较多,那么今天就讲一下在挡板上的应用。首先说一下什么挡板呢,这个词一般在性能测试中比较常见,就是完整的测试环境没有搭完,或者测试的成本很高,比如发送短信等。那么就需要模拟一些没有搭或成本高的的功能,这就可以用挡板来做,直观的说就是模拟真实的环境。

咱们对挡板也是有了一定的了解,那么具体怎么搭建呢,接下来就跟着我,搭建一个简单的挡板

一、打开python编辑器,这里呢我使用的是pycharm,创建一个工程,叫什么都可以,在里面建一个run.py

二、编辑代码,这边需要有flask基础的同学, 如果没有的话可以看看我之前发的关于flask框架的基础知识

代码语言:javascript复制
from flask import Flask, session, request, redirect, url_for,Response, jsonify
import json
import time

app = Flask(__name__)

# 定义接口路径
@app.route('/api/login', methods=['post', 'get'])
def do_login():
    # 判断请求的方式是post还是get
    if request.method == "GET":
        fail = {
            "timestamp": (time.asctime()),
            "error": 1
        }
        # get请求的话返回fail数据
        return jsonify(fail)
    # post请求的话返回success数据
    else:
        success = {
            "data": {
                "user_info": request.get_json()["user_info"],
                "password": request.get_json()["password"]
            },

            # 时间戳
            "timestamp": (time.asctime()),
            "success": 1

        }
        # 返回json形式的数据
        return jsonify(success)
        
if __name__ == '__main__':
    app.run(debug=True)

三、运行代码

好了,这样一个简单的挡板服务器就可以了,其实很简单,相比正式业务来说没有复杂的业务处理的过程,就是简单的模拟返回报文的过程,接下来咱们用requests来测试一下,看效果怎么样

新建test.py文件

里面写上代码

代码语言:javascript复制
import json
import requests

# GET请求
# requests.get(url, params=None)
# POST请求
url = "http://127.0.0.1:5000/api/login"
data = {
    "user_info": "xiaoli",
    "password": "123456"
}
# 请求头,这里发送的是json数据,所以要选择以下形式
headers = {'Content-Type': 'application/json'}

# 将普通的字典类型转换成json类型
data_json = json.dumps(data)

# 其中data参数就是发送的数据,也就是咱们的json类型数据
res = requests.post(url, data=data_json, headers=headers, json=None)
print(res.text)

下面运行,一下爱,看一下返回结果

出现以上的返回内容就说明咱们的挡板配置成功了。这样咱们就可以根据需求返回指定的返回内容了,具体就是在这样的基础上修修改改就可以了

0 人点赞