一、postman的请求

1、url与uri的区别
    url与uri的区别   http://doc.nnzhp.cn/
         http+host(域名)+path路径(uri)
2、get和post的区别
        1)、get请求会显示传参 不安全,post请求更安全
        2)、get获取数据,但如果url超长,url有一个长度限制会出现截断的情况导致请求报错,建议更换类型
        3)、post提交请求,如果格式为text:是文本为纯色,换成json之后颜色变化,适合入参为json类型的
       
3、Json:通用的数据类型,如下:
常用参数类型:long、bigint、Arrays[]、Arrays[String]、Arrays[int]、Object(对应为一个json)
相比较与key-value,json可支持父类,数组arrays[]、Arrays[String]和对象
如果少字段,会报参数缺失
 常用参数类型:
Object:
"farther": {
"name": "大王",
"age": 35
}

参数名 是否必填 类型
farther 是 Object

farther参数:
name 是 String
age 是 int

Object[]
4、开发语言
    前端语言:Vue、React
    后端:Python、Php、Java、Go、C++
postman可以生成代码,还有支持不同的语言
 

5、cookie、session和token
1).cookie前端的缓存,主要保存在前端的浏览器, 会带在url中
2).session后端的缓存, 保存在缓存或是数据库中
3).token:授权 jwt/passport
参数依赖:根据业务场景判断是不是需要,比如注册不需要,查看商品的价格就需要
 
6、chrome的F5检查元素F12,F5刷新之后可以进去
通过token登录:
我的:user123/user123
 
7、注释快捷键: ctrl+? 或是直接//
8、文本编辑器:notepad++ / sublime 
9、chrome控制台抓包       
           network
            Headers
             general:请求接口的基础信息如:接口url、请求类型
Query参数:
String parameters ===> postman params
form ===> postman的body下的form-data
Json

token相关:如
X-Litemall-Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNjA3ODMzOTgwLCJ1c2VySWQiOjEsImlhdCI6MTYwNzgyNjc4MH0.Ftjb6Pj5TeecGftrd2mbGPPfqOB2HEQvYLXQFoR0Ny
             jwt:json web token

10、postman接口参数依赖
       获取参数作为后续接口使用的参数
postman requests请求的tests标签中
var data = JSON.parse(responseBody); // 解析接口返回结果,把数据序列化成一个json对象,这个时候 data 就是接口返回的json数据
var sign = data.login_info.sign; // 定义变量 sign 并赋值,内容是前面接口的login_info字段下的sign字段的数据 ,这个路径叫做json path
pm.globals.set("sign", sign); // 定义一个全局变量,命名为 sign ,值是前面取出来的login_info字段下的sign字段的数据
// 后续使用的时候,需要在填写的地方, 用{{参数名字}}
// 定义的全局变量作用域是 postman整个会话;
// 如果测试过程中切换了host,需要重新开启postman;

var name = "小黑";
pm.globals.set("name",name);

postman检查点
1、通过字符串匹配,检查是否存在字段,采用的是模糊匹配,返回中包含这个内容即代表检查通过;
tests这个tab页的右侧,找到Response Body:Contains string;

pm.test("检查msg", function () {
pm.expect(pm.response.text()).to.include("msg");
});

2、通过jsonpath获取到具体的值来检查与预期结果是否一致,采用的是完全匹配,
tests这个tab页的右侧,找到Response Body:JSON value check;

pm.test("检查errorCode是否为2", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.error_code).to.eql(2);
});

tests["stu_info的第一条数据id为30"] = jsonData.stu_info[0].id === 30;
tests["stu_info的第2条数据id为20"] = jsonData.stu_info[1].id === 20;
11、postman
接口参数的设计思路:
1.是否必填:是否必填
2.字段类型:传其他类型是否报错 string int可以转到string,但是string不能转到int上
4.字段长度:由于是与数据库交互的功能需要检查字段长度
5.是否为空:null /""(空字符串)/
5.接口的联通性:是否为通的
6.业务场景:比较偏向于接口实现的功能逻辑(正常的功能测试)
6.安全性:sql注入
 
接口测试用例模板
百测学习之postman-接口测试-LMLPHP

 12、网络知识

   什么是内网ip?
10.x.x.x
172.16.x.x
192.168.x.x

验证网络是否连通 ping xxx.xxx.xxx.xxx
验证服务是否可用 telnet xxx.xxx.xxx.xxx port

什么是回路地址?
127.0.0.1 localhost

 

 
 
 
 
12-20 06:40