接口测试随笔
·接口文档: https://www.xxxxxxcom.cn/1333080850263964?page_id=6626565325437042
接口是前后端通信的
1.get请求
-用来向服务器获取数据
-get请求没有请求体,数据都是放在url里面的
直接在浏览器里面就可以请求接口
用 ?号拼接参数,多个参数用 & 号来拼接
在postman里面,请求参数写在params里面
http://api.nnzhp.cn/api/user/stu_info?stu_name=xiaohei
http://192.168.1.3:8080api/user/stu_info?stu_name=xiaohei&sex=男
post请求:用来向服务器发送数据
--postman
请求在body里面-
key-value形式的就是在 form-data/x-www-form-urlencoded
postman里面 form-data是可以上传多媒体文件的
www-form是不可以的,其余没有区别
raw-后面选择json,可以传json格式
http请求:
http是一个协议
url 代表你能找到这个地址
请求头:额外的信息,比如用什么浏览器、验签等
请求体:发送的数据
http状态码:
200,2xx-正常
404-找不到页面
4xx-客户端问题
500-服务端出错
3xx-重定向
get和post的区别:
1.post更安全
2.get请求有参数的长度限制,post没有
3.get一般用来获取数据,post来发送数据
4.get没有请求体,只要url和请求头
cookie – 保持会话,看你有没有登录的
cookie:存在本地/客户端的一个键值对
session:存在服务端的一个键值对
客户端有什么操作,请求里面带着cookie,到服务端和session校验
cookie要在headers里面传,格式 key-cookie value-xxx=xxxxx(登录名=cookie的值)
登录xx天有效期,就是cookie的过期时间
浏览器抓包操作:
f12,点XHR能过滤图片等,只看后端接口
postman里面设置变量-右上角小齿轮globals添加,用{{ }}来替代
postman做接口自动化:
左上角-runner-选择项目-选择接口
–后面可以直接从项目里->点run
iterations-循环几次
delay-间隔时间
dada-文件-可以上传文件–文件的第一行是变量的名字,在表单里面用{{变量的名字}}来参数化,注意上传文件后,要选择文件格式test/csv
举例: name,age
xiaobai,18
xiaohei,20
王小月,20
类型-text/csv
postman里面添加检查点:
tests 右侧展示很多检查点
例如:检查字符串是否存在
–Contains string 上面的匹配方法是包含就可以
pm.test("判断登录是否成功", function () {
pm.expect(pm.response.text()).to.include("userId");
});//判断返回值里面有没有userId这个字段
–Get a variable–从结果里面取变量出来,也可以是从文件里面读取变量的值
pm.variables.get("userId_check");
//从文件里面读取变量名为userId_check的值
-JSON value check 精确匹配
pm.test("校验userId是否正确", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.login_info.userId).to.eql( pm.variables.get("userId_check"));
});//校验某个字段的值 = 某个值,某个值就是从文件里读出来的值
jsonData.login_info.userId).to.eql( pm.variables.get(“userId_check”));
});//校验某个字段的值 = 某个值,某个值就是从文件里读出来的值