接口测试基础
接口调用,参数拼接:
key-value形式
url?param=value¶m2=value
例子:
https://api.douban.com/v2/book/search?q=邹伟伟
{
count: 1,
start: 0,
total: 1,
books: [
]
}
json串传参
get请求
只能在url里传参了
post和get请求的区别
GET和POST请求:
如果是get请求的话,直接在浏览器里输入就行了,只要在浏览器里面直接能请求到的,都是get请求,如果是post的请求的话,就不行了,就得借助工具来发送。
GET请求和POST请求的区别:
1、GET使用URL或Cookie传参。而POST将数据放在BODY中。
2、GET的URL会有长度上的限制,则POST的数据则可以非常大。
3、POST比GET安全,因为数据在地址栏上不可见。
4、一般get请求用来获取数据,post请求用来发送数据。
其实上面这几点,只有最后一点说的是比较靠谱的,第一点post请求也可以把数据放到url里面,get请求其实也没长度限制,post请求看起来参数是隐式的,稍微安全那么一些些,但是那只是对于小白用户来说的,就算post请求,你通过抓包也是可以抓到参数的。所以上面这些面试的时候你说出来就行了。
其实没有什么太大的区别,最大的区别就是get请求只能通过url传参
http状态码
200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。
300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,
400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面
500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果
接口用例设计
1、通过性:按照接口文档里面的传
2、参数组合,多个参数的时候
3、安全的
权限绕过:卖家传个普通用户的id
绕过验证:商品200块钱,你传1块钱
关键参数有没有加密
密码的安全规则
4、异常,说白了就是不按照你要求的来
5、根据你自己的业务逻辑来
cookie
其实就是存在你本地的一个键值对
session
存在服务端的一个键值对
1、jmeter
————time函数时间格式
yyyy-MM-dd HH:mm:ss
__uuid 取唯一值
samplies 总共发出的请求数量
averger 是响应时间 单位是毫秒
thoughput 这个tps,每秒钟处理的请求数量