接口规范

2017-12-12  本文已影响0人  Lijy_李俊阳

1.请求常用符号

符号 解释
0或者一项,要么一项要么没有
* 0到N项,可有可无
+ 1到N项,至少一项可多项
1 只能填一项
2 数据长度描述

Fx表示指定x位长度
Vx表示数据最长是x位,长度可变

2.(报文)请求字符串写法

xml

<request>
<operatorId>qqqq</operatorId>
<province>qqqq</province>
<city>qqqq</city>
<district>qqqq</district>
<channelId>qqqq</channelId>
<channelType>qqqq</channelType>
<promotionType>qqqq</promotionType>
<commodityList>
<commoditItem>
<commodityType>qqqq</commodityType>
<commodityCode>qqqq</commodityCode>
</commoditItem>
<commoditItem>
<commodityType>qqqq</commodityType>
<commodityCode>qqqq</commodityCode>
</commoditItem>
</commodityList>
</request>

Json

{
"request": {
"operatorId": "qqqq",
"province": "qqqq",
"city": "qqqq",
"district": "qqqq",
"channelId": "qqqq",
"channelType": "qqqq",
"promotionType": "qqqq",
"commodityList": {
"commoditItem": [
{
"commodityType": "qqqq",
"commodityCode": "qqqq"
},
{
"commodityType": "qqqq",
"commodityCode": "qqqq"
}
]
}
}
}

3.字符编码

1不同的字节数
2不同编码表
12345678123456781234567812345678

编码格式 国家 字节字数
ASCLL 美国 最基础的编码表
ISO-8859-1 欧洲和美国 一个字节4个字
GBK 中国用的字符 2个字节,两个字;
UTF-8 全球所有字符 4个字节,一个字

4.安全机制

MD5单向加密:明文——加密(不可以解密)——只能对比加密结果

客户端

MD5签名(防篡改)

1.要加密字段;
2.要字段按照一定顺序排列;
3.可选字段若为空是否加密;
4.key字符串;
5.md5加密;
6.把加密的请求报文发到服务端;
7.接收请求;
8.服务端按照同样的方式加密一次;
9.对比两次加密结果是否一致.

进行自动化测试

1.key串,加密字段,排列,为空处理方法。
2.MD5类。
3.BeanShellPostProcessor取出加密参数值,调用MD5加密然后将结果放入变量池。
4.报文里通过参数化变量取签名值。

5.RSA加密(防止信息泄漏,也防止篡改)

双向加密:明文——加密成密文——解密——明文
1.A向B请求;
2.B会生产两个证书(公钥,私钥);
3.A请求字符串加上公钥加密传给B,B用私钥解密请求字符串.

自动化测试

1要公钥证书,2 RSA加密算法,3生成加密字符串参数化传入接口报文
B回调A流程
A会生产两个证书(公钥,私钥)公钥给B
B发起回调请求 ,使用A的公钥加密报文
A用私钥对B报文解密

6.验证码

目的:防止自动登录;
原理:服务端随机生成验证码(图片,短信,语音)客户端输入验证码要与服务端一致;

自动化测试

方法一:让开发把验证码功能关闭
方法二:让开发改代码,放通特定验证码(万能验证码)if(){}elso

7.界面session会话和cookie

Http报文3部分

1请求行(地址,请求方法,版本等)
2请求头(对请求的描述)
3请求正文(业务数据)

浏览器cookie

是浏览器本地数据,可以向cookie里面放东西
1.登录的时候服务器会生成一个sessionID值,本地备份一份;
2.sessionID值存入到响应报文响应头的cookie里面;
3.浏览器接收到响应报文,把cookie存入到浏览器本地
4.下一次发请求,会自动把浏览器中放入cookie值取出来,放到请求头的cookie里面;
5.服务器收到请求会到请求头的cookie里查是否有;sessionID值如果有跟服务器本地做对比一样就说明登录过了;
6.根据sessionID找到登录时候的用户拿到用户各类信息.
token
sessionID

上一篇下一篇

猜你喜欢

热点阅读