需要环境:python 、pycharm(其他编译器也是可以的)、flask。
需要了解概念:
一、MockServer是什么?
答:为实现mock概念而搭建的一个服务,Mock Server 在被测系统与外部系统之间搭建。
MockServer不是一个真实的后端系统, 你只需要让他满足你的接口测试需求即可。
使用场景:
比如:我们自己内部接口需要使用微信,支付宝的支付功能,就需要验证和打钱才能返回固定的成功返回信息,成本太高,我们就可以用MockServer来模拟返回,绕过验证。
二、Flask基本使用
2.1 flask 安装
pip install flask
验证 pip show flask
2.2 启动一个flask服务(本地后端服务)
结果:
点击 域名就会跳转到响应网页,出现 return 的返回值
2.3 请求flask 搭建的服务;代码及结果请求成功获取文本
2.4 动态服务--打开链接后需要加上随机参数
2.5 非动态服务
2.6 指定允许的请求方法
指定get请求方法如下:
如果运行post请求,代码及返回如下:
修改为对应 get方法进行请求,会返回200:(与指定get方法对应上)
还可以修改指定方法,去添加post请求:
@app.route('/zz/', methods=['get','post']) 添加后,不管你是get请求也好,post请求也好都是可以请求成功的。 3、基于flask框架实现Mock Server 3.1例子 假设有一个登录接口,需要输入用户名和密码并获得返回结果。地址后缀名为:/api/login
首先:基于flask搭建 flaskServer
代码如下:mockServer.py 文件夹,下面直接帖代码了
# -*- coding: utf-8 -*- from flask import Flask, request, jsonify # 创建1个实例 app = Flask(__name__) app.config['JSON_AS_ASCII'] = False # 指定路由和请求方法 @app.route('/api/login', methods=['POST']) def login(): """ 登录接口""" # 调试信息,打印请求方法 print(request.method) # 获取请求数据,将数据变成字典 data = request.get_json() # 调试信息, 打印请求的数据 print(data) print(type(data)) # 定义用户名和密码变量,从data中取值 username = data['username'] pwd = data['password'] """ 1)参数为空 2)用户名密码正确 3)用户密码错误 """ if username == '' or pwd == '': """ Flask 框架里,可以用jsonify 返回 json数据 使用 jsonify 时,返回的 http response 的 Content-Type 是application/json 这样做是符合 HTTP 协议的规定的,这就是使用 jsonify 的原因之一 """ return jsonify({ "code": "001", "msg": "用户名和密码不能为空" }) elif username == 'zz' and pwd == '123456': return jsonify( { "adress": { "city": "北京" }, "httpstatus": 200, "info": { "age": 22, "name": "zhx" }, "mag": "success", "token": " 1HJHSJSNKSKSKSNSKHSKSDUIU" } ) else: return jsonify({ "code": "001", "msg": "username or password is wrong" }) if __name__ == '__main__': # debug = True 开启调试模式 app.run(host='127.0.0.1', port="5006", debug=True)
执行上面代码后,在执行下面代码即可;(用户名和密码为空)
当 用户名和密码正确时:
当 密码或者账号错误时:
总结: 完美收官,有些不知道什么场景使用就没有写上去,后期学过之后会继续更新。哈哈,大家加油撒!!!