Python+Flask搭建mock api server
Python+Flask搭建mock api server
前言:
近期由于工作需要,需要一个Mock Server调用接口直接返回API结果;
假如可以先通过接口文档的定义,自己模拟出服务器返回结果,直接对接口基本功能进行联调测试并编写自动化测试脚本,等服务器上线之后,切换server地址,直接可以简化调试时间,缩短项目测试周期;
准备工作
Python安装
Flask安装:pip install flask
准备代码
简单的python代码
# encoding: utf-8from flask import abort, jsonify, Flask, request, Response
app = Flask(__name__)#定义域名,然后通过配置hosts的方式访问此域名下对应的接口app.config['SERVER_NAME']='test.wondershare.mock'
tasks1 = {
"data": {
"loginName": "aaaaaa",
"roles": 1,
"permissions": 1,
"active": 1
},
"stateCode": {
"code": 1,
"desc": "成功1"
},
"statusText": "成功1",
",
"success": 1
}
tasks2 = {
"data": {
"loginName": "bbbbbb",
"roles": 2,
"permissions": 2,
"active": 2
},
"stateCode": {
"code": 2,
"desc": "成功2"
},
"statusText": "成功2",
",
"success": 2
}
error = {
"data": {},
"stateCode": {
"code": 500,
"desc": "没有找到对应接口"
},
"statusText": "没有找到对应接口",
",
"success": 0
}
#定义路由
@app.route('/v1/testMock', methods=['GET', 'POST'])
def testMock():
try:
if request.method == 'GET':
#获取地址中test参数的值
test = request.args.get('test')
':
return jsonify(tasks1)
':
return jsonify(tasks2)
else:
test = request.form.get('test')
':
return jsonify(tasks1)
':
return jsonify(tasks2)
except IOError:
return("Error:报错了!!!")
else:
return jsonify(error)
if __name__ == "__main__":
app.run(
host = "127.0.0.1",
port = 80,
debug = True
)
启动服务:
python test.pytest.py为上述代码保存文件名
接口调用测试:
http://127.0.0.1/v1/testMock?test=1
Flask让jsonify返回的json串支持中文显示:
默认Flask调用jsonify返回结果是utf8,如果需要返回支持中文显示,只需要在app = Flask(name)下增加一行:
app.config['JSON_AS_ASCII'] = False
Python+Flask搭建mock api server的更多相关文章
- Python Flask搭建一个视频网站实战视频教程
点击了解更多Python课程>>> Python Flask搭建一个视频网站实战视频教程 第1章 课程介绍 第2章 预备开发环境 第3章 项目分析.建立目录及模型规划 第4章 建立前 ...
- Error generating Swagger server (Python Flask) from Swagger editor
1down votefavorite http://stackoverflow.com/questions/36416679/error-generating-swagger-server-pyt ...
- 搭建Mock Server
1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...
- [转]使用flask实现mock server
什么是mock server: http://www.testclass.net/interface/mock_server 使用flask 实现 mock server : http://www. ...
- Python Flask API实现方法-测试开发【提测平台】阶段小结(一)
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇主要是对之前几次分享的阶阶段的总结,温故而知新,况且虽然看起来是一个小模块简单的增删改查操作,但其实涉及的内容点是非常的密集的,是非常 ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- [Python][flask][flask-login]关于flask-login中各种API使用实例
本篇博文跟上一篇[Python][flask][flask-wtf]关于flask-wtf中API使用实例教程有莫大的关系. 简介:Flask-Login 为 Flask 提供了用户会话管理.它处理了 ...
- 使用python+flask让你自己api(教程源代码)
1.背景 ok,这可能是很多朋友和我一样经常使用的各种api,例facebook的.github的.甚至微信api.因此,很多人都想使自己的api.在线教程在这方面它是非常小的,今天,我做了一个平稳, ...
- ubuntu下python flask环境搭建
ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...
随机推荐
- MT【328】向量里的最佳逼近
已知平面向量$\overrightarrow {a},\overrightarrow {b}$满足$|\overrightarrow {a}|=4,|\overrightarrow {b}|=2$.若 ...
- 【BZOJ4002】[JLOI2015]有意义的字符串(数论,矩阵快速幂)
[BZOJ4002][JLOI2015]有意义的字符串(数论,矩阵快速幂) 题面 BZOJ 洛谷 题解 发现我这种题总是做不动... 令\(A=\frac{b+\sqrt d}{2},B=\frac{ ...
- 【js】前端 js/jquery 常用代码和实践
1.获取某天后几天的日期 //d为传入的日期 days为d后面的几天function getAfterDate(d,days){ var dd = new Date(d); dd.setDate(dd ...
- 如何将知网下载的caj文件转换为pdf文件
一.问题描述: 最近在知网搜索论文的时候,经常遇到有的论文没有pdf文件的情况,但不得不吐槽我觉得知网做的阅读器确实是有点烂.所以想将caj文件转化为pdf文件,找到了一个比较好的方法,所以希望记录一 ...
- uploadify多文件上传实例--C#
下载uploadify文件 http://www.uploadify.com/ HTML(视图) <html lang="zh-cn"> <head> &l ...
- 指路Reactive Programming
指路Reactive Programming Mar 02, 2016 in Engineering 我在工作中采用Reactive Programming(RP)已经有一年了,对于这个“新鲜”的辞藻 ...
- SQLServer版本
- SpringMVC配置与使用
一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务 ...
- PLSQL Developer中文乱码问题
前言 使用PLSQL工具进行连接远程oracle时,中文乱码 解决过程 1 查看服务器端编码 select userenv('language') from dual; 2 查看客户端编码 执行语句 ...
- 如何安装 PhoneGap / Cordova (for Win10)
最近需要配置 PhoneGap / Cordova 环境,折腾了一阵子,写篇博客 Mark 一下整个过程. 具体参照了:http://www.assortedgarbage.com/apigee/ 以 ...