一、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/....形式来访问接口
原文:https://www.cnblogs.com/bugoobird/p/13021808.html