python mock接口怎么用_Python-Mock接口测试

客户端代码:

import requests

body={

'd1':'hi',

'd2':'falsk12312312'

}

resp=requests.post('http://127.0.0.1:9090/post',data=body)

print(resp.text)

结果如下:

二:mock接口测试实战案例

接口文档如下:

极简交易支付接口

接口路径: /trade/purchase

请求方式: POST

请求参数:

参数

类型

是否必填

最大长度

描述

示例值

out_trade_no

String

64

商户订单号,64个符以内、可包含字母、数字、下划线;需保证在商户端不重复

20150320010101001

auth_code

String

64

支付授权码,25~30开头的长度为16~24位的数字,实际字符串长度以开发者获取的付款码长度为准

28763443825664394

subject

String

356

订单标题

Iphone6 16G

buyer_id

String

28

买家的支付宝用id,如果为空,会从传入的码值信息中获取买家 ID

2088202954065786

seller_id

String

28

如果该值为空,则默认为商户签约账号对应的支付宝用户ID

2088102146225135

total_amount

Price

11

订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]

如果同时传入【可打折金额】和【不可打折金

额】,该参数可以不用传入;如果同时传入了

【可打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【可打折金额】+【不可打折金额】

88.88

响应参数:

请求头:键:Content-Type 值:application/json

请求示例:

{

'out_trade_no':'20150320010101001',

'auth_code':'28763443825664394',

'buyer_id':'2088202954065786',

'seller_id':'2088102146225135',

'subject':'Iphone6',

'total_amount':'88.88',

}

成功返回示例:

{

'code':'40004',

'msg':'Business Failed',

'sub_code':'ACQ.TRADE_HAS_SUCCESS',

'sub_msg':'交易已被支付',

'trade_no':'2013112011001004330000121536',

'out_trade_no':'6823789339978248'

}

失败返回示例:

{'error': {'password': '密码错误'}, 'success': 'false'}

搭建mock服务端:

import random

import time

from flask import Flask,request,json

#实例化一个web服务对象

app=Flask(__name__)

#创建一个方法来处理请求

#定义一个路由--访问服务的根目录就可以得到结果

#构造一个接受post请求的响应

#处理极简交易接口

@app.route('/trade/purchase',methods=['POST'])

def purchase():

#拿到客户端返回的数据

res=json.loads(request.get_data())

out_trade_no=res['out_trade_no']

auth_code=res['auth_code']

data={

'code': '40004',

'msg': 'Business Failed',

'sub_code': 'ACQ.TRADE_HAS_SUCCESS',

'sub_msg': '交易已被支付',

'trade_no': '2013112011001004330000121536',

'out_trade_no': '6823789339978248'

}

#把out_trade_no改成客户端发送过来的数据

data['out_trade_no']=out_trade_no

data['trade_no']=time.strftime('%Y%m%d%H%M%S')+str(random.random()).replace('0.','')

#验证授权码

if auth_code !='28763443825664394':

return {'coode':'50000','msg':'请求码验证失败'}

return data

if __name__ == '__main__':

#运行服务,并确定服务运行的IP和端口

app.run('127.0.0.1','9090')

客户端代码:

#利用request发送post请求给服务端

import requests

data={

'out_trade_no':'20150320010101001',

'auth_code':'2876344382566439',

'buyer_id':'2088202954065786',

'seller_id':'2088102146225135',

'subject':'Iphone6',

'total_amount':'88.88',

}

resp=requests.post('http://127.0.0.1:9090/trade/purchase',json=data)

print(resp.json())

返回结果如下:

这样就完成了mock接口测试了,小伙伴们学会了吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值