python+flask开发mock服务

news2024/11/29 4:48:34

目录

什么是mock?

什么时候需要用到mock?

如何实现?

python+flask自定义mock服务的步骤

一、环境搭建

1、安装flask插件

2、验证插件

二、mock案例

1、模拟 返回结果

2、模拟 异常响应状态码

3、模拟登录,从jmeter中获取用户名和密码


什么是mock?

简单来说,就是模拟接口。

什么时候需要用到mock?

1、依赖的接口未实现
2、依赖的接口响应速度慢
3、针对接口模拟各种异常

如何实现?

1、使用mock现有工具-->moco
2、自定义mock
    ①编写一个函数,直接return模拟的值
    ②使用接口开发框架编写要模拟的接口 flask

接下来,我们就使用python+flask来实现自定义mock。

python+flask自定义mock服务的步骤

一、环境搭建

1、安装flask插件

pip install flask

2、验证插件

flask --version

二、mock案例

1、模拟 返回结果

from flask import Flask

app = Flask(__name__)
# 添加此配置,让接口返回值的中文不转码(保持显示中文)
app.config['JSON_AS_ASCII'] = False


# 定义接口 模拟返回结果
@app.route("/login", methods=["post"])
def login():
    return {"status": 200, "msg": "恭喜您,登录成功!", "token": "xxxxxx"}

# 运行
app.run()

2、模拟 异常响应状态码

from flask import Flask

app = Flask(__name__)
# 添加此配置,让接口返回值的中文不转码(保持显示中文)
app.config['JSON_AS_ASCII'] = False


# 定义接⼝ 模拟异常响应状态码
@app.route("/login/lgy", methods=["get"])
def lgy():
    return "error page", 404, {"Content-Type": "application/json"}


# 运行
app.run()

3、模拟登录,从jmeter中获取用户名和密码

"""
需求: ⽤户名为admin 密码为:123456 返回登录成功!否则返回⽤户名或密码错误,请求参数
格式为:form
"""
from flask import Flask, request

app = Flask(__name__)
# 添加此配置,让接口返回值的中文不转码(保持显示中文)
app.config['JSON_AS_ASCII'] = False


@app.route('/my_login', methods=["post"])
def my_login():
    username = request.form.get("username")
    pwd = request.form.get("password")
    if username == 'admin' and pwd == '123456':
        data = {"status": 200, "msg": "恭喜您,登录成功!", "token": "xxxxxx"}
        return data
    else:
        data = {"status": 200, "msg": "用户名或密码错误"}
        return data


# 运行
app.run()

jmeter取样器设置:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/344873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka 消费者

与生产者对应的是消费者,应用程序可以通过 KafkaConsumer 来订阅主题,并从订阅主题中拉取消息。 消息者与消费组 消费者(Consumer)负责订阅 Kafka 中的主题(Topic),并且从订阅的主题上拉取消息…

低代码开发平台|制造管理-生产过程管理搭建指南

1、简介1.1、案例简介本文将介绍,如何搭建制造管理-生产过程。1.2、应用场景先填充工序信息,再设置工艺路线对应的工序;工序信息及工艺路线列表报表展示的是所有工序、工艺路线信息,可进行新增对应数据的操作。2、设置方法2.1、表…

女生做大数据有发展前景吗?

当前大数据发展前景非常不错,且大数据领域对于人才类型的需求比较多元化,女生学习大数据也会有比较多的工作机会。大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度,女生比较适合大数据采集和大数据分析方向的工作岗位。 大数据采…

【沁恒WCH CH32V307V-R1与Arduino的串口通讯】

【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】1. 前言2. 软件配置2.1 安装MounRiver Studio3. UASRT项目测试3.1 打开UASRT工程3.2 CH307串口发送数据到Arduino实验3.3 CH307串口接收数据Arduino实验5. 小结1. 前言 本例演示了采用CH307串口3与Arduino软串口收发通信&…

Python的深、浅拷贝到底是怎么回事?一篇解决问题

嗨害大家好鸭!我是小熊猫~ 一、赋值 Python中, 对象的赋值都是进行对象引用(内存地址)传递, 赋值(), 就是创建了对象的一个新的引用, 修改其中任意一个变量都会影响到另一个 will …

第七届蓝桥杯省赛——5分小组

题目:9名运动员参加比赛,需要分3组进行预赛。有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法。该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DF…

