本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/27521

一、服务的启动配置

服务的启动配置主要包括三项:

  • 监听主机
  • 监听端口
  • debug模式

配置代码如下:

if __name__ == '__main__':
    # 设置监听的主机、端口 以及 Debug 模式
    # --------------------------------------------------------
    # 默认 host = "127.0.0.1"(只能本机访问),端口号为5000
    # 当 host = "0.0.0.0",则可以将服务发布到局域网
    # 当 host =" 外网ip",则可以将服务发布到 外网 / 公网
    # --------------------------------------------------------
    # 当端口号被占用或想修改端口号时,可以通过 port = 端口号 进行设定
    # --------------------------------------------------------
    # 系统未上线时,可以打开 Debug 模式便于测试(通过 debug = True 进行设定),此时,服务器代码修改保存后会自动重新加载,无需重启服务
    app.run(host="0.0.0.0",port=5008,debug=True)

服务启动后,配置效果为:

软件测试学习笔记丨测试平台开发 - 服务的配置_软件测试

运行效果为:

软件测试学习笔记丨测试平台开发 - 服务的配置_flask_02

二、接口配置

flask-restx:支持 RESTFul 的 flask 插件,用于规范化接口的编写,并且支持 swagger 文档。

1、下载 flask-restx

pip install flask-restx

2、基本使用方法

from flask import Flask
from flask_restx import Api, Resource

app = Flask(__name__)

# 1、定义 api 实例对象
api = Api(app)

# 2、通过 api 添加 路由
@api.route('/index/')
# 3、定义类,该类需继承自 Resource
class Flask_Demo(Resource):
    # 4、设定 restful 风格的 get 方法
    def get(self):
        return {"require-post":"get"}

    # 设定 restful 风格的 post 方法
    def post(self):
        return {"require-post": "post"}

if __name__ == '__main__':
    app.run(debug=True)

首页运行效果为:

软件测试学习笔记丨测试平台开发 - 服务的配置_端口号_03

设定的网页路径下,运行效果为:

(1)get请求

软件测试学习笔记丨测试平台开发 - 服务的配置_复用_04

(2)post请求

软件测试学习笔记丨测试平台开发 - 服务的配置_测试平台_05

另外,添加路由方法有两种:

  • @api.route(route1, route2, …)
  • api.add_resourse(class_name, route1, route2, …)

三、设计框架的原则

  • 复用性
  • 高内聚(便于复用),低耦合(便于扩展)

比如,在定义接口时,对同一个路由用一个类来处理;对同一类事物的不同操作,用一个类+多个成员函数来处理。