我是靠谱客的博主 如意羊,最近开发中收集的这篇文章主要介绍利用python+flask搭建mock接口服务,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、测试需求来源:

测试环境进行某后端服务的测试,某些功能依赖其他系统的输出数据,由于线下测试环境网络隔离等原因,无法实时获取依赖系统的数据,基于此种情况,需要通过搭建一套接口服务模拟出依赖系统的输出数据,以供被测系统调用。
因此选择python和falsk框架快速搭建一套mock api 服务,模拟依赖系统的输出数据,快速构造测试场景。

2、开发环境准备

  • Python开发环境;
  • Flask安装:pip install flask python;
  • 引用flask模块:import flask

3、使用flask mock api的好处:

  • 自己模拟一个接口,暂时代替第三方接口测试
  • 辅助测试,用来代替没有开发好的接口
  • 将被测单元与依赖模块独立出来

4、测试脚本开发总结:

import flask #python的轻量级的开发框架
server = flask.Flask(__name__)
#__name__当前文件名
datas={}
@server.route('/get_data',methods=['get','post']) #将下面函数变成一个接口
def get_data():
return 'flask.jsonify(datas)' #return只能返回字符串
server.run(host=“”,port = 8080,debug = True)
# 启动服务,加debug自动帮忙重启

5、测试场景:

  1. 使用GET请求获取数据列表,脚本如下:
	#!/usr/bin/python
#-*- coding: UTF-8 -*-
import json
from flask import request,Flask,jsonify
app = Flask(__name__)
data=[
{'key1':'V1','key2':'V2','id':'1'},
{'key1':'Va1','key2':'Va2','id':'2'},,
{'key1':'Val1','key2':'Val2','id':'3'}]
not_exist = {"msg": "task does not exist"}
values = ['V1', 'Va1', "Val1"]
exist = {"msg": "value is exist"}
@app.route("/dataAPI/data/<string:value>",methods=['get','post'])
def get_data(value):
if len(value)>0 and value in values:
for d in values:
if value==d['value']:
return make_response(jsonify(d),200)
else:
return make_response(jsonify(not_exist),404)
if __name__=='__main__':
app.run(host='127.0.0.1',port=8080,debug=True)
  1. 使用PUT方法更新资源
	@app.route("/dataAPI/data/<string:value>",methods=['PUT'])
def update_data(value):
if len(value)>0 and value in values:
for d in values:
if value==d['value']:
id==d['id']
data[id - 1] = request.json
return make_response(jsonify(data[id-1]),204)
else:
return abort(404)
  1. 使用DELETE方法删除资源

	@app.route("/dataAPI/data/<string:value>",methods=['DELETE'])
def delete_data(value):
if len(value)>0 and value in values:
return make_response(jsonify(data),204)
else:
return abort(404)
说明
  • jsonify:将我们传入的json形式数据序列化成为json字符串,作为响应的body,并且设置响应的Content-Type为application/json,构造出响应返回至客户端;
  • request可以通过request.json取到接受到数据;
  • abort用于返回通用的错误比如:404,400,500;
  • make_response自定义返回的object,因为一般接口都会返回一个数据和状态码,所以结构为make_response(request.json,201)。

最后

以上就是如意羊为你收集整理的利用python+flask搭建mock接口服务的全部内容,希望文章能够帮你解决利用python+flask搭建mock接口服务所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部