1、接口测试的概念php
弄清楚接口测试,首先要了解前端(client端)和后端(server端),前端目前主流三个系统,web端和移动端,web端经常使用语言是html、css、js。移动端分为ios和Android,ios经常使用语言是swift、object-c,Android经常使用语言就是Android。然后端(server端)开发语言就比较多了,如java、python、php、.net等等。而接口就是把先后端联系起来的一种数据类型传送方式。测试接口必需要有接口文档,按照接口文档的入参与出参格式对照进行比对。css
接口测试如今用的最多见的数据传送类型就是json。格式以下:html
{
'name':'王五' ,
'sex':男
}前端
接口返回的数据都是json。
key-value
键值对java
目前还有xml这种数据类型。格式以下:python
<name>wangwu</name>ianjia
<sex>nan</sex>ios
接口测试其实就是功能测试,包含各类花样操做数据库。若是是get请求,不须要借助任何工具,浏览器能够直接发送请求。参数须要在路径后面加?添加,多个参数传参参数和参数之间用&隔开如:web
http://ip/api/user/stu_info?stu_name=小四&sex=女&xxx=xx数据库
2、cookie和session的概念json
cookie就是存放在本地的一个键值对。如:
niuhanyang:hahaha12345,实际上key-value中的value值可能会作一些特殊处理。
session就是存放在服务器的一个键值对。如:
niuhanyang:hahaha12345,实际上key-value中的value值可能会作一些特殊处理。
当本地清除缓存后,本地存放的键值对消失,这个时候服务器校验须要从新登陆。目前主流大型网站都实行的是DNS解析,就是将域名解析成IP。
三。http请求及get请求和post请求区别
http请求分为两个部分,请求头和请求体,请求头里面呢是一些额外的信息,好比说用的什么浏览器,cookie,须要什么类型数据,header,请求体里面传的是具体的数据。
get请求和post请求的区别:
一、get请求只有请求头,是没有请求体的。它的数据直接放在url里面的,post请求数据是放在body里面的。
二、get请求有长度限制,post请求没有,在之前的时候技术很差,有长度限制,如今已经就没有了。
三、get请求和post请求同样,只要经过抓包,post请求数据同样能够看到。
http状态码:
200 请求成功
302 重定向
404 客户端发出去的请求不合法
500 服务端内部程序问题 501 服务器还不具备请求功能 502 错误的网关 503 服务器在维护或暂停 504 网关超时
工具篇:
1、postman变量设置
添加变量,点击globals,输入变量名和变量值,引用时是用{{}}符号引用。
2、jmeter
jmeter是一款开源的java开发的一个压力测试工具。
jmeter查看结果树乱码解决方法:
一、在jmeter的bin目录下找到jmeter.properties这个文件添加上sampleresult.default.encoding=utf-8。
二、重启jmeter。
jmeter body data里面有乱码解决方法:
一、在jmeter的bin目录下找到jmeter.properties这个文件添加上jsyntaxtextarea.font.family=Hack。
二、重启jmeter。
jmeter参数化三种方式:
一、在用户自定义变量。
二、函数助手框中的函数生成器。
__random 表明随机数,表明在某个范围值取随机
__counter 计数器函数,从1开始计数。
__time 时间函数,有2种,一种是格式化好的时间 yyyyMMddHHmmss,一种是时间戳,从计算机发明那一天到如今过了多少秒。
jmeter是java开发的,Java里面的时间戳默认是精确到毫秒。
因此你要除以1000才是真正的时间戳。
三、从文件中读取
jmeter断言:
jmeter关联:
一、调用第一个接口,而后从这个接口的返回数据里面拿到某个值
二、放到第二个接口里面来用。