VFIO软件依赖——VFIO协议

文章目录背景PCI设备模拟PCI设备抽象VFIO协议实验Q&A背景 在虚拟化应用场景中,虚拟机想要在访问PCI设备时达到IO性能最优,最直接的方法就是将物理设备暴露给虚拟机,虚拟机对设备的访问不经过任何中间层的转换,没有虚拟化的损…

2023年小鹏新能源汽车核心部件解密

小鹏主要硬件清单(G9车型) 感知层 从硬件上看,G9搭载两颗NVIDIA DRIVE Orin 智能辅助驾驶芯片,算力达到 508 TOPS。此外,全车周边31 个感知元器件,(800万双目、4个300万侧前侧后、4个130万环视、1个170万后视、1个100万DMS)、12个超声波雷达、5个毫米波雷达、2个速…

TeamFiltration:一款针对O365 AAD账号安全的测试框架

关于TeamFiltration TeamFiltration是一款针对O365 AAD账号安全的跨平台安全测试框架,在该工具的帮助下,广大研究人员可以轻松对O365 AAD账号进行枚举、喷射、过滤和后门植入等操作。TeamFiltering与CrackMapExec非常相似,它可以创建并维护一…

四大垃圾回收算法七大垃圾回收器

JVM的运行时内存也叫做JVM堆,从GC的角度可以将JVM分为新生代、老年代和永久代。其中新生代默认占1/3堆内存空间,老年代默认占2/3堆内存空间,永久代占非常少的对内存空间。新生代又分为Eden区、SurvivorFrom区和SurvivorTo区, Eden…

Python基础知识复习以及第三方库openxel的初步使用

目录文件python文件打开函数Python中的split函数详细解释List对象list添加元素的三种方法删除元素反转Python第三方库openxel的初步使用excel文件对象open操作excel入门文件 python文件打开函数 语法:open(file, mode ‘r’, buffering-1, encodingNon…

【高性价比】初学者入门吉他值得推荐购买的民谣单板吉他品牌—VEAZEN费森吉他

“在未知的世界里,我们是一群不疲不倦的行者,执念于真善美,热衷于事物的极致。我们抽丝剥茧,不断地打败自己,超越自己,我们无所畏惧终将成为巨人。”这是VEAZEN吉他官网首页上很明显的一段话,也…

Learning C++ No.9【STL No.1】

引言: 北京时间:2023/2/13/18:29,开学正式上课第一天,直接上午一节思想政治,下午一节思想政治,生怕我们……,但,我深知该课的无聊,所以充分利用时间,把我的小…

MongoDB 索引

MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须全集合扫描选取符合查询条件的记录。这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟&#x…

2023年城投债投资研究报告

第一章 概况 城投债又称“准市政债”,是地方投融资平台作为发行主体,公开发行企业债和中期票据,其主业多为地方基础设施建设或公益性项目。从承销商到投资者,参与债券发行环节的人,都将其视为是当地政府发债。伴随“打…

高压放大器在超声导波钢轨传播中的应用

实验名称:高压放大器在超声导波钢轨传播中的应用研究方向:无损检测测试目的:超声导波具有传播距离远、检测距离长的特点,在钢轨无损检测领域受到越来越多的关注。本文使用有限元仿真方法和现场实验方法,对钢轨各模态超…

四类(七种)排序算法总结

一、插入排序 基本思想: 每次将一个待排序的对象,按其关键码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。即边插入边排序,保证子序列中随时都是排好序的。 基本操作——有序插入&#xff…

搭建pclpy环境与读取pandaset数据并转换为pkl格式为pcd格式

1.搭建pclpy环境 问题:需要处理pcd文件,于是开始摸索搭建环境,有python-pcl,但是安装过程频频出现问题,于是转向pclpy。 参考链接:GitHub - davidcaron/pclpy: Python bindings for the Point Cloud Libr…

通达信量化接口怎么开发的?

通达信量化接口从广义上看,其实是面对股市有利的系统开发,通过智能化或者说程序化的交易体系直接构建了持仓下单的简单运作方式,对此,通达信量化接口又是如何开发出来的呢?一、函数的调用:相关函数调用结果…

Python语言零基础入门教程(十七)

Python 文件I/O 本章只讲述所有基本的 I/O 函数,更多函数请参考Python标准文档。 #### 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式。此函数把你传递的表达式转换成一个字符串表达式,并将结果写…