postman接口测试


1,接口签名sign原理以及实战
一般出现在BAT ,金融项目,银行项目.
1.什么是接口签名
使用appid ,appsecret,各种参数,时间戳按照一定的规则组成用来识别你的账号有没有访问api接口的
权限的字符串。组合之后在经过加密,这个加密后的字符串叫sign
2.为什么做接口签名
(1)防止接口被伪装攻击
(2)防止接口被篡改
(3)防止被重放
3.接口签名的规则有很多,每个公司不- -样 ,大同小异

(1)获取到所有的参数params和body ,把所有的参数的key安装升序排列,{C:3,a:2,b:1} 改成

{a:2,b:1,c:3}
(2)把参数名和参数的值用=连接成字符串,多个参数之间用&连接。
a=2&b=1&c=3
(3)用申请到的appid和appsecret拼接到字符串的头部
appid=admin&appsecret=123&a=28b=1&c=3
(4)获得时间戳并且拼接到字符串的尾部
appid=admin&appsecret=123&a=2&b=1&c-3&timestamp=23523523
(5)进行32的MD5加密,加密之后再大写.
sign=OEWEFWE23234235SDFSDSDF
(6)然后把sIgn放到params里面, body里面,请求头里面

//获取到apiid和apisecret
var api_id = "test";
var api_secret ="123";
console.log(api_id);
console.log(api_secret);
//获得时间戳
var timestamp = new Date().getTime();
console.log(timestamp);
//获得到params里面传输的参数
var params_value = pm.request.url.query.members;
console.log("params_value="+params_value);
//获得body里面传输的参数
var body_value = request.data;
console.log("body_value1="+JSON.stringify(body_value));
//讲params里面传输的参数和body里面传输的参数组合成一个json对象
for(var i=0;i<params_value.length;i++){
    body_value[params_value[i].key]=params_value[i].value;
}
console.log("body_value2="+JSON.stringify(body_value));
//把body_value2的key按照升序排序
body_value=objectsort(body_value);
console.log("body_value3="+JSON.stringify(body_value));
//把对象的key升序排序函数
function objectsort(obj){
    var new_key=Object.keys(obj).sort();
    console.log(new_key);
    var arr={};
    for(var i=0;i<new_key.length;i++){
        arr[new_key[i]]=obj[new_key[i]];
    }
    return arr;
}
//把json对象转化为key=value&key=value这种格式
var new_string = "";
for(var i=0;i<body_value.length;i++){
    new_string =+body_value[i].key+"="+body_value[i].value+"&";
}
console.log("new_string="+JSON.stringify(new_string));

2,cookie,seesion,token详解和区别

cookie
1.web服务器产生, 保存在浏览器。
2.为什么需要cookie,
因为http协议特点是无连接的,无状态的。( 没有会员卡)
会员卡: cookle.保存积分,向品信息。
3.cookie记录的数据。
用键值对的方式记录。第一-次访问服务器 ,服务器就会通过set-cookie把一些cookie信息发送给
客户端,客户端保存起来,然后在第2-N的时候再把cookie的信息传给服务器。

name=?;value=?;domain=?;path=?

 

 

name:名称
value:值,
domain:域名
path:路径
expires/max-age最大失效时间, session回话级cookie , 2023.持久。
size:尺寸.

cookie的作用
1.实现接口关联。( 借助于token,token字符串就是通过cookle传输的。)
2.记住用户登录状态(借助于session,session字符串就是通过cookie传输的。php_session_id)
3.ui自动化里面可以用于跳过验证码。

 

session的作用:

1.web服务器产生,保存在服务器内存。但是通过cookle ,把sesslon_ id的字符串。传输到客户端。

当你再一-次请求服务器的时候,那么会自动化带上cookie信息。默认时间30分钟。

 

测试:我们只测当sesson失效之后,是否所有的页面都跳转到登页。

 

token:

1.web服务器产生,保存在服务器的文件或者数据库里面。一般情况下,接口测试里面通过接口提取,

一般是通过登录接口获取。

 

相同点:
不管是cookie。session,token,都是服务器产生的。只是保存在不同的地方.

不同点:
cookie保存在客户端,所以不安全,所以一般情况下.用cookie保存一些除用户名和密码之后的数据.

而通过session用于保存登录信息状态。cokie最多保存4k,一个站点最多只能保存20个token。

 

posted @ 2022-10-01 17:47  进一步海阔天空  阅读(24)  评论(0编辑  收藏  举报