首页 > 编程语言 > 详细

Python学习笔记(26)Mock接口开发

时间:2020-05-31 22:12:37      阅读:45      评论:0      收藏:0      [点我收藏+]

一、Mock接口开发

  知识背景:1.在实际的测试工作中,可能会接入第三方接口,如支付一类,或者未完成开发的接口,此时需要通过模拟接口来实现

       2.测试中可能有多个小组,A开发的项目需要使用B项目组的数据库权限,但A并不想给B数据库权限,可通过模拟接口来传递数据

  使用模块:flask--------------------轻量级web开发框架,通过pip install flask来安装模块

import json
import flask
server = flask.Flask(__name__)#将本python文件作为一个服务

@server.route(‘/login‘,methods=[‘post‘,‘get‘])#变成一个接口,methods支持的请求类型
def login():
    username = flask.request.values.get(‘username‘)#获取入参,支持params和form-data格式
    password = flask.request.values.get(‘password‘)#获取入参
    # flask.request.is_json#判断请求是否为json
    # flask.request.json_module.get(‘‘)#入参是json用这个
    d = {‘error_code‘:0,‘msg‘:‘登录成功‘,‘username‘:username,‘password‘:password}
    return json.dumps(d,ensure_ascii=False)#字典转换为json,并保留汉字

@server.route(‘/api/pay‘,methods=[‘get‘])
def pay():
    d = {‘error_code‘:1,‘msg‘:‘支付成功‘}
    return json.dumps(d,ensure_ascii=False)

@server.route(‘/api/get_bill‘)
def get_bill():
    table_list = [‘app_user‘,‘czm‘]
    table_name = flask.request.values.get(‘table_name‘)
    limit = flask.request.values.get(‘limit‘,50)
    if table_name and table_name in table_list:
        sql = ‘select *from %s limit %s‘%(table_name,limit)
        result = tool.op_mysql(sql)
        data = {‘error_code‘:0,‘msg‘:‘成功‘,‘data‘:result}
    else:
        data = {‘error_code‘:-1,‘msg‘:‘没有权限查询该表‘}
    return json.dumps(data, ensure_ascii=False)


server.run(host=‘192.168.33.1‘,port=8000,debug=True)
#debug=True后,表示修改代码后,自动重启服务,run()方法启动服务,且run只能写一次

  只要在同一个局域网内,浏览器通过ip:port/....形式来访问接口

技术分享图片

  

  

Python学习笔记(26)Mock接口开发

原文:https://www.cnblogs.com/bugoobird/p/13021808.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!