第一章 Jmeter安装(Mac版)
第二章 Jmeter安装(Windows版)
第三章 PyCharm连接数据库使用
第四章 Jemter连接数据库使用
第五章 Flask模拟接口
第六章 dubbo接口测试
文章目录
一、Flask 概述
1、flask是⼀个使用python编写的轻量级web引用框架,可以使用python来迅速实现⼀个网站或者API的构建,flask是第三方库,需要使用PIP来进行安装。
二、Flask 安装
1、安装 Flask
在PyCharm中使用终端,输入pip install flask
2、验证 Flask
验证flask是否安装成功,可以使用命令pip show flask
三、Flask 使用
1、启动Flask 服务
# -*- coding: utf-8 -*-
# @Time : 2022/6/14 17:40
# Author : 拒绝内卷的小测试
from flask import Flask
# 初始化Flask框架
app = Flask(__name__)
if __name__ == '__main__':
app.run()
2、路由
Flask中的route()装饰器用于将URL绑定到函数。例如:
这样,就可以通过url参数’/ First_Blood’ 规则绑定对应的test_one()函数,直接在浏览器中访问。
# -*- coding: utf-8 -*-
# @Time : 2022/6/14 17:40
# Author : 拒绝内卷的小测试
from flask import Flask
# 初始化Flask框架
app = Flask(__name__)
# http://127.0.0.1:5000/First_Blood
@app.route("/First_Blood")
def test_one():
return "恭喜你,成功拿下一血!"
@app.route("/Double_Kill")
def test_two():
return "恭喜你,完成双杀!"
if __name__ == '__main__':
app.run()
3、动态路由
通过向规则参数添加变量部分,可以动态构建URL。例如:
# -*- coding: utf-8 -*-
# @Time : 2022/6/14 17:40
# Author : 拒绝内卷的小测试
from flask import Flask
# 初始化Flask框架
app = Flask(__name__)
# http://127.0.0.1:5000/First_Blood
@app.route("/First_Blood/<username>")
# 通过url传入username带入函数中
def test_one(username):
return f"恭喜你{username},成功拿下一血!"
if __name__ == '__main__':
app.run()
4、限定类型
限定参数类型后,类型之外的请求参数会报404,无法访问。例如:
# -*- coding: utf-8 -*-
# @Time : 2022/6/14 17:40
# Author : 拒绝内卷的小测试
from flask import Flask
# 初始化Flask框架
app = Flask(__name__)
# http://127.0.0.1:5000/First_Blood
@app.route("/First_Blood/<username>/<int:num>")
# 通过url传入username、num带入函数中,num限制只能为int类型
def test_one(username, num):
return f"恭喜你{username},成功拿下{num}血!"
if __name__ == '__main__':
app.run()
5、请求方式
默认情况下,Flask路由响应GET请求。上述方法中,也都是GET请求。但是,可以通过为route()装饰器提供方法参数来更改此首选项。POST请求方式例如:
# -*- coding: utf-8 -*-
# @Time : 2022/6/14 17:40
# Author : 拒绝内卷的小测试
from flask import Flask
# 初始化Flask框架
app = Flask(__name__)
# 使用post方法发起请求
@app.route("/query", methods=["post"])
def query():
return "这是一个post请求的响应数据"
if __name__ == '__main__':
app.run()
post的请求方法无法在浏览器中直接调用,可以用Postman、Jmeter等工具发起请求,这里使用python的request库调用接口。
6、Mock登录接口
flask模拟一个登录接口,当账号密码正确时返回success,否则fail。
通过flask起一个服务,获取post请求参数的username及password,校验后返回结果:
# -*- coding: utf-8 -*-
# @Time : 2022/6/14 17:40
# Author : 拒绝内卷的小测试
from flask import Flask, request
# 初始化flask框架
app = Flask(__name__)
@app.route("/login", methods=["post"])
def login():
username = request.json.get("username")
password = request.json.get("password")
print(username)
response = {"success": {"code": 0, "msg": "success"}, "fail": {"code": 1, "msg": "fail"}}
if username == "tester_Xu":
if password == "123456":
return response["success"]
else:
return response["fail"]
else:
return response["fail"]
if __name__ == '__main__':
app.run()
发起一个post请求,传入正确的用户名及密码,返回success:
当用户名或密码错误时,返回fail:
随手点赞一次,运气增加一份。