使用flask进行Mock Server模拟接口操作及问题解决
1.flask介绍
flask是一个轻量级的python web 微框架
2.Mock Server介绍
Mock Server是一个开源的模拟服务器,它可以定义和记录API交互,支持各种http方法(get、post、put、delete),可以自定义响应内容,例如返回静态文件
可以使用flask来搭建一个mock模拟服务
3.模拟接口
先安装flask
pip install flask
导入该模块:
from flask import Flask,request
1.编写flask模拟接口,写一个模拟接口的py文件:
先创建一个flask对象,__name__是一个魔术方法,用来表示当前的这个py文件(也叫模块)
app = Flask(__name__)
2.模拟一个访问网页首页的接口:
if __name__ == '__main__':
app.run(debug=True)
使用main方法来启动服务,启动服务后,会显示网页的ip地址和端口号
在上面实例中,使用@app.route('/')装饰器定义了一个根路由/
(/index
),当用户访问根路由时,会调用index()函数并返回字符串"这是网页的首页"
然后使用ip地址和端口号访问网页,加上代码中规定的路径就可以访问首页了,代码里面规定了两种方式(/或者"/index")都可以访问首页
3.模拟一个登录接口:
简单代码演示:
当我们使用ip地址+端口号进行访问时,提示在服务器上找不到url
解决:404:The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.问题
然后我尝试将默认的端口5000改成8899,在main函数参数上新增一个post=8899,再次访问就可以解决现这个找不到url的问题,同时报错:405 方法不被允许
解决:405 Method Not Allowed问题
出现405 方法不被允许,在网页上访问不了,F12打开控制台,发现我接口里面定义的是post方法,页面的login接口是get方法
但是使用postman发送请求是成功的,说明可能在服务器上,post方法不被允许,我们需要使用客户端来发送post方法
为了解决这个问题,我们可以通过重新编写一个登录脚本的方式来尝试解决
然后再次启动mock server服务,并且运行当前脚本,问题就解决啦,成功返回接口定义的“登录页面”信息
使用flask进行Mock Server模拟接口操作及问题解决的更多相关文章
- [转]使用flask实现mock server
什么是mock server: http://www.testclass.net/interface/mock_server 使用flask 实现 mock server : http://www. ...
- vue中用mock制造模拟接口(本文主要解决坑),一定要看完哦
最近新入职一家公司,后端造接口速度很慢,想来想去还是搞一套模拟接口,来满足开发需求,有人会问,我造一个死数据不就可以了吗?或者说,后端数据结构都没出来,字段我怎么定? 问这个问题的人不奇怪,我之前也有 ...
- Mock Server之接口信息从DB获取
上一篇,写了Mock Server的基础实现与被测系统的对接 当我们mock的接口信息.返回值等时不时维护时,都要在代码中编辑,那体验就不太好了,如果这些可以直接在浏览器编辑就好了. 因此对后端部分做 ...
- Go语言用mock server模拟调用(httptest)
mock是个好东东, 在大项目或大公司,很实用, 因为很多环境不是随时在开发环境可得的. package main import ( "testing" "net/htt ...
- Python+Flask搭建mock api server
Python+Flask搭建mock api server 前言: 近期由于工作需要,需要一个Mock Server调用接口直接返回API结果: 假如可以先通过接口文档的定义,自己模拟出服务器返回结果 ...
- Mock Server的搭建
一.概述 我们系统与第三方开票系统有交互,场景是我们系统请求第三方开票系统,第三方开票系统根据我们的请求数据,生成开票信息然后返回发票号或异常信息,我们根据返回的信息做对应的处理.因为配合上存在一些障 ...
- django 实现 Mock Server
大佬 flask 实现mock server地址:https://github.com/yinquanwang/MockServer 参考使用django实现了一下,并已部署到EasyTest测试平台 ...
- mock server 实现get方法的接口(二)
mock server 实现get方法的接口(二) 下面是实现查询品牌的接口demo: 1.当response数据量小的时候,可以直接使用json, mock会自动设置headers为applicat ...
- Mock Server之与被测系统对接(python+flask)
第一步:获取入参与返回结果 先通过postman.jmeter.自己写脚本之类的方式请求我们的mock server,试着获取入参与对应的返回值,这里我用的是robotframework + Requ ...
- 使用flask进行mock接口
在测试日常过程中,我们经常会遇到因为环境问题,或者是因为上下游,前后端开发进度不一,提测时间不一等情况.这时候我们可以通过mock的方式去完成一些操作.今天给大家分享一个通过flask去mock接口, ...
随机推荐
- ubuntu 16.04 安装Python3.8虚拟环境
virtualenv为应用提供了隔离的Python运行环境,可以解决不同应用间多版本的冲突问题. virtualenv会把用户指定版本的python复制到虚拟环境下,并修改相关的环境变量,使得pyth ...
- win10缺少SNMP服务解决办法
一,以管理员的身份启动Powershell 第一步在win10系统任务栏上,点击搜索图标,输入"PowerShell",如下图所示: 2 第二步搜索到PowerShell之后,鼠标 ...
- .net core下使用事件总线
随着微服务的火热,DDD(领域驱动设计模式)思想风起云涌,冲击着整个软件生态系统.其中,事件总线那是必须知道的了,于是我便抱着一个学习DDD的心态搭建了一个博客网站,目前该网站正在建设 ...
- 基于surging的木舟IOT平台如何添加网络组件
一 . 概述 为了弥补代码的遗失,木舟IOT平台正在加班加点进行研发,后面不只是针对于IOT设备接入上报,告警,视频管理,组态数据可视化大屏,后面还会有快速搭建微服务平台,利用surging.cli工 ...
- [Udemy] AWS Certified Data Analytics Specialty - 5.Visualization
QuickSight SPICE是 QuickSight 的加速技术
- Dell存储备份告警:
创建时间 修改日期 对象名称 消息 类型 告警状态 已确认 告警定义 类型 23-3-12 11:59:26 23-3-12 11:59:37 copyMirrorswap 2 CMs Operati ...
- JavaScript – XMLHttpRequest
前言 XMLHttpRequest 是 JavaScript built-in 的一个 class,用于发送 HTTP 请求,俗称 AJAX. 这几年 XMLHttpRequest 已经逐渐被 Fet ...
- ASP.NET Core – Data Protection & Azure Storage + Azure Key Vault
前言 以前就写过很多篇了 Asp.net core 学习笔记 ( Data protection ) Asp.net core 学习笔记 Secret 和 Data Protect Azure key ...
- HTML – Native Form 原生表单功能集
前言 以前写过 form 表单, 但很不齐全, 这篇想做一个大整理. 主要讲讲在网站中使用原生 Form 的功能, 不足和扩展. 前端是原生的 HTML/JS, 后端是 ASP.NET Core Ra ...
- Asp.net core 学习笔记之 authentication + authorization + identity + identity server 4 + angular 第六篇 (authorization 之 simple authorization, role based, claim based, policy based)
authorization 授权是什么 ? 就是某个人必须符合某些条件才能做某些事儿 某个人指的是登入的 user 某些条件指的是 policy requirements 事儿指的是访问 contro ...