1688平台接口API接口测试规范总结
目录
1、参数校验
1688.custom
公共参数
请求地址:申请1688官方API接口
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
key | String | 是 | 调用key(必须以GET方式拼接在URL中) |
secret | String | 是 | 调用密钥 |
api_name | String | 是 | API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] |
cache | String | 否 | [yes,no]默认yes,将调用缓存的数据,速度比较快 |
result_type | String | 否 | [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读 |
lang | String | 否 | [cn,en,ru]翻译语言,默认cn简体中文 |
version | String | 否 | API版本 |
请求参数
请求参数:api=
参数说明:其它参数:参考1688开放平台接口文档,与1688的参数一致 https://open.1688.com/api/apidocdetail.htm
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
api | String | 1688开放平台的接口名(如:com.alibaba.trade/alibaba.trade.createCrossOrder(跨境订单创建 )) | |
session | String | 授权换取的session_id | |
[其他参数] | String | 其它参数:参考1688开放平台接口文档,与1688的参数一致 https://open.1688.com/api/apidocdetail.htm |
响应参数
Version: Date:
名称 | 类型 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
response | Mix | 0 | [] | 响应内容,不同的接口返回内容不一样,具体参考 https://open.1688.com/api/apidocdetail.htm |
2、返回值校验
3、命名规范
4、业务判断
5、安全校验
1、参数校验
1、正常场景
(1)功能按照接口规范要求实现
(2)返回状态码200
2、异常场景
(1)参数为空
直接为空
null
[]
{}
(2)参数错误
(3)无操作权限
(4)特定的业务逻辑报错,涉及敏感的报错不应该有明确的原因,例如登录失败就不能报成密码错误或手机号码错误
(5)单位标准,时间,服务端使用时间戳还是直接日期类型,在接口定义里前后端要一致
(6)重复传参,字段唯一性校验,发送两次请求,接口需要做重复判断处理
3、必填参数
(1)接口文档要求必填的字段
(2)必填参数传参
传参类型和内容都正确
传参类型错误,参数类型非法,例:int传string
必填参数数值范围错误,数值越界
必填参数为空格,前面,中间,尾部
(3)必填参数不传,必填参数全部为空,必填参数部分为空
(4)必填参数组合,有些参数需要配合一起使用时需组合测试
4、非必填参数
(1)接口文档规范要求非必传的参数
(2)正向,所有参数均传正确
(3)逆向
某个参数为空,需要做判空处理
非必填参数少传一个,接收方需要处理
5、升级接口
(1)什么情况下需要升级接口
客户端不支持的接口
业务上有较大变更,和老业务有冲突
(2)升级接口影响
对新版本APP有影响,老版本没有影响
新接口和老接口调用同一个底层,底层有修改,老版本正常回归
6、更新接口字段
(1)新版本和老版本可以共用一个接口,只需要新增字段
(2)更新字段影响
新增字段需要对老版本做兼容处理
新增字段必填,需要做版本控制
新增字段不必填,老版本要兼容
2、返回值校验
1、返回数据是否必要
2、返回数据数量需要限制
案例:
电商下单接口测试环境返回2000多张优惠券
推荐服务挂掉,电商h5页面接口返回全部商品
3、契约验证
如上
3、命名规范
接口、字段命名的含义准确且拼写无误
4、业务判断
1、约束条件
(1)数值限制,例如:规定达到什么数值才能被使用,未达到不可以使用
(2)状态限制,例如:删除状态的数据不可被其他业务关联
(3)关系限制,例如:例如联网锁需要先创建房东,房源才能关联锁
(4)权限限制
防越权
数据权限,没有对应权限的不应返回响应的数据
2、操作对象,例如:非自己创建的数据,不能修改
3、时序分析,例如:要先做完A操作才能进行B操作,即前置条件需要有,下个接口才能进行
5、安全校验
1、防遍历校验
2、防越权校验
3、安全校验,xss、sql注入
4、隐私信息,入参、反参、日志
5、数据加密,入参、下行加密
6、频次限制
7、内容安全